@mailwoman/corpus 9.3.0 → 10.0.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 +16 -0
- package/lib/adapters/geonames/adapter.ts +3 -3
- package/lib/adapters/geonames/postal/adapter.ts +122 -0
- package/lib/adapters/index.ts +39 -32
- package/lib/adapters/openaddresses/adapter.ts +4 -7
- package/lib/adapters/osm/adapter.ts +278 -0
- package/lib/adapters/overture/adapter.ts +22 -7
- package/lib/adapters/utils/index.ts +1 -1
- package/lib/adapters/wof/admin/json/adapter.ts +239 -0
- package/lib/adapters/wof/json-rows.ts +181 -0
- package/lib/adapters/wof/postalcode-json/adapter.ts +196 -0
- package/lib/au/adapters/gnaf/adapter.ts +152 -0
- package/lib/au/adapters/gnaf/assemble.ts +225 -0
- package/lib/cz/recipes/pcfirst-preposition.ts +112 -0
- package/lib/de/recipes/locale.ts +360 -0
- package/lib/fr/adapters/ban/adapter.ts +159 -0
- package/lib/fr/recipes/admin-split.ts +243 -0
- package/lib/fr/recipes/bare-street.ts +171 -0
- package/lib/fr/recipes/fragment.ts +334 -0
- package/lib/fr/recipes/lieudit.ts +274 -0
- package/lib/fr/recipes/order.ts +246 -0
- package/lib/fr/tools/fetch/ban.ts +289 -0
- package/lib/index.ts +1 -1
- package/lib/international/recipes/locale.ts +598 -0
- package/lib/jp/tools/fetch/houjin.ts +141 -0
- package/lib/kr/adapters/juso/label-rows.ts +259 -0
- package/lib/kr/adapters/localdata/align.ts +299 -0
- package/lib/kr/adapters/localdata/key-index.ts +185 -0
- package/lib/kr/adapters/localdata/permit-rows.ts +186 -0
- package/lib/kr/tools/fetch/juso.ts +172 -0
- package/lib/kr/tools/fetch/localdata.ts +206 -0
- package/lib/nl/recipes/postcode.ts +117 -0
- package/lib/no/recipes/fragment.ts +213 -0
- package/lib/no/recipes/street/index.ts +91 -0
- package/lib/no/recipes/street/led.ts +135 -0
- package/lib/recipes/anchor-absorption.ts +2 -2
- package/lib/recipes/bare/country.ts +95 -0
- package/lib/recipes/bare/postcode/eval.ts +99 -0
- package/lib/recipes/bare/postcode/index.ts +327 -0
- package/lib/recipes/boundary-stress.ts +3 -1
- package/lib/recipes/country-balanced.ts +3 -2
- package/lib/recipes/house-venue.ts +2 -1
- package/lib/recipes/index.ts +28 -21
- package/lib/recipes/intersection.ts +3 -2
- package/lib/recipes/po/box/cedex/au-nz.ts +82 -0
- package/lib/recipes/po/box/cedex/ca.ts +58 -0
- package/lib/recipes/po/box/cedex/fr.ts +76 -0
- package/lib/recipes/po/box/cedex/phrases.ts +108 -0
- package/lib/recipes/po/box/cedex/recipe.ts +203 -0
- package/lib/recipes/po/box/cedex/sources.ts +189 -0
- package/lib/recipes/po/box/cedex/types.ts +35 -0
- package/lib/recipes/po/box/cedex/us.ts +69 -0
- package/lib/recipes/po/box/cedex/vocabulary.ts +106 -0
- package/lib/recipes/po/box/cedex.ts +9 -0
- package/lib/recipes/po/box/index.ts +128 -0
- package/lib/recipes/scaffold.ts +18 -42
- package/lib/recipes/street/affix.ts +807 -0
- package/lib/recipes/street/bare.ts +102 -0
- package/lib/recipes/street.ts +3 -1
- package/lib/recipes/sub/venue/context.ts +149 -0
- package/lib/recipes/sub/venue/index.ts +997 -0
- package/lib/recipes/sub/venue/sources.ts +739 -0
- package/lib/recipes/trailing-region.ts +9 -9
- package/lib/recipes/unit.ts +3 -3
- package/lib/sg/recipes/register.ts +270 -0
- package/lib/sg/tools/fetch/acra.ts +179 -0
- package/lib/si/recipes/bare-village.ts +99 -0
- package/lib/south-asia/recipes/register.ts +214 -0
- package/lib/synthesizers/anchor-absorption.ts +1 -1
- package/lib/synthesizers/locale.ts +261 -0
- package/lib/synthesizers/street.ts +1 -1
- package/lib/synthesizers/utils.ts +2 -2
- package/lib/tools/audit.ts +3 -2
- package/lib/tools/corpus-stats.ts +3 -3
- package/lib/tools/fetch/download/index.ts +10 -0
- package/lib/tools/fetch/download/manifest.ts +102 -0
- package/lib/tools/fetch/download/network.ts +226 -0
- package/lib/tools/fetch/download/retry.ts +173 -0
- package/lib/tools/fetch/geonames/dump.ts +257 -0
- package/lib/tools/fetch/geonames/postal.ts +180 -0
- package/lib/tools/fetch/index.ts +47 -20
- package/lib/tools/fetch/openaddresses.ts +2 -2
- package/lib/tools/fetch/ourairports.ts +2 -2
- package/lib/tools/fetch/ppd.ts +1 -3
- package/lib/tools/fetch/wikidata-subvenue.ts +2 -2
- package/lib/tools/golden/promote.ts +340 -0
- package/lib/tools/golden/relabel-street/directory.ts +340 -0
- package/lib/tools/golden/relabel-street/index.ts +9 -0
- package/lib/tools/golden/relabel-street/row.ts +361 -0
- package/lib/tools/index.ts +10 -10
- package/lib/tools/ingest-csv.ts +5 -7
- package/lib/tools/lint/slice/vocab.ts +376 -0
- package/lib/tools/overlay-manifest.ts +92 -25
- package/lib/tools/overture-subvenue.ts +1 -1
- package/lib/tools/postcode-triples.ts +138 -14
- package/lib/tools/sub/venue/harvest.ts +234 -0
- package/lib/tools/sub/venue/head-nouns.ts +245 -0
- package/lib/tools/sub/venue/lexicon.ts +429 -0
- package/lib/tools/sub/venue/surfaces.ts +95 -0
- package/lib/tools/sub/venue/table.ts +281 -0
- package/lib/tools/sub/venue/wikidata.ts +85 -0
- package/lib/tw/tools/fetch/gcis.ts +180 -0
- package/lib/types.ts +1 -1
- package/lib/us/adapters/fcc-bdc/adapter.ts +173 -0
- package/lib/us/adapters/state/hi-schools/adapter.ts +160 -0
- package/lib/us/adapters/state/ia-contractors/adapter.ts +136 -0
- package/lib/us/adapters/state/ny-notaries/adapter.ts +133 -0
- package/lib/us/adapters/state/tx-notaries/adapter.ts +149 -0
- package/lib/us/adapters/tiger/adapter.ts +250 -0
- package/lib/us/adapters/usgov/hrsa-fqhc/adapter.ts +156 -0
- package/lib/us/adapters/usgov/imls-pls/adapter.ts +134 -0
- package/lib/us/adapters/usgov/irs-bmf/adapter.ts +145 -0
- package/lib/us/adapters/usgov/nad/adapter.ts +324 -0
- package/lib/us/adapters/usgov/nppes/adapter.ts +143 -0
- package/lib/us/adapters/usgov/samhsa-treatment-locator/adapter.ts +182 -0
- package/lib/us/tools/fetch/hrsa.ts +59 -0
- package/lib/us/tools/fetch/imls-pls.ts +149 -0
- package/lib/us/tools/fetch/nad.ts +341 -0
- package/lib/us/tools/fetch/nppes.ts +165 -0
- package/lib/us/tools/fetch/state/hi-schools.ts +161 -0
- package/lib/us/tools/fetch/state/sources.ts +146 -0
- package/lib/us/tools/fetch/tiger-full.ts +308 -0
- package/lib/utils/align.ts +1 -1
- package/lib/utils/golden.ts +12 -8
- package/lib/utils/wof-json.ts +7 -13
- package/out/adapters/geonames/adapter.d.ts +1 -1
- package/out/adapters/geonames/adapter.js +3 -3
- package/out/adapters/geonames/adapter.js.map +1 -1
- package/out/adapters/geonames/postal/adapter.d.ts.map +1 -0
- package/out/adapters/geonames/postal/adapter.js +107 -0
- package/out/adapters/geonames/postal/adapter.js.map +1 -0
- package/out/adapters/index.d.ts +16 -16
- package/out/adapters/index.d.ts.map +1 -1
- package/out/adapters/index.js +34 -32
- package/out/adapters/index.js.map +1 -1
- package/out/adapters/openaddresses/adapter.d.ts.map +1 -1
- package/out/adapters/openaddresses/adapter.js +4 -6
- package/out/adapters/openaddresses/adapter.js.map +1 -1
- package/out/adapters/osm/adapter.d.ts +95 -0
- package/out/adapters/osm/adapter.d.ts.map +1 -0
- package/out/adapters/osm/adapter.js +211 -0
- package/out/adapters/osm/adapter.js.map +1 -0
- package/out/adapters/overture/adapter.d.ts +10 -0
- package/out/adapters/overture/adapter.d.ts.map +1 -1
- package/out/adapters/overture/adapter.js +20 -7
- package/out/adapters/overture/adapter.js.map +1 -1
- package/out/adapters/synth-po-box/adapter.js.map +1 -1
- package/out/adapters/utils/index.d.ts +1 -1
- package/out/adapters/utils/index.d.ts.map +1 -1
- package/out/adapters/utils/index.js.map +1 -1
- package/out/adapters/wof/admin/json/adapter.d.ts +79 -0
- package/out/adapters/wof/admin/json/adapter.d.ts.map +1 -0
- package/out/adapters/wof/admin/json/adapter.js +204 -0
- package/out/adapters/wof/admin/json/adapter.js.map +1 -0
- package/out/adapters/wof/json-rows.d.ts +73 -0
- package/out/adapters/wof/json-rows.d.ts.map +1 -0
- package/out/adapters/wof/json-rows.js +115 -0
- package/out/adapters/wof/json-rows.js.map +1 -0
- package/out/adapters/wof/postalcode-json/adapter.d.ts +65 -0
- package/out/adapters/wof/postalcode-json/adapter.d.ts.map +1 -0
- package/out/adapters/wof/postalcode-json/adapter.js +167 -0
- package/out/adapters/wof/postalcode-json/adapter.js.map +1 -0
- package/out/au/adapters/gnaf/adapter.d.ts.map +1 -0
- package/out/au/adapters/gnaf/adapter.js +127 -0
- package/out/au/adapters/gnaf/adapter.js.map +1 -0
- package/out/au/adapters/gnaf/assemble.d.ts +65 -0
- package/out/au/adapters/gnaf/assemble.d.ts.map +1 -0
- package/out/au/adapters/gnaf/assemble.js +154 -0
- package/out/au/adapters/gnaf/assemble.js.map +1 -0
- package/out/cn/recipes/organizational-units.d.ts +36 -0
- package/out/cn/recipes/organizational-units.d.ts.map +1 -0
- package/out/cn/recipes/organizational-units.js +159 -0
- package/out/cn/recipes/organizational-units.js.map +1 -0
- package/out/cz/recipes/pcfirst-preposition.d.ts +22 -0
- package/out/cz/recipes/pcfirst-preposition.d.ts.map +1 -0
- package/out/cz/recipes/pcfirst-preposition.js +101 -0
- package/out/cz/recipes/pcfirst-preposition.js.map +1 -0
- package/out/de/recipes/locale.d.ts +44 -0
- package/out/de/recipes/locale.d.ts.map +1 -0
- package/out/de/recipes/locale.js +289 -0
- package/out/de/recipes/locale.js.map +1 -0
- package/out/env.d.ts +1 -1
- package/out/fr/adapters/ban/adapter.d.ts.map +1 -0
- package/out/fr/adapters/ban/adapter.js +123 -0
- package/out/fr/adapters/ban/adapter.js.map +1 -0
- package/out/fr/adapters/ban/street-decompose.d.ts.map +1 -0
- package/out/fr/adapters/ban/street-decompose.js.map +1 -0
- package/out/fr/recipes/admin-split.d.ts +38 -0
- package/out/fr/recipes/admin-split.d.ts.map +1 -0
- package/out/fr/recipes/admin-split.js +192 -0
- package/out/fr/recipes/admin-split.js.map +1 -0
- package/out/fr/recipes/bare-street.d.ts +28 -0
- package/out/fr/recipes/bare-street.d.ts.map +1 -0
- package/out/fr/recipes/bare-street.js +144 -0
- package/out/fr/recipes/bare-street.js.map +1 -0
- package/out/fr/recipes/fragment.d.ts +77 -0
- package/out/fr/recipes/fragment.d.ts.map +1 -0
- package/out/fr/recipes/fragment.js +277 -0
- package/out/fr/recipes/fragment.js.map +1 -0
- package/out/fr/recipes/lieudit.d.ts +32 -0
- package/out/fr/recipes/lieudit.d.ts.map +1 -0
- package/out/fr/recipes/lieudit.js +211 -0
- package/out/fr/recipes/lieudit.js.map +1 -0
- package/out/fr/recipes/order.d.ts +38 -0
- package/out/fr/recipes/order.d.ts.map +1 -0
- package/out/fr/recipes/order.js +198 -0
- package/out/fr/recipes/order.js.map +1 -0
- package/out/fr/tools/fetch/ban.d.ts +31 -0
- package/out/fr/tools/fetch/ban.d.ts.map +1 -0
- package/out/fr/tools/fetch/ban.js +239 -0
- package/out/fr/tools/fetch/ban.js.map +1 -0
- package/out/index.d.ts +1 -1
- package/out/index.d.ts.map +1 -1
- package/out/index.js +1 -1
- package/out/index.js.map +1 -1
- package/out/international/recipes/locale.d.ts +136 -0
- package/out/international/recipes/locale.d.ts.map +1 -0
- package/out/international/recipes/locale.js +458 -0
- package/out/international/recipes/locale.js.map +1 -0
- package/out/jp/adapters/wof-admin/adapter.d.ts.map +1 -0
- package/out/jp/adapters/wof-admin/adapter.js.map +1 -0
- package/out/jp/tools/fetch/houjin.d.ts +24 -0
- package/out/jp/tools/fetch/houjin.d.ts.map +1 -0
- package/out/jp/tools/fetch/houjin.js +102 -0
- package/out/jp/tools/fetch/houjin.js.map +1 -0
- package/out/kr/adapters/juso/label-rows.d.ts +76 -0
- package/out/kr/adapters/juso/label-rows.d.ts.map +1 -0
- package/out/kr/adapters/juso/label-rows.js +194 -0
- package/out/kr/adapters/juso/label-rows.js.map +1 -0
- package/out/kr/adapters/localdata/align.d.ts +43 -0
- package/out/kr/adapters/localdata/align.d.ts.map +1 -0
- package/out/kr/adapters/localdata/align.js +223 -0
- package/out/kr/adapters/localdata/align.js.map +1 -0
- package/out/kr/adapters/localdata/key-index.d.ts +71 -0
- package/out/kr/adapters/localdata/key-index.d.ts.map +1 -0
- package/out/kr/adapters/localdata/key-index.js +133 -0
- package/out/kr/adapters/localdata/key-index.js.map +1 -0
- package/out/kr/adapters/localdata/permit-rows.d.ts +66 -0
- package/out/kr/adapters/localdata/permit-rows.d.ts.map +1 -0
- package/out/kr/adapters/localdata/permit-rows.js +131 -0
- package/out/kr/adapters/localdata/permit-rows.js.map +1 -0
- package/out/kr/tools/fetch/juso.d.ts +30 -0
- package/out/kr/tools/fetch/juso.d.ts.map +1 -0
- package/out/kr/tools/fetch/juso.js +120 -0
- package/out/kr/tools/fetch/juso.js.map +1 -0
- package/out/kr/tools/fetch/localdata.d.ts +30 -0
- package/out/kr/tools/fetch/localdata.d.ts.map +1 -0
- package/out/kr/tools/fetch/localdata.js +139 -0
- package/out/kr/tools/fetch/localdata.js.map +1 -0
- package/out/nl/recipes/postcode.d.ts +26 -0
- package/out/nl/recipes/postcode.d.ts.map +1 -0
- package/out/nl/recipes/postcode.js +103 -0
- package/out/nl/recipes/postcode.js.map +1 -0
- package/out/no/recipes/fragment.d.ts +43 -0
- package/out/no/recipes/fragment.d.ts.map +1 -0
- package/out/no/recipes/fragment.js +183 -0
- package/out/no/recipes/fragment.js.map +1 -0
- package/out/no/recipes/street/index.d.ts +18 -0
- package/out/no/recipes/street/index.d.ts.map +1 -0
- package/out/no/recipes/street/index.js +72 -0
- package/out/no/recipes/street/index.js.map +1 -0
- package/out/no/recipes/street/led.d.ts +24 -0
- package/out/no/recipes/street/led.d.ts.map +1 -0
- package/out/no/recipes/street/led.js +114 -0
- package/out/no/recipes/street/led.js.map +1 -0
- package/out/recipes/anchor-absorption.d.ts.map +1 -1
- package/out/recipes/anchor-absorption.js +2 -1
- package/out/recipes/anchor-absorption.js.map +1 -1
- package/out/recipes/bare/country.d.ts +25 -0
- package/out/recipes/bare/country.d.ts.map +1 -0
- package/out/recipes/bare/country.js +88 -0
- package/out/recipes/bare/country.js.map +1 -0
- package/out/recipes/bare/postcode/eval.d.ts +29 -0
- package/out/recipes/bare/postcode/eval.d.ts.map +1 -0
- package/out/recipes/bare/postcode/eval.js +85 -0
- package/out/recipes/bare/postcode/eval.js.map +1 -0
- package/out/recipes/bare/postcode/index.d.ts +62 -0
- package/out/recipes/bare/postcode/index.d.ts.map +1 -0
- package/out/recipes/bare/postcode/index.js +267 -0
- package/out/recipes/bare/postcode/index.js.map +1 -0
- package/out/recipes/boundary-stress.d.ts.map +1 -1
- package/out/recipes/boundary-stress.js +2 -1
- package/out/recipes/boundary-stress.js.map +1 -1
- package/out/recipes/country-balanced.d.ts.map +1 -1
- package/out/recipes/country-balanced.js +2 -1
- package/out/recipes/country-balanced.js.map +1 -1
- package/out/recipes/house-venue.d.ts.map +1 -1
- package/out/recipes/house-venue.js +2 -1
- package/out/recipes/house-venue.js.map +1 -1
- package/out/recipes/index.d.ts.map +1 -1
- package/out/recipes/index.js +28 -21
- package/out/recipes/index.js.map +1 -1
- package/out/recipes/intersection.d.ts.map +1 -1
- package/out/recipes/intersection.js +2 -1
- package/out/recipes/intersection.js.map +1 -1
- package/out/recipes/po/box/cedex/au-nz.d.ts +7 -0
- package/out/recipes/po/box/cedex/au-nz.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/au-nz.js +56 -0
- package/out/recipes/po/box/cedex/au-nz.js.map +1 -0
- package/out/recipes/po/box/cedex/ca.d.ts +7 -0
- package/out/recipes/po/box/cedex/ca.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/ca.js +38 -0
- package/out/recipes/po/box/cedex/ca.js.map +1 -0
- package/out/recipes/po/box/cedex/fr.d.ts +7 -0
- package/out/recipes/po/box/cedex/fr.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/fr.js +57 -0
- package/out/recipes/po/box/cedex/fr.js.map +1 -0
- package/out/recipes/po/box/cedex/phrases.d.ts +8 -0
- package/out/recipes/po/box/cedex/phrases.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/phrases.js +76 -0
- package/out/recipes/po/box/cedex/phrases.js.map +1 -0
- package/out/recipes/po/box/cedex/recipe.d.ts +9 -0
- package/out/recipes/po/box/cedex/recipe.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/recipe.js +153 -0
- package/out/recipes/po/box/cedex/recipe.js.map +1 -0
- package/out/recipes/po/box/cedex/sources.d.ts +86 -0
- package/out/recipes/po/box/cedex/sources.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/sources.js +143 -0
- package/out/recipes/po/box/cedex/sources.js.map +1 -0
- package/out/recipes/po/box/cedex/types.d.ts +31 -0
- package/out/recipes/po/box/cedex/types.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/types.js +5 -0
- package/out/recipes/po/box/cedex/types.js.map +1 -0
- package/out/recipes/po/box/cedex/us.d.ts +7 -0
- package/out/recipes/po/box/cedex/us.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/us.js +51 -0
- package/out/recipes/po/box/cedex/us.js.map +1 -0
- package/out/recipes/po/box/cedex/vocabulary.d.ts +68 -0
- package/out/recipes/po/box/cedex/vocabulary.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/vocabulary.js +90 -0
- package/out/recipes/po/box/cedex/vocabulary.js.map +1 -0
- package/out/recipes/po/box/cedex.d.ts +9 -0
- package/out/recipes/po/box/cedex.d.ts.map +1 -0
- package/out/recipes/po/box/cedex.js +9 -0
- package/out/recipes/po/box/cedex.js.map +1 -0
- package/out/recipes/po/box/index.d.ts +17 -0
- package/out/recipes/po/box/index.d.ts.map +1 -0
- package/out/recipes/po/box/index.js +105 -0
- package/out/recipes/po/box/index.js.map +1 -0
- package/out/recipes/scaffold.d.ts +20 -1
- package/out/recipes/scaffold.d.ts.map +1 -1
- package/out/recipes/scaffold.js +18 -49
- package/out/recipes/scaffold.js.map +1 -1
- package/out/recipes/street/affix.d.ts +89 -0
- package/out/recipes/street/affix.d.ts.map +1 -0
- package/out/recipes/street/affix.js +565 -0
- package/out/recipes/street/affix.js.map +1 -0
- package/out/recipes/street/bare.d.ts +25 -0
- package/out/recipes/street/bare.d.ts.map +1 -0
- package/out/recipes/street/bare.js +87 -0
- package/out/recipes/street/bare.js.map +1 -0
- package/out/recipes/street.d.ts.map +1 -1
- package/out/recipes/street.js +2 -1
- package/out/recipes/street.js.map +1 -1
- package/out/recipes/sub/venue/context.d.ts +29 -0
- package/out/recipes/sub/venue/context.d.ts.map +1 -0
- package/out/recipes/sub/venue/context.js +106 -0
- package/out/recipes/sub/venue/context.js.map +1 -0
- package/out/recipes/sub/venue/index.d.ts +270 -0
- package/out/recipes/sub/venue/index.d.ts.map +1 -0
- package/out/recipes/sub/venue/index.js +728 -0
- package/out/recipes/sub/venue/index.js.map +1 -0
- package/out/recipes/sub/venue/sources.d.ts +209 -0
- package/out/recipes/sub/venue/sources.d.ts.map +1 -0
- package/out/recipes/sub/venue/sources.js +555 -0
- package/out/recipes/sub/venue/sources.js.map +1 -0
- package/out/recipes/trailing-region.d.ts.map +1 -1
- package/out/recipes/trailing-region.js +8 -2
- package/out/recipes/trailing-region.js.map +1 -1
- package/out/recipes/unit.d.ts.map +1 -1
- package/out/recipes/unit.js +2 -1
- package/out/recipes/unit.js.map +1 -1
- package/out/sg/recipes/register.d.ts +69 -0
- package/out/sg/recipes/register.d.ts.map +1 -0
- package/out/sg/recipes/register.js +211 -0
- package/out/sg/recipes/register.js.map +1 -0
- package/out/sg/tools/fetch/acra.d.ts +23 -0
- package/out/sg/tools/fetch/acra.d.ts.map +1 -0
- package/out/sg/tools/fetch/acra.js +126 -0
- package/out/sg/tools/fetch/acra.js.map +1 -0
- package/out/si/recipes/bare-village.d.ts +32 -0
- package/out/si/recipes/bare-village.d.ts.map +1 -0
- package/out/si/recipes/bare-village.js +89 -0
- package/out/si/recipes/bare-village.js.map +1 -0
- package/out/south-asia/recipes/register.d.ts +51 -0
- package/out/south-asia/recipes/register.d.ts.map +1 -0
- package/out/south-asia/recipes/register.js +154 -0
- package/out/south-asia/recipes/register.js.map +1 -0
- package/out/synthesizers/anchor-absorption.d.ts +1 -1
- package/out/synthesizers/anchor-absorption.d.ts.map +1 -1
- package/out/synthesizers/anchor-absorption.js.map +1 -1
- package/out/synthesizers/boundary-stress.js.map +1 -1
- package/out/synthesizers/house-venue.js.map +1 -1
- package/out/synthesizers/intersection.js.map +1 -1
- package/out/synthesizers/locale.d.ts +116 -0
- package/out/synthesizers/locale.d.ts.map +1 -0
- package/out/synthesizers/locale.js +150 -0
- package/out/synthesizers/locale.js.map +1 -0
- package/out/synthesizers/no-street.d.ts.map +1 -1
- package/out/synthesizers/no-street.js.map +1 -1
- package/out/synthesizers/po-box.js.map +1 -1
- package/out/synthesizers/street.d.ts.map +1 -1
- package/out/synthesizers/street.js +1 -1
- package/out/synthesizers/street.js.map +1 -1
- package/out/synthesizers/utils.js +1 -1
- package/out/synthesizers/utils.js.map +1 -1
- package/out/test-kit/corpus-recipe.d.ts.map +1 -1
- package/out/test-kit/corpus-recipe.js.map +1 -1
- package/out/tools/audit.d.ts.map +1 -1
- package/out/tools/audit.js +3 -2
- package/out/tools/audit.js.map +1 -1
- package/out/tools/corpus-stats.js +3 -3
- package/out/tools/corpus-stats.js.map +1 -1
- package/out/tools/fetch/download/index.d.ts +10 -0
- package/out/tools/fetch/download/index.d.ts.map +1 -0
- package/out/tools/fetch/download/index.js +10 -0
- package/out/tools/fetch/download/index.js.map +1 -0
- package/out/tools/fetch/download/manifest.d.ts +47 -0
- package/out/tools/fetch/download/manifest.d.ts.map +1 -0
- package/out/tools/fetch/download/manifest.js +74 -0
- package/out/tools/fetch/download/manifest.js.map +1 -0
- package/out/tools/fetch/download/network.d.ts +105 -0
- package/out/tools/fetch/download/network.d.ts.map +1 -0
- package/out/tools/fetch/download/network.js +130 -0
- package/out/tools/fetch/download/network.js.map +1 -0
- package/out/tools/fetch/download/retry.d.ts +45 -0
- package/out/tools/fetch/download/retry.d.ts.map +1 -0
- package/out/tools/fetch/download/retry.js +136 -0
- package/out/tools/fetch/download/retry.js.map +1 -0
- package/out/tools/fetch/geonames/dump.d.ts +91 -0
- package/out/tools/fetch/geonames/dump.d.ts.map +1 -0
- package/out/tools/fetch/geonames/dump.js +171 -0
- package/out/tools/fetch/geonames/dump.js.map +1 -0
- package/out/tools/fetch/geonames/postal.d.ts +76 -0
- package/out/tools/fetch/geonames/postal.d.ts.map +1 -0
- package/out/tools/fetch/geonames/postal.js +126 -0
- package/out/tools/fetch/geonames/postal.js.map +1 -0
- package/out/tools/fetch/index.d.ts +47 -20
- package/out/tools/fetch/index.d.ts.map +1 -1
- package/out/tools/fetch/index.js +47 -20
- package/out/tools/fetch/index.js.map +1 -1
- package/out/tools/fetch/openaddresses.d.ts +1 -1
- package/out/tools/fetch/openaddresses.d.ts.map +1 -1
- package/out/tools/fetch/openaddresses.js +1 -1
- package/out/tools/fetch/openaddresses.js.map +1 -1
- package/out/tools/fetch/ourairports.d.ts +1 -1
- package/out/tools/fetch/ourairports.d.ts.map +1 -1
- package/out/tools/fetch/ourairports.js +1 -1
- package/out/tools/fetch/ourairports.js.map +1 -1
- package/out/tools/fetch/ppd.js +1 -3
- package/out/tools/fetch/ppd.js.map +1 -1
- package/out/tools/fetch/wikidata-subvenue.d.ts +1 -1
- package/out/tools/fetch/wikidata-subvenue.d.ts.map +1 -1
- package/out/tools/fetch/wikidata-subvenue.js +1 -1
- package/out/tools/fetch/wikidata-subvenue.js.map +1 -1
- package/out/tools/golden/expand.d.ts +90 -0
- package/out/tools/golden/expand.d.ts.map +1 -0
- package/out/tools/golden/expand.js +406 -0
- package/out/tools/golden/expand.js.map +1 -0
- package/out/tools/golden/promote.d.ts +72 -0
- package/out/tools/golden/promote.d.ts.map +1 -0
- package/out/tools/golden/promote.js +243 -0
- package/out/tools/golden/promote.js.map +1 -0
- package/out/tools/golden/relabel-street/directory.d.ts +83 -0
- package/out/tools/golden/relabel-street/directory.d.ts.map +1 -0
- package/out/tools/golden/relabel-street/directory.js +216 -0
- package/out/tools/golden/relabel-street/directory.js.map +1 -0
- package/out/tools/golden/relabel-street/index.d.ts +9 -0
- package/out/tools/golden/relabel-street/index.d.ts.map +1 -0
- package/out/tools/golden/relabel-street/index.js +9 -0
- package/out/tools/golden/relabel-street/index.js.map +1 -0
- package/out/tools/golden/relabel-street/row.d.ts +121 -0
- package/out/tools/golden/relabel-street/row.d.ts.map +1 -0
- package/out/tools/golden/relabel-street/row.js +232 -0
- package/out/tools/golden/relabel-street/row.js.map +1 -0
- package/out/tools/index.d.ts +10 -10
- package/out/tools/index.d.ts.map +1 -1
- package/out/tools/index.js +10 -10
- package/out/tools/index.js.map +1 -1
- package/out/tools/ingest-csv.d.ts.map +1 -1
- package/out/tools/ingest-csv.js +5 -7
- package/out/tools/ingest-csv.js.map +1 -1
- package/out/tools/lint/slice/index.d.ts +93 -0
- package/out/tools/lint/slice/index.d.ts.map +1 -0
- package/out/tools/lint/slice/index.js +322 -0
- package/out/tools/lint/slice/index.js.map +1 -0
- package/out/tools/lint/slice/vocab.d.ts +90 -0
- package/out/tools/lint/slice/vocab.d.ts.map +1 -0
- package/out/tools/lint/slice/vocab.js +254 -0
- package/out/tools/lint/slice/vocab.js.map +1 -0
- package/out/tools/overlay-manifest.d.ts +56 -6
- package/out/tools/overlay-manifest.d.ts.map +1 -1
- package/out/tools/overlay-manifest.js +56 -15
- package/out/tools/overlay-manifest.js.map +1 -1
- package/out/tools/overture-subvenue.d.ts +1 -1
- package/out/tools/postcode-triples.d.ts +36 -0
- package/out/tools/postcode-triples.d.ts.map +1 -1
- package/out/tools/postcode-triples.js +91 -12
- package/out/tools/postcode-triples.js.map +1 -1
- package/out/tools/slice/kryptonite.d.ts +32 -0
- package/out/tools/slice/kryptonite.d.ts.map +1 -0
- package/out/tools/slice/kryptonite.js +99 -0
- package/out/tools/slice/kryptonite.js.map +1 -0
- package/out/tools/slice/translit.d.ts +51 -0
- package/out/tools/slice/translit.d.ts.map +1 -0
- package/out/tools/slice/translit.js +166 -0
- package/out/tools/slice/translit.js.map +1 -0
- package/out/tools/sub/venue/harvest.d.ts +100 -0
- package/out/tools/sub/venue/harvest.d.ts.map +1 -0
- package/out/tools/sub/venue/harvest.js +168 -0
- package/out/tools/sub/venue/harvest.js.map +1 -0
- package/out/tools/sub/venue/head-nouns.d.ts +50 -0
- package/out/tools/sub/venue/head-nouns.d.ts.map +1 -0
- package/out/tools/sub/venue/head-nouns.js.map +1 -0
- package/out/tools/sub/venue/lexicon.d.ts +156 -0
- package/out/tools/sub/venue/lexicon.d.ts.map +1 -0
- package/out/tools/sub/venue/lexicon.js +283 -0
- package/out/tools/sub/venue/lexicon.js.map +1 -0
- package/out/tools/sub/venue/promotions.d.ts +94 -0
- package/out/tools/sub/venue/promotions.d.ts.map +1 -0
- package/out/tools/sub/venue/promotions.js +266 -0
- package/out/tools/sub/venue/promotions.js.map +1 -0
- package/out/tools/sub/venue/surfaces.d.ts +45 -0
- package/out/tools/sub/venue/surfaces.d.ts.map +1 -0
- package/out/tools/sub/venue/surfaces.js.map +1 -0
- package/out/tools/sub/venue/table.d.ts +229 -0
- package/out/tools/sub/venue/table.d.ts.map +1 -0
- package/out/tools/sub/venue/table.js.map +1 -0
- package/out/tools/sub/venue/wikidata.d.ts +26 -0
- package/out/tools/sub/venue/wikidata.d.ts.map +1 -0
- package/out/tools/sub/venue/wikidata.js +62 -0
- package/out/tools/sub/venue/wikidata.js.map +1 -0
- package/out/tw/tools/fetch/gcis.d.ts +23 -0
- package/out/tw/tools/fetch/gcis.d.ts.map +1 -0
- package/out/tw/tools/fetch/gcis.js +135 -0
- package/out/tw/tools/fetch/gcis.js.map +1 -0
- package/out/types.d.ts +1 -1
- package/out/types.d.ts.map +1 -1
- package/out/us/adapters/fcc-bdc/adapter.d.ts.map +1 -0
- package/out/us/adapters/fcc-bdc/adapter.js +142 -0
- package/out/us/adapters/fcc-bdc/adapter.js.map +1 -0
- package/out/us/adapters/state/hi-schools/adapter.d.ts.map +1 -0
- package/out/us/adapters/state/hi-schools/adapter.js +136 -0
- package/out/us/adapters/state/hi-schools/adapter.js.map +1 -0
- package/out/us/adapters/state/hi-schools/workbook.d.ts.map +1 -0
- package/out/us/adapters/state/hi-schools/workbook.js.map +1 -0
- package/out/us/adapters/state/ia-contractors/adapter.d.ts.map +1 -0
- package/out/us/adapters/state/ia-contractors/adapter.js +104 -0
- package/out/us/adapters/state/ia-contractors/adapter.js.map +1 -0
- package/out/us/adapters/state/ny-notaries/adapter.d.ts.map +1 -0
- package/out/us/adapters/state/ny-notaries/adapter.js +112 -0
- package/out/us/adapters/state/ny-notaries/adapter.js.map +1 -0
- package/out/us/adapters/state/tx-notaries/adapter.d.ts.map +1 -0
- package/out/us/adapters/state/tx-notaries/adapter.js +118 -0
- package/out/us/adapters/state/tx-notaries/adapter.js.map +1 -0
- package/out/us/adapters/tiger/adapter.d.ts +55 -0
- package/out/us/adapters/tiger/adapter.d.ts.map +1 -0
- package/out/us/adapters/tiger/adapter.js +197 -0
- package/out/us/adapters/tiger/adapter.js.map +1 -0
- package/out/us/adapters/tiger/street-decompose.d.ts.map +1 -0
- package/out/us/adapters/tiger/street-decompose.js.map +1 -0
- package/out/us/adapters/usgov/hrsa-fqhc/adapter.d.ts.map +1 -0
- package/out/us/adapters/usgov/hrsa-fqhc/adapter.js +121 -0
- package/out/us/adapters/usgov/hrsa-fqhc/adapter.js.map +1 -0
- package/out/us/adapters/usgov/imls-pls/adapter.d.ts.map +1 -0
- package/out/us/adapters/usgov/imls-pls/adapter.js +106 -0
- package/out/us/adapters/usgov/imls-pls/adapter.js.map +1 -0
- package/out/us/adapters/usgov/irs-bmf/adapter.d.ts.map +1 -0
- package/out/us/adapters/usgov/irs-bmf/adapter.js +116 -0
- package/out/us/adapters/usgov/irs-bmf/adapter.js.map +1 -0
- package/out/us/adapters/usgov/nad/adapter.d.ts.map +1 -0
- package/out/us/adapters/usgov/nad/adapter.js +239 -0
- package/out/us/adapters/usgov/nad/adapter.js.map +1 -0
- package/out/us/adapters/usgov/nppes/adapter.d.ts.map +1 -0
- package/out/us/adapters/usgov/nppes/adapter.js +110 -0
- package/out/us/adapters/usgov/nppes/adapter.js.map +1 -0
- package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.d.ts.map +1 -0
- package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.js +143 -0
- package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.js.map +1 -0
- package/out/us/fips-state.d.ts +41 -0
- package/out/us/fips-state.d.ts.map +1 -0
- package/out/us/fips-state.js +100 -0
- package/out/us/fips-state.js.map +1 -0
- package/out/us/tools/fetch/hrsa.d.ts +18 -0
- package/out/us/tools/fetch/hrsa.d.ts.map +1 -0
- package/out/us/tools/fetch/hrsa.js +46 -0
- package/out/us/tools/fetch/hrsa.js.map +1 -0
- package/out/us/tools/fetch/imls-pls.d.ts +25 -0
- package/out/us/tools/fetch/imls-pls.d.ts.map +1 -0
- package/out/us/tools/fetch/imls-pls.js +108 -0
- package/out/us/tools/fetch/imls-pls.js.map +1 -0
- package/out/us/tools/fetch/nad.d.ts +70 -0
- package/out/us/tools/fetch/nad.d.ts.map +1 -0
- package/out/us/tools/fetch/nad.js +234 -0
- package/out/us/tools/fetch/nad.js.map +1 -0
- package/out/us/tools/fetch/nppes.d.ts +26 -0
- package/out/us/tools/fetch/nppes.d.ts.map +1 -0
- package/out/us/tools/fetch/nppes.js +126 -0
- package/out/us/tools/fetch/nppes.js.map +1 -0
- package/out/us/tools/fetch/state/hi-schools.d.ts +26 -0
- package/out/us/tools/fetch/state/hi-schools.d.ts.map +1 -0
- package/out/us/tools/fetch/state/hi-schools.js +112 -0
- package/out/us/tools/fetch/state/hi-schools.js.map +1 -0
- package/out/us/tools/fetch/state/sources.d.ts +26 -0
- package/out/us/tools/fetch/state/sources.d.ts.map +1 -0
- package/out/us/tools/fetch/state/sources.js +111 -0
- package/out/us/tools/fetch/state/sources.js.map +1 -0
- package/out/us/tools/fetch/tiger-full.d.ts +22 -0
- package/out/us/tools/fetch/tiger-full.d.ts.map +1 -0
- package/out/us/tools/fetch/tiger-full.js +217 -0
- package/out/us/tools/fetch/tiger-full.js.map +1 -0
- package/out/utils/align.d.ts +1 -1
- package/out/utils/align.d.ts.map +1 -1
- package/out/utils/align.js.map +1 -1
- package/out/utils/golden.d.ts +7 -3
- package/out/utils/golden.d.ts.map +1 -1
- package/out/utils/golden.js +12 -8
- package/out/utils/golden.js.map +1 -1
- package/out/utils/parquet.d.ts.map +1 -1
- package/out/utils/split.js.map +1 -1
- package/out/utils/wof-json.d.ts.map +1 -1
- package/out/utils/wof-json.js +7 -12
- package/out/utils/wof-json.js.map +1 -1
- package/out/ve/recipes/reviewed-postcode-tail.d.ts.map +1 -0
- package/out/ve/recipes/reviewed-postcode-tail.js.map +1 -0
- package/package.json +196 -46
- package/lib/adapters/ban/adapter.ts +0 -190
- package/lib/adapters/fcc-bdc/adapter.ts +0 -174
- package/lib/adapters/geonames-postal/adapter.ts +0 -122
- package/lib/adapters/gnaf/adapter.ts +0 -149
- package/lib/adapters/gnaf/assemble.ts +0 -225
- package/lib/adapters/state-hi-schools/adapter.ts +0 -170
- package/lib/adapters/state-ia-contractors/adapter.ts +0 -144
- package/lib/adapters/state-ny-notaries/adapter.ts +0 -141
- package/lib/adapters/state-tx-notaries/adapter.ts +0 -157
- package/lib/adapters/tiger/adapter.ts +0 -252
- package/lib/adapters/usgov-hrsa-fqhc/adapter.ts +0 -167
- package/lib/adapters/usgov-imls-pls/adapter.ts +0 -143
- package/lib/adapters/usgov-irs-bmf/adapter.ts +0 -151
- package/lib/adapters/usgov-nad/adapter.ts +0 -334
- package/lib/adapters/usgov-nppes/adapter.ts +0 -151
- package/lib/adapters/usgov-samhsa-treatment-locator/adapter.ts +0 -193
- package/lib/adapters/wof-admin-json/adapter.ts +0 -231
- package/lib/adapters/wof-json-rows.ts +0 -129
- package/lib/adapters/wof-postalcode-json/adapter.ts +0 -176
- package/lib/name-prone-us-suffixes.ts +0 -12
- package/lib/recipes/bare-country.ts +0 -95
- package/lib/recipes/cz-pcfirst-preposition.ts +0 -111
- package/lib/recipes/fr-admin-split.ts +0 -242
- package/lib/recipes/fr-bare-street.ts +0 -170
- package/lib/recipes/fr-fragment.ts +0 -333
- package/lib/recipes/fr-lieudit.ts +0 -301
- package/lib/recipes/fr-order.ts +0 -245
- package/lib/recipes/german.ts +0 -359
- package/lib/recipes/locale.ts +0 -599
- package/lib/recipes/nl-postcode.ts +0 -115
- package/lib/recipes/no-fragment.ts +0 -219
- package/lib/recipes/no-street-led.ts +0 -141
- package/lib/recipes/no-street.ts +0 -90
- package/lib/recipes/po-box-cedex.ts +0 -976
- package/lib/recipes/po-box.ts +0 -123
- package/lib/recipes/si-bare-village.ts +0 -97
- package/lib/recipes/street-affix.ts +0 -804
- package/lib/recipes/street-bare.ts +0 -100
- package/lib/recipes/sub-venue-sources.ts +0 -877
- package/lib/recipes/sub-venue.ts +0 -997
- package/lib/synthesizers/german.ts +0 -260
- package/lib/tools/fetch/ban.ts +0 -289
- package/lib/tools/fetch/download.ts +0 -262
- package/lib/tools/fetch/geonames-dump.ts +0 -257
- package/lib/tools/fetch/geonames-postal.ts +0 -180
- package/lib/tools/fetch/hrsa.ts +0 -59
- package/lib/tools/fetch/imls-pls.ts +0 -149
- package/lib/tools/fetch/nad.ts +0 -341
- package/lib/tools/fetch/nppes.ts +0 -165
- package/lib/tools/fetch/state-hi-schools.ts +0 -161
- package/lib/tools/fetch/state-sources.ts +0 -146
- package/lib/tools/fetch/tiger-full.ts +0 -308
- package/lib/tools/golden-promote.ts +0 -337
- package/lib/tools/golden-relabel-street.ts +0 -683
- package/lib/tools/lint-slice-vocab.ts +0 -388
- package/lib/tools/sub-venue/harvest.ts +0 -234
- package/lib/tools/sub-venue/head-nouns.ts +0 -245
- package/lib/tools/sub-venue/surfaces.ts +0 -95
- package/lib/tools/sub-venue/table.ts +0 -281
- package/lib/tools/sub-venue/wikidata.ts +0 -85
- package/lib/tools/sub-venue-lexicon.ts +0 -429
- package/out/adapters/ban/adapter.d.ts.map +0 -1
- package/out/adapters/ban/adapter.js +0 -149
- package/out/adapters/ban/adapter.js.map +0 -1
- package/out/adapters/ban/street-decompose.d.ts.map +0 -1
- package/out/adapters/ban/street-decompose.js.map +0 -1
- package/out/adapters/fcc-bdc/adapter.d.ts.map +0 -1
- package/out/adapters/fcc-bdc/adapter.js +0 -144
- package/out/adapters/fcc-bdc/adapter.js.map +0 -1
- package/out/adapters/geonames-postal/adapter.d.ts.map +0 -1
- package/out/adapters/geonames-postal/adapter.js +0 -107
- package/out/adapters/geonames-postal/adapter.js.map +0 -1
- package/out/adapters/gnaf/adapter.d.ts.map +0 -1
- package/out/adapters/gnaf/adapter.js +0 -124
- package/out/adapters/gnaf/adapter.js.map +0 -1
- package/out/adapters/gnaf/assemble.d.ts +0 -65
- package/out/adapters/gnaf/assemble.d.ts.map +0 -1
- package/out/adapters/gnaf/assemble.js +0 -154
- package/out/adapters/gnaf/assemble.js.map +0 -1
- package/out/adapters/state-hi-schools/adapter.d.ts.map +0 -1
- package/out/adapters/state-hi-schools/adapter.js +0 -145
- package/out/adapters/state-hi-schools/adapter.js.map +0 -1
- package/out/adapters/state-hi-schools/workbook.d.ts.map +0 -1
- package/out/adapters/state-hi-schools/workbook.js.map +0 -1
- package/out/adapters/state-ia-contractors/adapter.d.ts.map +0 -1
- package/out/adapters/state-ia-contractors/adapter.js +0 -111
- package/out/adapters/state-ia-contractors/adapter.js.map +0 -1
- package/out/adapters/state-ny-notaries/adapter.d.ts.map +0 -1
- package/out/adapters/state-ny-notaries/adapter.js +0 -119
- package/out/adapters/state-ny-notaries/adapter.js.map +0 -1
- package/out/adapters/state-tx-notaries/adapter.d.ts.map +0 -1
- package/out/adapters/state-tx-notaries/adapter.js +0 -125
- package/out/adapters/state-tx-notaries/adapter.js.map +0 -1
- package/out/adapters/tiger/adapter.d.ts +0 -55
- package/out/adapters/tiger/adapter.d.ts.map +0 -1
- package/out/adapters/tiger/adapter.js +0 -201
- package/out/adapters/tiger/adapter.js.map +0 -1
- package/out/adapters/tiger/street-decompose.d.ts.map +0 -1
- package/out/adapters/tiger/street-decompose.js.map +0 -1
- package/out/adapters/usgov-hrsa-fqhc/adapter.d.ts.map +0 -1
- package/out/adapters/usgov-hrsa-fqhc/adapter.js +0 -132
- package/out/adapters/usgov-hrsa-fqhc/adapter.js.map +0 -1
- package/out/adapters/usgov-imls-pls/adapter.d.ts.map +0 -1
- package/out/adapters/usgov-imls-pls/adapter.js +0 -114
- package/out/adapters/usgov-imls-pls/adapter.js.map +0 -1
- package/out/adapters/usgov-irs-bmf/adapter.d.ts.map +0 -1
- package/out/adapters/usgov-irs-bmf/adapter.js +0 -120
- package/out/adapters/usgov-irs-bmf/adapter.js.map +0 -1
- package/out/adapters/usgov-nad/adapter.d.ts.map +0 -1
- package/out/adapters/usgov-nad/adapter.js +0 -249
- package/out/adapters/usgov-nad/adapter.js.map +0 -1
- package/out/adapters/usgov-nppes/adapter.d.ts.map +0 -1
- package/out/adapters/usgov-nppes/adapter.js +0 -118
- package/out/adapters/usgov-nppes/adapter.js.map +0 -1
- package/out/adapters/usgov-samhsa-treatment-locator/adapter.d.ts.map +0 -1
- package/out/adapters/usgov-samhsa-treatment-locator/adapter.js +0 -154
- package/out/adapters/usgov-samhsa-treatment-locator/adapter.js.map +0 -1
- package/out/adapters/wof-admin-jp/adapter.d.ts.map +0 -1
- package/out/adapters/wof-admin-jp/adapter.js.map +0 -1
- package/out/adapters/wof-admin-json/adapter.d.ts +0 -79
- package/out/adapters/wof-admin-json/adapter.d.ts.map +0 -1
- package/out/adapters/wof-admin-json/adapter.js +0 -197
- package/out/adapters/wof-admin-json/adapter.js.map +0 -1
- package/out/adapters/wof-json-rows.d.ts +0 -62
- package/out/adapters/wof-json-rows.d.ts.map +0 -1
- package/out/adapters/wof-json-rows.js +0 -83
- package/out/adapters/wof-json-rows.js.map +0 -1
- package/out/adapters/wof-postalcode-json/adapter.d.ts +0 -65
- package/out/adapters/wof-postalcode-json/adapter.d.ts.map +0 -1
- package/out/adapters/wof-postalcode-json/adapter.js +0 -151
- package/out/adapters/wof-postalcode-json/adapter.js.map +0 -1
- package/out/codex/us-fips-state.d.ts +0 -41
- package/out/codex/us-fips-state.d.ts.map +0 -1
- package/out/codex/us-fips-state.js +0 -100
- package/out/codex/us-fips-state.js.map +0 -1
- package/out/name-prone-us-suffixes.d.ts +0 -12
- package/out/name-prone-us-suffixes.d.ts.map +0 -1
- package/out/name-prone-us-suffixes.js +0 -12
- package/out/name-prone-us-suffixes.js.map +0 -1
- package/out/recipes/bare-country.d.ts +0 -25
- package/out/recipes/bare-country.d.ts.map +0 -1
- package/out/recipes/bare-country.js +0 -87
- package/out/recipes/bare-country.js.map +0 -1
- package/out/recipes/cn-organizational-units.d.ts +0 -36
- package/out/recipes/cn-organizational-units.d.ts.map +0 -1
- package/out/recipes/cn-organizational-units.js +0 -159
- package/out/recipes/cn-organizational-units.js.map +0 -1
- package/out/recipes/cz-pcfirst-preposition.d.ts +0 -22
- package/out/recipes/cz-pcfirst-preposition.d.ts.map +0 -1
- package/out/recipes/cz-pcfirst-preposition.js +0 -100
- package/out/recipes/cz-pcfirst-preposition.js.map +0 -1
- package/out/recipes/fr-admin-split.d.ts +0 -38
- package/out/recipes/fr-admin-split.d.ts.map +0 -1
- package/out/recipes/fr-admin-split.js +0 -192
- package/out/recipes/fr-admin-split.js.map +0 -1
- package/out/recipes/fr-bare-street.d.ts +0 -28
- package/out/recipes/fr-bare-street.d.ts.map +0 -1
- package/out/recipes/fr-bare-street.js +0 -143
- package/out/recipes/fr-bare-street.js.map +0 -1
- package/out/recipes/fr-fragment.d.ts +0 -77
- package/out/recipes/fr-fragment.d.ts.map +0 -1
- package/out/recipes/fr-fragment.js +0 -276
- package/out/recipes/fr-fragment.js.map +0 -1
- package/out/recipes/fr-lieudit.d.ts +0 -32
- package/out/recipes/fr-lieudit.d.ts.map +0 -1
- package/out/recipes/fr-lieudit.js +0 -227
- package/out/recipes/fr-lieudit.js.map +0 -1
- package/out/recipes/fr-order.d.ts +0 -38
- package/out/recipes/fr-order.d.ts.map +0 -1
- package/out/recipes/fr-order.js +0 -197
- package/out/recipes/fr-order.js.map +0 -1
- package/out/recipes/german.d.ts +0 -44
- package/out/recipes/german.d.ts.map +0 -1
- package/out/recipes/german.js +0 -288
- package/out/recipes/german.js.map +0 -1
- package/out/recipes/locale.d.ts +0 -136
- package/out/recipes/locale.d.ts.map +0 -1
- package/out/recipes/locale.js +0 -460
- package/out/recipes/locale.js.map +0 -1
- package/out/recipes/nl-postcode.d.ts +0 -26
- package/out/recipes/nl-postcode.d.ts.map +0 -1
- package/out/recipes/nl-postcode.js +0 -102
- package/out/recipes/nl-postcode.js.map +0 -1
- package/out/recipes/no-fragment.d.ts +0 -43
- package/out/recipes/no-fragment.d.ts.map +0 -1
- package/out/recipes/no-fragment.js +0 -182
- package/out/recipes/no-fragment.js.map +0 -1
- package/out/recipes/no-street-led.d.ts +0 -24
- package/out/recipes/no-street-led.d.ts.map +0 -1
- package/out/recipes/no-street-led.js +0 -113
- package/out/recipes/no-street-led.js.map +0 -1
- package/out/recipes/no-street.d.ts +0 -18
- package/out/recipes/no-street.d.ts.map +0 -1
- package/out/recipes/no-street.js +0 -71
- package/out/recipes/no-street.js.map +0 -1
- package/out/recipes/po-box-cedex.d.ts +0 -38
- package/out/recipes/po-box-cedex.d.ts.map +0 -1
- package/out/recipes/po-box-cedex.js +0 -767
- package/out/recipes/po-box-cedex.js.map +0 -1
- package/out/recipes/po-box.d.ts +0 -17
- package/out/recipes/po-box.d.ts.map +0 -1
- package/out/recipes/po-box.js +0 -100
- package/out/recipes/po-box.js.map +0 -1
- package/out/recipes/reviewed-postcode-tail.d.ts.map +0 -1
- package/out/recipes/reviewed-postcode-tail.js.map +0 -1
- package/out/recipes/si-bare-village.d.ts +0 -32
- package/out/recipes/si-bare-village.d.ts.map +0 -1
- package/out/recipes/si-bare-village.js +0 -88
- package/out/recipes/si-bare-village.js.map +0 -1
- package/out/recipes/street-affix.d.ts +0 -89
- package/out/recipes/street-affix.d.ts.map +0 -1
- package/out/recipes/street-affix.js +0 -563
- package/out/recipes/street-affix.js.map +0 -1
- package/out/recipes/street-bare.d.ts +0 -25
- package/out/recipes/street-bare.d.ts.map +0 -1
- package/out/recipes/street-bare.js +0 -86
- package/out/recipes/street-bare.js.map +0 -1
- package/out/recipes/sub-venue-sources.d.ts +0 -229
- package/out/recipes/sub-venue-sources.d.ts.map +0 -1
- package/out/recipes/sub-venue-sources.js +0 -653
- package/out/recipes/sub-venue-sources.js.map +0 -1
- package/out/recipes/sub-venue.d.ts +0 -269
- package/out/recipes/sub-venue.d.ts.map +0 -1
- package/out/recipes/sub-venue.js +0 -725
- package/out/recipes/sub-venue.js.map +0 -1
- package/out/synthesizers/german.d.ts +0 -115
- package/out/synthesizers/german.d.ts.map +0 -1
- package/out/synthesizers/german.js +0 -149
- package/out/synthesizers/german.js.map +0 -1
- package/out/tools/fetch/ban.d.ts +0 -31
- package/out/tools/fetch/ban.d.ts.map +0 -1
- package/out/tools/fetch/ban.js +0 -239
- package/out/tools/fetch/ban.js.map +0 -1
- package/out/tools/fetch/download.d.ts +0 -117
- package/out/tools/fetch/download.d.ts.map +0 -1
- package/out/tools/fetch/download.js +0 -160
- package/out/tools/fetch/download.js.map +0 -1
- package/out/tools/fetch/geonames-dump.d.ts +0 -91
- package/out/tools/fetch/geonames-dump.d.ts.map +0 -1
- package/out/tools/fetch/geonames-dump.js +0 -171
- package/out/tools/fetch/geonames-dump.js.map +0 -1
- package/out/tools/fetch/geonames-postal.d.ts +0 -76
- package/out/tools/fetch/geonames-postal.d.ts.map +0 -1
- package/out/tools/fetch/geonames-postal.js +0 -126
- package/out/tools/fetch/geonames-postal.js.map +0 -1
- package/out/tools/fetch/hrsa.d.ts +0 -18
- package/out/tools/fetch/hrsa.d.ts.map +0 -1
- package/out/tools/fetch/hrsa.js +0 -46
- package/out/tools/fetch/hrsa.js.map +0 -1
- package/out/tools/fetch/imls-pls.d.ts +0 -25
- package/out/tools/fetch/imls-pls.d.ts.map +0 -1
- package/out/tools/fetch/imls-pls.js +0 -108
- package/out/tools/fetch/imls-pls.js.map +0 -1
- package/out/tools/fetch/nad.d.ts +0 -70
- package/out/tools/fetch/nad.d.ts.map +0 -1
- package/out/tools/fetch/nad.js +0 -234
- package/out/tools/fetch/nad.js.map +0 -1
- package/out/tools/fetch/nppes.d.ts +0 -26
- package/out/tools/fetch/nppes.d.ts.map +0 -1
- package/out/tools/fetch/nppes.js +0 -126
- package/out/tools/fetch/nppes.js.map +0 -1
- package/out/tools/fetch/state-hi-schools.d.ts +0 -26
- package/out/tools/fetch/state-hi-schools.d.ts.map +0 -1
- package/out/tools/fetch/state-hi-schools.js +0 -112
- package/out/tools/fetch/state-hi-schools.js.map +0 -1
- package/out/tools/fetch/state-sources.d.ts +0 -26
- package/out/tools/fetch/state-sources.d.ts.map +0 -1
- package/out/tools/fetch/state-sources.js +0 -111
- package/out/tools/fetch/state-sources.js.map +0 -1
- package/out/tools/fetch/tiger-full.d.ts +0 -22
- package/out/tools/fetch/tiger-full.d.ts.map +0 -1
- package/out/tools/fetch/tiger-full.js +0 -217
- package/out/tools/fetch/tiger-full.js.map +0 -1
- package/out/tools/golden-expand.d.ts +0 -90
- package/out/tools/golden-expand.d.ts.map +0 -1
- package/out/tools/golden-expand.js +0 -406
- package/out/tools/golden-expand.js.map +0 -1
- package/out/tools/golden-promote.d.ts +0 -72
- package/out/tools/golden-promote.d.ts.map +0 -1
- package/out/tools/golden-promote.js +0 -240
- package/out/tools/golden-promote.js.map +0 -1
- package/out/tools/golden-relabel-street.d.ts +0 -196
- package/out/tools/golden-relabel-street.d.ts.map +0 -1
- package/out/tools/golden-relabel-street.js +0 -440
- package/out/tools/golden-relabel-street.js.map +0 -1
- package/out/tools/lint-slice-vocab.d.ts +0 -90
- package/out/tools/lint-slice-vocab.d.ts.map +0 -1
- package/out/tools/lint-slice-vocab.js +0 -267
- package/out/tools/lint-slice-vocab.js.map +0 -1
- package/out/tools/lint-slice.d.ts +0 -93
- package/out/tools/lint-slice.d.ts.map +0 -1
- package/out/tools/lint-slice.js +0 -322
- package/out/tools/lint-slice.js.map +0 -1
- package/out/tools/slice-kryptonite.d.ts +0 -32
- package/out/tools/slice-kryptonite.d.ts.map +0 -1
- package/out/tools/slice-kryptonite.js +0 -99
- package/out/tools/slice-kryptonite.js.map +0 -1
- package/out/tools/slice-translit.d.ts +0 -51
- package/out/tools/slice-translit.d.ts.map +0 -1
- package/out/tools/slice-translit.js +0 -166
- package/out/tools/slice-translit.js.map +0 -1
- package/out/tools/sub-venue/harvest.d.ts +0 -100
- package/out/tools/sub-venue/harvest.d.ts.map +0 -1
- package/out/tools/sub-venue/harvest.js +0 -168
- package/out/tools/sub-venue/harvest.js.map +0 -1
- package/out/tools/sub-venue/head-nouns.d.ts +0 -50
- package/out/tools/sub-venue/head-nouns.d.ts.map +0 -1
- package/out/tools/sub-venue/head-nouns.js.map +0 -1
- package/out/tools/sub-venue/surfaces.d.ts +0 -45
- package/out/tools/sub-venue/surfaces.d.ts.map +0 -1
- package/out/tools/sub-venue/surfaces.js.map +0 -1
- package/out/tools/sub-venue/table.d.ts +0 -229
- package/out/tools/sub-venue/table.d.ts.map +0 -1
- package/out/tools/sub-venue/table.js.map +0 -1
- package/out/tools/sub-venue/wikidata.d.ts +0 -26
- package/out/tools/sub-venue/wikidata.d.ts.map +0 -1
- package/out/tools/sub-venue/wikidata.js +0 -62
- package/out/tools/sub-venue/wikidata.js.map +0 -1
- package/out/tools/sub-venue-lexicon.d.ts +0 -156
- package/out/tools/sub-venue-lexicon.d.ts.map +0 -1
- package/out/tools/sub-venue-lexicon.js +0 -283
- package/out/tools/sub-venue-lexicon.js.map +0 -1
- package/out/tools/sub-venue-promotions.d.ts +0 -94
- package/out/tools/sub-venue-promotions.d.ts.map +0 -1
- package/out/tools/sub-venue-promotions.js +0 -266
- package/out/tools/sub-venue-promotions.js.map +0 -1
- /package/lib/{recipes/cn-organizational-units.ts → cn/recipes/organizational-units.ts} +0 -0
- /package/lib/{adapters → fr/adapters}/ban/street-decompose.ts +0 -0
- /package/lib/{adapters/wof-admin-jp → jp/adapters/wof-admin}/adapter.ts +0 -0
- /package/lib/tools/{golden-expand.ts → golden/expand.ts} +0 -0
- /package/lib/tools/{lint-slice.ts → lint/slice/index.ts} +0 -0
- /package/lib/tools/{slice-kryptonite.ts → slice/kryptonite.ts} +0 -0
- /package/lib/tools/{slice-translit.ts → slice/translit.ts} +0 -0
- /package/lib/tools/{sub-venue-promotions.ts → sub/venue/promotions.ts} +0 -0
- /package/lib/{adapters/state-hi-schools → us/adapters/state/hi-schools}/workbook.ts +0 -0
- /package/lib/{adapters → us/adapters}/tiger/street-decompose.ts +0 -0
- /package/lib/{codex/us-fips-state.ts → us/fips-state.ts} +0 -0
- /package/lib/{recipes → ve/recipes}/reviewed-postcode-tail.ts +0 -0
- /package/out/adapters/{geonames-postal → geonames/postal}/adapter.d.ts +0 -0
- /package/out/{adapters → au/adapters}/gnaf/adapter.d.ts +0 -0
- /package/out/{adapters → fr/adapters}/ban/adapter.d.ts +0 -0
- /package/out/{adapters → fr/adapters}/ban/street-decompose.d.ts +0 -0
- /package/out/{adapters → fr/adapters}/ban/street-decompose.js +0 -0
- /package/out/{adapters/wof-admin-jp → jp/adapters/wof-admin}/adapter.d.ts +0 -0
- /package/out/{adapters/wof-admin-jp → jp/adapters/wof-admin}/adapter.js +0 -0
- /package/out/tools/{sub-venue → sub/venue}/head-nouns.js +0 -0
- /package/out/tools/{sub-venue → sub/venue}/surfaces.js +0 -0
- /package/out/tools/{sub-venue → sub/venue}/table.js +0 -0
- /package/out/{adapters → us/adapters}/fcc-bdc/adapter.d.ts +0 -0
- /package/out/{adapters/state-hi-schools → us/adapters/state/hi-schools}/adapter.d.ts +0 -0
- /package/out/{adapters/state-hi-schools → us/adapters/state/hi-schools}/workbook.d.ts +0 -0
- /package/out/{adapters/state-hi-schools → us/adapters/state/hi-schools}/workbook.js +0 -0
- /package/out/{adapters/state-ia-contractors → us/adapters/state/ia-contractors}/adapter.d.ts +0 -0
- /package/out/{adapters/state-ny-notaries → us/adapters/state/ny-notaries}/adapter.d.ts +0 -0
- /package/out/{adapters/state-tx-notaries → us/adapters/state/tx-notaries}/adapter.d.ts +0 -0
- /package/out/{adapters → us/adapters}/tiger/street-decompose.d.ts +0 -0
- /package/out/{adapters → us/adapters}/tiger/street-decompose.js +0 -0
- /package/out/{adapters/usgov-hrsa-fqhc → us/adapters/usgov/hrsa-fqhc}/adapter.d.ts +0 -0
- /package/out/{adapters/usgov-imls-pls → us/adapters/usgov/imls-pls}/adapter.d.ts +0 -0
- /package/out/{adapters/usgov-irs-bmf → us/adapters/usgov/irs-bmf}/adapter.d.ts +0 -0
- /package/out/{adapters/usgov-nad → us/adapters/usgov/nad}/adapter.d.ts +0 -0
- /package/out/{adapters/usgov-nppes → us/adapters/usgov/nppes}/adapter.d.ts +0 -0
- /package/out/{adapters/usgov-samhsa-treatment-locator → us/adapters/usgov/samhsa-treatment-locator}/adapter.d.ts +0 -0
- /package/out/{recipes → ve/recipes}/reviewed-postcode-tail.d.ts +0 -0
- /package/out/{recipes → ve/recipes}/reviewed-postcode-tail.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sub-venue.js","sourceRoot":"","sources":["../../lib/recipes/sub-venue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @copyright Sister Software
|
|
3
|
-
* @license AGPL-3.0
|
|
4
|
-
* @author Teffen Ellis, et al.
|
|
5
|
-
*
|
|
6
|
-
* German address synthesizer — multi-locale coverage (night-shift 2026-06-02, DE-1).
|
|
7
|
-
*
|
|
8
|
-
* The neural model is out-of-distribution on German: it truncates `Straußstraße`→`Strau` (exits at
|
|
9
|
-
* the ß-piece boundary), absorbs the house number into the street (`Hauptstraße 5` → one span),
|
|
10
|
-
* and mis-tags the native-order house number as a postcode (`Prenzlauer Allee 36, 10405 Berlin` →
|
|
11
|
-
* postcode `36`). The cause is ORDER: the model was trained US+FR (house-number-FIRST,
|
|
12
|
-
* postcode-AFTER-city), and never saw the German convention (house-number-AFTER-street,
|
|
13
|
-
* postcode-BEFORE-city). DE-0 confirmed the tokenizer round-trips German orthography cleanly, so
|
|
14
|
-
* this is a coverage gap, not a tokenizer ceiling.
|
|
15
|
-
*
|
|
16
|
-
* This generator produces the missing signal as a small targeted supplement slice
|
|
17
|
-
* (synthesis-as-supplement discipline: weight < 0.25, one-and-done). It does NOT synthesize
|
|
18
|
-
* German street names (German morphology is hard to fake) — it takes REAL German component tuples
|
|
19
|
-
* (from OpenAddresses Berlin/Saxony) and renders them in idiomatic German order via the OpenCage
|
|
20
|
-
* `DE` template (`formatAddress(..., "DE")` → `"Straußstraße 27, 12623 Berlin"`). The corpus
|
|
21
|
-
* aligner turns the row into BIO labels; every emitted component surface form occurs verbatim in
|
|
22
|
-
* `raw` so alignment lands.
|
|
23
|
-
*/
|
|
24
|
-
import type { CanonicalRow } from "#types";
|
|
25
|
-
/**
|
|
26
|
-
* A real address tuple (e.g. one OpenAddresses row): street + locality required, rest optional.
|
|
27
|
-
*/
|
|
28
|
-
export interface LocaleBaseTuple {
|
|
29
|
-
house_number?: string;
|
|
30
|
-
street: string;
|
|
31
|
-
locality: string;
|
|
32
|
-
/**
|
|
33
|
-
* A sub-locality that sits BELOW the locality (a suburb / district). NZ is the case that needs it: the OA DISTRICT
|
|
34
|
-
* column holds the city (`Auckland`) and CITY holds the suburb (`Birkenhead`), so the real envelope carries both (`31
|
|
35
|
-
* Rawene Road, Birkenhead, Auckland`). Rendered between street and locality in both orders when present.
|
|
36
|
-
*/
|
|
37
|
-
dependent_locality?: string;
|
|
38
|
-
region?: string;
|
|
39
|
-
postcode?: string;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* @deprecated Alias — use LocaleBaseTuple.
|
|
43
|
-
*/
|
|
44
|
-
export type GermanBaseTuple = LocaleBaseTuple;
|
|
45
|
-
export interface SynthesizedLocaleRow {
|
|
46
|
-
raw: string;
|
|
47
|
-
components: CanonicalRow["components"];
|
|
48
|
-
locale: string;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* @deprecated Alias — use SynthesizedLocaleRow.
|
|
52
|
-
*/
|
|
53
|
-
export type SynthesizedGermanRow = SynthesizedLocaleRow;
|
|
54
|
-
export interface LocaleSynthesisOpts {
|
|
55
|
-
random?: () => number;
|
|
56
|
-
/**
|
|
57
|
-
* Rendering order for the SAME components. `"native"` (default) uses the country's own template (DE →
|
|
58
|
-
* house-AFTER-street, postcode-BEFORE-city). `"international"` renders house-FIRST, postcode-AFTER-city — the US/GB
|
|
59
|
-
* layout that international feeds, US-centric systems, and our own OpenAddresses de-sample impose on non-US
|
|
60
|
-
* addresses. Training both teaches the model that a German address can arrive either way, so the eval's US-order
|
|
61
|
-
* rendering stops reading as a collapse. See `docs/articles/evals/resolver-geo/2026-06-06-anchor-pilot.md` (the
|
|
62
|
-
* order-artifact correction).
|
|
63
|
-
*/
|
|
64
|
-
order?: "native" | "international";
|
|
65
|
-
/**
|
|
66
|
-
* Postcode surface shape. `"conventional"` (default) canonicalizes to the country's rendered form (NL: OA's glued
|
|
67
|
-
* `1011AB` → the spaced `1011 AB`); `"as-source"` keeps the source's own surface — the form OA (and the OA-derived
|
|
68
|
-
* evals) feed, which for NL is 100% glued. Only NL differs today; every other country passes through identically
|
|
69
|
-
* either way. Mixing both teaches the two-letter-suffix `1012 LM` shape AND the glued feed shape (#241 — the model
|
|
70
|
-
* currently glues the suffix onto the city).
|
|
71
|
-
*/
|
|
72
|
-
postcodeShape?: "conventional" | "as-source";
|
|
73
|
-
/**
|
|
74
|
-
* How the NATIVE-order render joins street and house number. The OpenCage ES template comma-joins (`Calle Mayor, 12`
|
|
75
|
-
* — the official Spanish convention); OA-derived feeds and our ES eval space-join (`CALLE MAYOR 12`, the observed
|
|
76
|
-
* form on all 3,000 eval rows). `"template"` (default) keeps the template's own join; `"space"` collapses `<street>,
|
|
77
|
-
* <house_number>` → `<street> <house_number>` after rendering. Countries whose template already space-joins
|
|
78
|
-
* (DE/IT/NL) render identically under both. Mixing both stops an ES slice from teaching the comma as THE street→house
|
|
79
|
-
* boundary signal (#241 format-diversity audit). International order ignores this (the US template is already
|
|
80
|
-
* house-first space-joined).
|
|
81
|
-
*/
|
|
82
|
-
nativeHouseJoin?: "template" | "space";
|
|
83
|
-
/**
|
|
84
|
-
* The string between rendered address lines. `", "` (default) is the template's own join. `" "` renders the
|
|
85
|
-
* comma-free single-line register — dictation, a copy out of a one-field form — `Neusser Str. 12 Nippes 50733 Köln`
|
|
86
|
-
* for the same components. Stage 2 segments the comma form into three and the comma-free form into ONE, and a single
|
|
87
|
-
* segment starves the placetype-pair prior, which is how the comma-free form loses `Nippes` (#1946). Only the native
|
|
88
|
-
* order reads it; the international layout keeps its own separator.
|
|
89
|
-
*/
|
|
90
|
-
separator?: ", " | " ";
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* @deprecated Alias — use LocaleSynthesisOpts.
|
|
94
|
-
*/
|
|
95
|
-
export type GermanSynthesisOpts = LocaleSynthesisOpts;
|
|
96
|
-
/**
|
|
97
|
-
* Render one real tuple into an idiomatic, locale-ordered `{raw, components}` row via the OpenCage `country` template
|
|
98
|
-
* (DE → house-after-street + postcode-before-city; ES/IT the same; GB house-first; NL carries the `1012 LM` postcode),
|
|
99
|
-
* with light variation (drop house number / postcode some of the time). Returns `null` when the tuple is too thin or a
|
|
100
|
-
* component wouldn't align cleanly.
|
|
101
|
-
*
|
|
102
|
-
* Region handling is order-dependent: NATIVE order omits it (the native template absorbs the admin region into the
|
|
103
|
-
* postcode/city line, so it rarely renders verbatim and would break BIO alignment), while INTERNATIONAL order includes
|
|
104
|
-
* it in the tail ("City, Region Postcode" — the US/feed layout the eval uses; v0.9.3 / #327).
|
|
105
|
-
*
|
|
106
|
-
* Pass `opts.order: "international"` to render the same components house-first / postcode-after-city instead (see
|
|
107
|
-
* {@link LocaleSynthesisOpts.order}) — the layout international feeds impose on foreign addresses, and the one a
|
|
108
|
-
* native-order-trained model treats as a "collapse."
|
|
109
|
-
*/
|
|
110
|
-
export declare function synthesizeLocaleRow(base: LocaleBaseTuple, country: string, opts?: LocaleSynthesisOpts): SynthesizedLocaleRow | null;
|
|
111
|
-
/**
|
|
112
|
-
* German wrapper over {@link synthesizeLocaleRow}. Kept for the build-german-slice caller + tests.
|
|
113
|
-
*/
|
|
114
|
-
export declare function synthesizeGermanRow(base: LocaleBaseTuple, opts?: LocaleSynthesisOpts): SynthesizedLocaleRow | null;
|
|
115
|
-
//# sourceMappingURL=german.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"german.d.ts","sourceRoot":"","sources":["../../lib/synthesizers/german.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAE1C;;GAEG;AAOH,MAAM,WAAW,eAAe;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,eAAe,CAAA;AAE7C,MAAM,WAAW,oBAAoB;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AAEvD,MAAM,WAAW,mBAAmB;IACnC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;IACrB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAA;IAClC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,cAAc,GAAG,WAAW,CAAA;IAC5C;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,UAAU,GAAG,OAAO,CAAA;IACtC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,IAAI,GAAG,GAAG,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,CAAA;AAgDrD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,mBAAwB,GAC5B,oBAAoB,GAAG,IAAI,CA0E7B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,eAAe,EACrB,IAAI,GAAE,mBAAwB,GAC5B,oBAAoB,GAAG,IAAI,CAE7B"}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @copyright Sister Software
|
|
3
|
-
* @license AGPL-3.0
|
|
4
|
-
* @author Teffen Ellis, et al.
|
|
5
|
-
*
|
|
6
|
-
* German address synthesizer — multi-locale coverage (night-shift 2026-06-02, DE-1).
|
|
7
|
-
*
|
|
8
|
-
* The neural model is out-of-distribution on German: it truncates `Straußstraße`→`Strau` (exits at
|
|
9
|
-
* the ß-piece boundary), absorbs the house number into the street (`Hauptstraße 5` → one span),
|
|
10
|
-
* and mis-tags the native-order house number as a postcode (`Prenzlauer Allee 36, 10405 Berlin` →
|
|
11
|
-
* postcode `36`). The cause is ORDER: the model was trained US+FR (house-number-FIRST,
|
|
12
|
-
* postcode-AFTER-city), and never saw the German convention (house-number-AFTER-street,
|
|
13
|
-
* postcode-BEFORE-city). DE-0 confirmed the tokenizer round-trips German orthography cleanly, so
|
|
14
|
-
* this is a coverage gap, not a tokenizer ceiling.
|
|
15
|
-
*
|
|
16
|
-
* This generator produces the missing signal as a small targeted supplement slice
|
|
17
|
-
* (synthesis-as-supplement discipline: weight < 0.25, one-and-done). It does NOT synthesize
|
|
18
|
-
* German street names (German morphology is hard to fake) — it takes REAL German component tuples
|
|
19
|
-
* (from OpenAddresses Berlin/Saxony) and renders them in idiomatic German order via the OpenCage
|
|
20
|
-
* `DE` template (`formatAddress(..., "DE")` → `"Straußstraße 27, 12623 Berlin"`). The corpus
|
|
21
|
-
* aligner turns the row into BIO labels; every emitted component surface form occurs verbatim in
|
|
22
|
-
* `raw` so alignment lands.
|
|
23
|
-
*/
|
|
24
|
-
import { formatAddress } from "@mailwoman/formatter";
|
|
25
|
-
/**
|
|
26
|
-
* ISO-3166 alpha-2 → BCP-47 tag for the emitted rows (primary language per country).
|
|
27
|
-
*/
|
|
28
|
-
const LOCALE_TAG = {
|
|
29
|
-
DE: "de-DE",
|
|
30
|
-
ES: "es-ES",
|
|
31
|
-
IT: "it-IT",
|
|
32
|
-
NL: "nl-NL",
|
|
33
|
-
GB: "en-GB",
|
|
34
|
-
FR: "fr-FR",
|
|
35
|
-
US: "en-US",
|
|
36
|
-
NZ: "en-NZ",
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* Canonicalize a postcode to the form the country's template renders, so the stored component aligns verbatim against
|
|
40
|
-
* `raw`. NL is the case that needs it: OA stores `1011AB` but the OpenCage NL template emits the conventional spaced
|
|
41
|
-
* `1011 AB` (4 digits + space + 2 letters), which otherwise fails verbatim alignment and drops the row. Other countries
|
|
42
|
-
* pass through unchanged.
|
|
43
|
-
*/
|
|
44
|
-
function normalizePostcode(postcode, country) {
|
|
45
|
-
if (country === "NL") {
|
|
46
|
-
const m = /^(\d{4})\s*([A-Za-z]{2})$/.exec(postcode);
|
|
47
|
-
if (m)
|
|
48
|
-
return `${m[1]} ${m[2].toUpperCase()}`;
|
|
49
|
-
}
|
|
50
|
-
return postcode;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* True when `value` appears verbatim AND as a standalone token (so BIO alignment lands cleanly).
|
|
54
|
-
*/
|
|
55
|
-
function tokenPresent(raw, value) {
|
|
56
|
-
if (!raw.includes(value))
|
|
57
|
-
return false;
|
|
58
|
-
// Reject substring-of-a-larger-number collisions (e.g. house "2" inside postcode "12623").
|
|
59
|
-
const i = raw.indexOf(value);
|
|
60
|
-
const before = raw[i - 1];
|
|
61
|
-
const after = raw[i + value.length];
|
|
62
|
-
const isDigit = (c) => c !== undefined && c >= "0" && c <= "9";
|
|
63
|
-
if (/^\d+$/.test(value) && (isDigit(before) || isDigit(after)))
|
|
64
|
-
return false;
|
|
65
|
-
return true;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Render one real tuple into an idiomatic, locale-ordered `{raw, components}` row via the OpenCage `country` template
|
|
69
|
-
* (DE → house-after-street + postcode-before-city; ES/IT the same; GB house-first; NL carries the `1012 LM` postcode),
|
|
70
|
-
* with light variation (drop house number / postcode some of the time). Returns `null` when the tuple is too thin or a
|
|
71
|
-
* component wouldn't align cleanly.
|
|
72
|
-
*
|
|
73
|
-
* Region handling is order-dependent: NATIVE order omits it (the native template absorbs the admin region into the
|
|
74
|
-
* postcode/city line, so it rarely renders verbatim and would break BIO alignment), while INTERNATIONAL order includes
|
|
75
|
-
* it in the tail ("City, Region Postcode" — the US/feed layout the eval uses; v0.9.3 / #327).
|
|
76
|
-
*
|
|
77
|
-
* Pass `opts.order: "international"` to render the same components house-first / postcode-after-city instead (see
|
|
78
|
-
* {@link LocaleSynthesisOpts.order}) — the layout international feeds impose on foreign addresses, and the one a
|
|
79
|
-
* native-order-trained model treats as a "collapse."
|
|
80
|
-
*/
|
|
81
|
-
export function synthesizeLocaleRow(base, country, opts = {}) {
|
|
82
|
-
const random = opts.random ?? Math.random;
|
|
83
|
-
const order = opts.order ?? "native";
|
|
84
|
-
if (!base.street || !base.locality)
|
|
85
|
-
return null;
|
|
86
|
-
const components = { street: base.street, locality: base.locality };
|
|
87
|
-
// Sub-locality (suburb / district) sits between street and locality and renders in BOTH orders — it's part
|
|
88
|
-
// of the address body, not the admin-region tail that native order drops. NZ needs it (suburb + city both on
|
|
89
|
-
// the envelope). The tokenPresent check below drops the row if the template didn't surface it verbatim.
|
|
90
|
-
if (base.dependent_locality) {
|
|
91
|
-
components.dependent_locality = base.dependent_locality;
|
|
92
|
-
}
|
|
93
|
-
// ~80% keep the house number (the rest are street-only forms, also idiomatic).
|
|
94
|
-
if (base.house_number && random() < 0.8) {
|
|
95
|
-
components.house_number = base.house_number;
|
|
96
|
-
}
|
|
97
|
-
// ~85% keep the postcode (canonicalized to the country's rendered form — NL spaces it). The
|
|
98
|
-
// `postcodeShape: "as-source"` rewrite happens AFTER the render: the OpenCage NL template
|
|
99
|
-
// normalizes the postcode itself, so a glued input can't survive rendering directly.
|
|
100
|
-
if (base.postcode && random() < 0.85) {
|
|
101
|
-
components.postcode = normalizePostcode(base.postcode, country);
|
|
102
|
-
}
|
|
103
|
-
// International order carries the REGION in the tail ("City, Region Postcode") — the layout real
|
|
104
|
-
// US/feed renderings (and our OA eval) use. v0.9.2 rendered international order WITHOUT the region,
|
|
105
|
-
// so the model never learned to segment the tail and mangled it at eval (region absorbed into the
|
|
106
|
-
// locality / locality dropped); v0.9.3 closes that gap (#327). Native order still drops the region
|
|
107
|
-
// (the native template absorbs it into the city line, which would break verbatim alignment).
|
|
108
|
-
if (order === "international" && base.region) {
|
|
109
|
-
components.region = base.region;
|
|
110
|
-
}
|
|
111
|
-
// Native order uses the address's own country template; international order uses the US template —
|
|
112
|
-
// house-first, postcode-after-city, with a region slot for the tail. Neither branch consumes a
|
|
113
|
-
// `random()` draw for the template, so the RNG sequence existing callers/tests depend on is stable.
|
|
114
|
-
const renderCountry = order === "international" ? "US" : country;
|
|
115
|
-
const separator = order === "native" ? (opts.separator ?? ", ") : ", ";
|
|
116
|
-
let raw = formatAddress(components, renderCountry, { separator });
|
|
117
|
-
if (!raw)
|
|
118
|
-
return null;
|
|
119
|
-
// Native-order space-join (see {@link LocaleSynthesisOpts.nativeHouseJoin}): collapse the template's
|
|
120
|
-
// `<street>, <hn>` comma to a space — the OA/feed layout. A no-op for templates that already
|
|
121
|
-
// space-join (the substring isn't present), and skipped when the house number was dropped above.
|
|
122
|
-
if (order === "native" && separator === ", " && opts.nativeHouseJoin === "space" && components.house_number) {
|
|
123
|
-
raw = raw.replace(`${components.street}, ${components.house_number}`, `${components.street} ${components.house_number}`);
|
|
124
|
-
}
|
|
125
|
-
// `postcodeShape: "as-source"` (see {@link LocaleSynthesisOpts.postcodeShape}): rewrite BOTH raw and
|
|
126
|
-
// the component back to the source's own surface (NL glued `1011AB`). Post-render because the
|
|
127
|
-
// OpenCage NL template normalizes the postcode to the spaced form no matter what it's given.
|
|
128
|
-
if (opts.postcodeShape === "as-source" && components.postcode && base.postcode) {
|
|
129
|
-
const sourceForm = base.postcode.trim();
|
|
130
|
-
if (sourceForm && sourceForm !== components.postcode && raw.includes(components.postcode)) {
|
|
131
|
-
raw = raw.replace(components.postcode, sourceForm);
|
|
132
|
-
components.postcode = sourceForm;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
// Every component must align — drop the row if the template didn't surface one verbatim, or a
|
|
136
|
-
// numeric component collides with a neighbouring digit run.
|
|
137
|
-
for (const value of Object.values(components)) {
|
|
138
|
-
if (!value || !tokenPresent(raw, value))
|
|
139
|
-
return null;
|
|
140
|
-
}
|
|
141
|
-
return { raw, components, locale: LOCALE_TAG[country] ?? country.toLowerCase() };
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* German wrapper over {@link synthesizeLocaleRow}. Kept for the build-german-slice caller + tests.
|
|
145
|
-
*/
|
|
146
|
-
export function synthesizeGermanRow(base, opts = {}) {
|
|
147
|
-
return synthesizeLocaleRow(base, "DE", opts);
|
|
148
|
-
}
|
|
149
|
-
//# sourceMappingURL=german.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"german.js","sourceRoot":"","sources":["../../lib/synthesizers/german.ts"],"names":[],"mappings":"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"}
|
package/out/tools/fetch/ban.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @copyright Sister Software
|
|
3
|
-
* @license AGPL-3.0
|
|
4
|
-
* @author Teffen Ellis, et al.
|
|
5
|
-
*
|
|
6
|
-
* Fetch the full French BAN (Base Adresse Nationale) — all metropolitan départements (01-95, 2A,
|
|
7
|
-
* 2B) plus 5 overseas DOM/TOM (971-976 excl. 975).
|
|
8
|
-
*
|
|
9
|
-
* Source: https://adresse.data.gouv.fr/data/ban/adresses/latest/csv/
|
|
10
|
-
* Licence: Licence Ouverte 2.0 (attribution required — Tier B).
|
|
11
|
-
*
|
|
12
|
-
* Files already present with matching sha256 are skipped (re-runnable). Downloads `.csv.gz`,
|
|
13
|
-
* decompresses to `.csv`, deletes the `.gz` artifact. One shared `MANIFEST.json` at
|
|
14
|
-
* `<outRoot>/ban/MANIFEST.json` covers all codes.
|
|
15
|
-
*
|
|
16
|
-
* Invoke via `mailwoman corpus fetch ban --out-root <path>`. Built-in `fetch` with gzip/brotli
|
|
17
|
-
* decompression replaces curl; native `node:zlib` gunzip replaces the `gunzip` subprocess; no
|
|
18
|
-
* Python.
|
|
19
|
-
*/
|
|
20
|
-
import type { BaseFetchOptions, FetchSummary } from "#tools/fetch/download";
|
|
21
|
-
export interface BanManifestEntry {
|
|
22
|
-
dept_code: string;
|
|
23
|
-
filename: string;
|
|
24
|
-
source_url: string;
|
|
25
|
-
downloaded_at: string;
|
|
26
|
-
sha256: string;
|
|
27
|
-
bytes: number;
|
|
28
|
-
}
|
|
29
|
-
export type FetchBanOptions = BaseFetchOptions;
|
|
30
|
-
export declare function fetchBan(options: FetchBanOptions, report?: (line: string) => void): Promise<FetchSummary>;
|
|
31
|
-
//# sourceMappingURL=ban.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ban.d.ts","sourceRoot":"","sources":["../../../lib/tools/fetch/ban.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAsH3E,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAA;AAE9C,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAmI/G"}
|
package/out/tools/fetch/ban.js
DELETED
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @copyright Sister Software
|
|
3
|
-
* @license AGPL-3.0
|
|
4
|
-
* @author Teffen Ellis, et al.
|
|
5
|
-
*
|
|
6
|
-
* Fetch the full French BAN (Base Adresse Nationale) — all metropolitan départements (01-95, 2A,
|
|
7
|
-
* 2B) plus 5 overseas DOM/TOM (971-976 excl. 975).
|
|
8
|
-
*
|
|
9
|
-
* Source: https://adresse.data.gouv.fr/data/ban/adresses/latest/csv/
|
|
10
|
-
* Licence: Licence Ouverte 2.0 (attribution required — Tier B).
|
|
11
|
-
*
|
|
12
|
-
* Files already present with matching sha256 are skipped (re-runnable). Downloads `.csv.gz`,
|
|
13
|
-
* decompresses to `.csv`, deletes the `.gz` artifact. One shared `MANIFEST.json` at
|
|
14
|
-
* `<outRoot>/ban/MANIFEST.json` covers all codes.
|
|
15
|
-
*
|
|
16
|
-
* Invoke via `mailwoman corpus fetch ban --out-root <path>`. Built-in `fetch` with gzip/brotli
|
|
17
|
-
* decompression replaces curl; native `node:zlib` gunzip replaces the `gunzip` subprocess; no
|
|
18
|
-
* Python.
|
|
19
|
-
*/
|
|
20
|
-
import { gunzip } from "@mailwoman/core/fs/compression";
|
|
21
|
-
import { BYTES_PER_KIB, ByteFormatter } from "@mailwoman/core/fs/formatters";
|
|
22
|
-
import { isFile, readLocalBuffer, tryStat } from "@mailwoman/core/fs/readers";
|
|
23
|
-
import { makeDirectories, removePath, writeLocalFile } from "@mailwoman/core/fs/writers";
|
|
24
|
-
import { sha256File } from "@mailwoman/core/hash";
|
|
25
|
-
import { sleep } from "@mailwoman/core/utils/sleep";
|
|
26
|
-
import { join } from "path-ts";
|
|
27
|
-
import { downloadToFile, loadManifestEntries, writeManifest } from "#tools/fetch/download";
|
|
28
|
-
/**
|
|
29
|
-
* Bytes per KiB — the divisor for human-readable sizes, and the floor below which a "download" is an error page rather
|
|
30
|
-
* than data.
|
|
31
|
-
*/
|
|
32
|
-
const BASE_URL = "https://adresse.data.gouv.fr/data/ban/adresses/latest/csv";
|
|
33
|
-
/**
|
|
34
|
-
* All département codes — metropolitan 01-95 (with 2A/2B for Corsica instead of 20) plus overseas DOM/TOM. Codes do not
|
|
35
|
-
* change.
|
|
36
|
-
*/
|
|
37
|
-
const DEPT_CODES = [
|
|
38
|
-
"01",
|
|
39
|
-
"02",
|
|
40
|
-
"03",
|
|
41
|
-
"04",
|
|
42
|
-
"05",
|
|
43
|
-
"06",
|
|
44
|
-
"07",
|
|
45
|
-
"08",
|
|
46
|
-
"09",
|
|
47
|
-
"10",
|
|
48
|
-
"11",
|
|
49
|
-
"12",
|
|
50
|
-
"13",
|
|
51
|
-
"14",
|
|
52
|
-
"15",
|
|
53
|
-
"16",
|
|
54
|
-
"17",
|
|
55
|
-
"18",
|
|
56
|
-
"19",
|
|
57
|
-
"21",
|
|
58
|
-
"22",
|
|
59
|
-
"23",
|
|
60
|
-
"24",
|
|
61
|
-
"25",
|
|
62
|
-
"26",
|
|
63
|
-
"27",
|
|
64
|
-
"28",
|
|
65
|
-
"29",
|
|
66
|
-
"2A",
|
|
67
|
-
"2B",
|
|
68
|
-
"30",
|
|
69
|
-
"31",
|
|
70
|
-
"32",
|
|
71
|
-
"33",
|
|
72
|
-
"34",
|
|
73
|
-
"35",
|
|
74
|
-
"36",
|
|
75
|
-
"37",
|
|
76
|
-
"38",
|
|
77
|
-
"39",
|
|
78
|
-
"40",
|
|
79
|
-
"41",
|
|
80
|
-
"42",
|
|
81
|
-
"43",
|
|
82
|
-
"44",
|
|
83
|
-
"45",
|
|
84
|
-
"46",
|
|
85
|
-
"47",
|
|
86
|
-
"48",
|
|
87
|
-
"49",
|
|
88
|
-
"50",
|
|
89
|
-
"51",
|
|
90
|
-
"52",
|
|
91
|
-
"53",
|
|
92
|
-
"54",
|
|
93
|
-
"55",
|
|
94
|
-
"56",
|
|
95
|
-
"57",
|
|
96
|
-
"58",
|
|
97
|
-
"59",
|
|
98
|
-
"60",
|
|
99
|
-
"61",
|
|
100
|
-
"62",
|
|
101
|
-
"63",
|
|
102
|
-
"64",
|
|
103
|
-
"65",
|
|
104
|
-
"66",
|
|
105
|
-
"67",
|
|
106
|
-
"68",
|
|
107
|
-
"69",
|
|
108
|
-
"70",
|
|
109
|
-
"71",
|
|
110
|
-
"72",
|
|
111
|
-
"73",
|
|
112
|
-
"74",
|
|
113
|
-
"75",
|
|
114
|
-
"76",
|
|
115
|
-
"77",
|
|
116
|
-
"78",
|
|
117
|
-
"79",
|
|
118
|
-
"80",
|
|
119
|
-
"81",
|
|
120
|
-
"82",
|
|
121
|
-
"83",
|
|
122
|
-
"84",
|
|
123
|
-
"85",
|
|
124
|
-
"86",
|
|
125
|
-
"87",
|
|
126
|
-
"88",
|
|
127
|
-
"89",
|
|
128
|
-
"90",
|
|
129
|
-
"91",
|
|
130
|
-
"92",
|
|
131
|
-
"93",
|
|
132
|
-
"94",
|
|
133
|
-
"95",
|
|
134
|
-
"971",
|
|
135
|
-
"972",
|
|
136
|
-
"973",
|
|
137
|
-
"974",
|
|
138
|
-
"976",
|
|
139
|
-
];
|
|
140
|
-
export async function fetchBan(options, report) {
|
|
141
|
-
const banDir = join(options.outRoot, "ban");
|
|
142
|
-
const manifestPath = join(banDir, "MANIFEST.json");
|
|
143
|
-
await makeDirectories(banDir);
|
|
144
|
-
// Load existing entries (code -> entry): skip detection + preservation of untouched codes.
|
|
145
|
-
const entries = await loadManifestEntries(manifestPath, (entry) => entry.dept_code);
|
|
146
|
-
let fetched = 0;
|
|
147
|
-
let skipped = 0;
|
|
148
|
-
let failed = 0;
|
|
149
|
-
const failedCodes = [];
|
|
150
|
-
for (const code of DEPT_CODES) {
|
|
151
|
-
const filename = `adresses-${code}.csv`;
|
|
152
|
-
const gzFile = join(banDir, `${filename}.gz`);
|
|
153
|
-
const csvFile = join(banDir, filename);
|
|
154
|
-
const url = `${BASE_URL}/adresses-${code}.csv.gz`;
|
|
155
|
-
report?.(`=== dept ${code}`);
|
|
156
|
-
// If the CSV already exists, compare its sha256 against the manifest.
|
|
157
|
-
if (await isFile(csvFile)) {
|
|
158
|
-
const existingSha = await sha256File(csvFile);
|
|
159
|
-
const recordedSha = entries.get(code)?.sha256;
|
|
160
|
-
if (recordedSha && existingSha === recordedSha) {
|
|
161
|
-
report?.(` → already present + sha matches — skipping`);
|
|
162
|
-
skipped++;
|
|
163
|
-
continue;
|
|
164
|
-
}
|
|
165
|
-
report?.(` → present but sha mismatch or no manifest entry — re-fetching`);
|
|
166
|
-
await removePath(csvFile);
|
|
167
|
-
}
|
|
168
|
-
// Download the gzipped CSV.
|
|
169
|
-
try {
|
|
170
|
-
await downloadToFile({
|
|
171
|
-
url,
|
|
172
|
-
dest: gzFile,
|
|
173
|
-
timeoutMs: 600_000,
|
|
174
|
-
headers: { "Accept-Encoding": "gzip, br" },
|
|
175
|
-
report,
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
catch (error) {
|
|
179
|
-
report?.(` ✗ download failed: ${url} (${error.message})`);
|
|
180
|
-
failed++;
|
|
181
|
-
failedCodes.push(code);
|
|
182
|
-
continue;
|
|
183
|
-
}
|
|
184
|
-
// Guard against truncated 404/error pages.
|
|
185
|
-
const gzSize = (await tryStat(gzFile))?.size ?? 0;
|
|
186
|
-
if (gzSize < BYTES_PER_KIB) {
|
|
187
|
-
report?.(` ✗ response too small (${gzSize} bytes) — probable 404 / error page`);
|
|
188
|
-
await removePath(gzFile);
|
|
189
|
-
failed++;
|
|
190
|
-
failedCodes.push(code);
|
|
191
|
-
continue;
|
|
192
|
-
}
|
|
193
|
-
// Decompress in-place; delete the .gz.
|
|
194
|
-
try {
|
|
195
|
-
await writeLocalFile(await gunzip(await readLocalBuffer(gzFile)), csvFile);
|
|
196
|
-
}
|
|
197
|
-
catch (error) {
|
|
198
|
-
report?.(` ✗ decompress failed: ${error.message}`);
|
|
199
|
-
await removePath(gzFile);
|
|
200
|
-
failed++;
|
|
201
|
-
failedCodes.push(code);
|
|
202
|
-
continue;
|
|
203
|
-
}
|
|
204
|
-
await removePath(gzFile);
|
|
205
|
-
if (!(await isFile(csvFile))) {
|
|
206
|
-
report?.(` ✗ decompressed file not found at ${csvFile}`);
|
|
207
|
-
failed++;
|
|
208
|
-
failedCodes.push(code);
|
|
209
|
-
continue;
|
|
210
|
-
}
|
|
211
|
-
const bytes = (await tryStat(csvFile))?.size ?? 0;
|
|
212
|
-
const sha = await sha256File(csvFile);
|
|
213
|
-
entries.set(code, {
|
|
214
|
-
dept_code: code,
|
|
215
|
-
filename,
|
|
216
|
-
source_url: url,
|
|
217
|
-
downloaded_at: new Date().toISOString(),
|
|
218
|
-
sha256: sha,
|
|
219
|
-
bytes,
|
|
220
|
-
});
|
|
221
|
-
report?.(` ✓ ${ByteFormatter.formatIEC(bytes)} sha256=${sha}`);
|
|
222
|
-
fetched++;
|
|
223
|
-
// Be a polite citizen — short pause between requests.
|
|
224
|
-
await sleep(200);
|
|
225
|
-
}
|
|
226
|
-
// Write the consolidated MANIFEST.json (entries sorted by dept_code, codepoint order).
|
|
227
|
-
const sorted = [...entries.values()].toSorted((a, b) => a.dept_code < b.dept_code ? -1 : a.dept_code > b.dept_code ? 1 : 0);
|
|
228
|
-
await writeManifest(manifestPath, sorted);
|
|
229
|
-
report?.(`Wrote ${manifestPath} with ${sorted.length} entries.`);
|
|
230
|
-
report?.(`=== summary ===`);
|
|
231
|
-
report?.(`fetched: ${fetched}`);
|
|
232
|
-
report?.(`skipped: ${skipped} (already present + sha matched)`);
|
|
233
|
-
report?.(`failed: ${failed}`);
|
|
234
|
-
if (failedCodes.length) {
|
|
235
|
-
report?.(`failed codes: ${failedCodes.join(" ")}`);
|
|
236
|
-
}
|
|
237
|
-
return { fetched, skipped, failed, failedCodes };
|
|
238
|
-
}
|
|
239
|
-
//# sourceMappingURL=ban.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ban.js","sourceRoot":"","sources":["../../../lib/tools/fetch/ban.ts"],"names":[],"mappings":"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"}
|