@mailwoman/corpus 10.3.0 → 10.5.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 +17 -17
- package/data/PROVENANCE.md +287 -273
- package/data/address-source-register.json +545 -23
- package/data/license-decisions.json +120 -0
- package/data/licenses/PROVENANCE.md +5 -5
- package/data/licenses/cdla-permissive-2.0.md +6 -6
- package/data/licenses/geonames-publication.md +5 -5
- package/data/licenses/licence-ouverte-2.0.md +3 -3
- package/data/licenses/national-address-database.md +12 -12
- package/data/licenses/nlod-2.0.md +3 -3
- package/data/licenses/sirene-publication.md +13 -6
- package/data/licenses/whosonfirst-licenses.md +4 -4
- package/data/source-resolutions.json +46 -0
- package/data/training-manifests/v0.7.2-address-systems.effective.json +1169 -0
- package/data/training-manifests/v0.7.2-address-systems.json +550 -0
- package/lib/adapters/cordis/adapter.ts +9 -9
- package/lib/adapters/gleif/adapter.ts +7 -8
- package/lib/adapters/po-box/adapter.ts +1 -1
- package/lib/adapters/source-id.ts +1 -1
- package/lib/adapters.ts +4 -2
- package/lib/au/adapters/gnaf/adapter.ts +1 -1
- package/lib/be/adapters/brussels/adapter.ts +3 -3
- package/lib/be/adapters/vlaanderen/adapter.ts +1 -1
- package/lib/be/adapters/wallonie/adapter.ts +1 -1
- package/lib/build/align.ts +1 -1
- package/lib/build.ts +1 -1
- package/lib/cz/adapters/cuzk/adapter.ts +2 -2
- package/lib/cz/tools/fetch/cuzk.ts +6 -6
- package/lib/de/recipes/locale.ts +1 -1
- package/lib/dk/adapters/inspire/adapter.ts +1 -1
- package/lib/ee/tools/fetch/ads.ts +2 -2
- package/lib/es/adapters/bizkaia/adapter.ts +1 -1
- package/lib/es/adapters/navarra/adapter.ts +2 -2
- package/lib/es/cadastre.ts +2 -2
- package/lib/es/tools/fetch/bizkaia.ts +8 -8
- package/lib/es/tools/fetch/catastro.ts +6 -6
- package/lib/es/tools/fetch/navarra.ts +4 -4
- package/lib/fingerprints.ts +3 -3
- package/lib/fr/adapters/finess/adapter.ts +6 -5
- package/lib/fr/adapters/finess/voie-type.ts +1 -1
- package/lib/fr/tools/fetch/annuaire-education.ts +3 -3
- package/lib/gb/adapters/os-open/adapter.ts +453 -0
- package/lib/gb/constituent-country.ts +52 -0
- package/lib/gb/os-open/nearest-link.ts +169 -0
- package/lib/gb/os-open/open-names.ts +180 -0
- package/lib/gb/os-open/open-roads.ts +145 -0
- package/lib/gb/tools/fetch/os-open.ts +251 -0
- package/lib/inspire/address.ts +3 -3
- package/lib/international/recipes/locale.ts +41 -7
- package/lib/it/adapters/anac/adapter.ts +4 -3
- package/lib/jp/adapters/wof-admin/adapter.ts +2 -2
- package/lib/kr/adapters/juso/label-rows.ts +1 -1
- package/lib/kr/adapters/localdata/key-index.ts +2 -1
- package/lib/lu/adapters/bd-adresses/adapter.ts +1 -1
- package/lib/nl/adapters/kadaster/adapter.ts +2 -2
- package/lib/nl/tools/fetch/kadaster.ts +2 -2
- package/lib/parquet/shuffle.ts +2 -2
- package/lib/parquet/span-sql.ts +8 -6
- package/lib/parquet/streams.ts +1 -1
- package/lib/parquet/writers.ts +2 -2
- package/lib/pl/tools/fetch/emuia.ts +2 -2
- package/lib/recipes/scaffold.ts +2 -2
- package/lib/recipes/sources.ts +3 -3
- package/lib/recipes/sub/venue/render.ts +1 -1
- package/lib/recipes/sub/venue/sources.ts +4 -3
- package/lib/recipes/sub/venue.ts +4 -3
- package/lib/recipes/venue.ts +11 -11
- package/lib/registers.ts +7 -0
- package/lib/ro/adapters/retea-scolara/adapter.ts +2 -2
- package/lib/runner.ts +3 -3
- package/lib/sk/tools/fetch/inspire.ts +3 -3
- package/lib/source-register/effective-manifest.ts +14 -8
- package/lib/source-register/training-manifest.ts +30 -2
- package/lib/source-register/types.ts +2 -2
- package/lib/source-register.ts +1 -0
- package/lib/subvenue/harvest.ts +6 -5
- package/lib/subvenue/promotions.ts +3 -3
- package/lib/subvenue/surfaces.ts +1 -1
- package/lib/subvenue/table.ts +6 -6
- package/lib/surfaces/locale.ts +1 -1
- package/lib/synthesizers/anchor-absorption.ts +1 -1
- package/lib/synthesizers/boundary-stress.ts +3 -2
- package/lib/synthesizers/no-street.ts +1 -1
- package/lib/synthesizers/po-box.ts +1 -1
- package/lib/synthesizers/tail.ts +2 -2
- package/lib/test-kit/corpus-recipe.ts +1 -1
- package/lib/tools/align-canonical.ts +3 -2
- package/lib/tools/audit.ts +1 -1
- package/lib/tools/corpus-stats.ts +1 -1
- package/lib/tools/fetch/download/network.ts +1 -1
- package/lib/tools/fetch/geonames/dump.ts +1 -1
- package/lib/tools/fetch/gleif.ts +2 -2
- package/lib/tools/fetch/header.ts +1 -1
- package/lib/tools/fetch/inspire-addresses.ts +1 -1
- package/lib/tools/fetch/vlaanderen-ad.ts +1 -1
- package/lib/tools/fetch/wfs-harvest.ts +6 -6
- package/lib/tools/fetch/zip-archive.ts +2 -2
- package/lib/tools/fetch.ts +2 -0
- package/lib/tools/golden/expand.ts +1 -1
- package/lib/tools/golden/promote.ts +3 -3
- package/lib/tools/golden/relabel-street/directory.ts +2 -1
- package/lib/tools/lint/recipe-output/vocab.ts +2 -2
- package/lib/tools/lint/recipe-output.ts +1 -1
- package/lib/tools/migrate/source-names.ts +1 -1
- package/lib/tools/overlay/manifest.ts +62 -10
- package/lib/tools/overlay/split-slice.ts +2 -10
- package/lib/tools/postcode-triples.ts +2 -2
- package/lib/tools/sub/venue/head-nouns.ts +4 -3
- package/lib/types.ts +3 -3
- package/lib/us/adapters/state/tx-notaries/adapter.ts +1 -1
- package/lib/us/adapters/usgov/irs-bmf/adapter.ts +2 -2
- package/lib/us/adapters/usgov/nad/adapter.ts +1 -1
- package/lib/us/adapters/usgov/nppes/adapter.ts +2 -2
- package/lib/us/synthesizers/intersection.ts +4 -4
- package/lib/us/synthesizers/street.ts +3 -3
- package/lib/us/tools/fetch/nad.ts +2 -2
- package/lib/utils/split.ts +59 -6
- package/lib/utils/wof-json.ts +1 -1
- package/out/adapters/cordis/adapter.d.ts +7 -7
- package/out/adapters/cordis/adapter.js +9 -9
- package/out/adapters/cordis/adapter.js.map +1 -1
- package/out/adapters/gleif/adapter.d.ts +7 -8
- package/out/adapters/gleif/adapter.d.ts.map +1 -1
- package/out/adapters/gleif/adapter.js +7 -8
- package/out/adapters/gleif/adapter.js.map +1 -1
- package/out/adapters/po-box/adapter.d.ts +1 -1
- package/out/adapters/source-id.d.ts +1 -1
- package/out/adapters/source-id.js +1 -1
- package/out/adapters.d.ts +2 -2
- package/out/adapters.d.ts.map +1 -1
- package/out/adapters.js +4 -2
- package/out/adapters.js.map +1 -1
- package/out/au/adapters/gnaf/adapter.js +1 -1
- package/out/be/adapters/brussels/adapter.d.ts +2 -2
- package/out/be/adapters/brussels/adapter.js +3 -3
- package/out/be/adapters/vlaanderen/adapter.d.ts +1 -1
- package/out/be/adapters/wallonie/adapter.d.ts +1 -1
- package/out/be/adapters/wallonie/adapter.js +1 -1
- package/out/build/align.d.ts +1 -1
- package/out/build.js +1 -1
- package/out/build.js.map +1 -1
- package/out/cz/adapters/cuzk/adapter.d.ts +2 -2
- package/out/cz/adapters/cuzk/adapter.js +2 -2
- package/out/cz/tools/fetch/cuzk.d.ts +2 -2
- package/out/cz/tools/fetch/cuzk.js +4 -4
- package/out/cz/tools/fetch/cuzk.js.map +1 -1
- package/out/de/recipes/locale.d.ts +1 -1
- package/out/de/recipes/locale.js +1 -1
- package/out/dk/adapters/inspire/adapter.js +1 -1
- package/out/ee/tools/fetch/ads.d.ts +2 -2
- package/out/ee/tools/fetch/ads.js +1 -1
- package/out/es/adapters/bizkaia/adapter.js +1 -1
- package/out/es/adapters/navarra/adapter.d.ts +2 -2
- package/out/es/adapters/navarra/adapter.js +2 -2
- package/out/es/cadastre.d.ts +2 -2
- package/out/es/cadastre.js +2 -2
- package/out/es/tools/fetch/bizkaia.d.ts +5 -5
- package/out/es/tools/fetch/bizkaia.js +6 -6
- package/out/es/tools/fetch/bizkaia.js.map +1 -1
- package/out/es/tools/fetch/catastro.d.ts +4 -4
- package/out/es/tools/fetch/catastro.js +2 -2
- package/out/es/tools/fetch/navarra.d.ts +2 -2
- package/out/es/tools/fetch/navarra.js +2 -2
- package/out/fingerprints.d.ts +3 -3
- package/out/fingerprints.js +3 -3
- package/out/fr/adapters/finess/adapter.d.ts +6 -5
- package/out/fr/adapters/finess/adapter.d.ts.map +1 -1
- package/out/fr/adapters/finess/adapter.js +6 -5
- package/out/fr/adapters/finess/adapter.js.map +1 -1
- package/out/fr/adapters/finess/voie-type.d.ts +1 -1
- package/out/fr/adapters/finess/voie-type.js +1 -1
- package/out/fr/tools/fetch/annuaire-education.d.ts +3 -3
- package/out/fr/tools/fetch/annuaire-education.js +3 -3
- package/out/gb/adapters/os-open/adapter.d.ts +165 -0
- package/out/gb/adapters/os-open/adapter.d.ts.map +1 -0
- package/out/gb/adapters/os-open/adapter.js +298 -0
- package/out/gb/adapters/os-open/adapter.js.map +1 -0
- package/out/gb/constituent-country.d.ts +36 -0
- package/out/gb/constituent-country.d.ts.map +1 -0
- package/out/gb/constituent-country.js +30 -0
- package/out/gb/constituent-country.js.map +1 -0
- package/out/gb/os-open/nearest-link.d.ts +73 -0
- package/out/gb/os-open/nearest-link.d.ts.map +1 -0
- package/out/gb/os-open/nearest-link.js +133 -0
- package/out/gb/os-open/nearest-link.js.map +1 -0
- package/out/gb/os-open/open-names.d.ts +92 -0
- package/out/gb/os-open/open-names.d.ts.map +1 -0
- package/out/gb/os-open/open-names.js +107 -0
- package/out/gb/os-open/open-names.js.map +1 -0
- package/out/gb/os-open/open-roads.d.ts +80 -0
- package/out/gb/os-open/open-roads.d.ts.map +1 -0
- package/out/gb/os-open/open-roads.js +79 -0
- package/out/gb/os-open/open-roads.js.map +1 -0
- package/out/gb/tools/fetch/os-open.d.ts +91 -0
- package/out/gb/tools/fetch/os-open.d.ts.map +1 -0
- package/out/gb/tools/fetch/os-open.js +166 -0
- package/out/gb/tools/fetch/os-open.js.map +1 -0
- package/out/inspire/address.d.ts +3 -3
- package/out/inspire/address.js +3 -3
- package/out/international/recipes/locale.d.ts +6 -0
- package/out/international/recipes/locale.d.ts.map +1 -1
- package/out/international/recipes/locale.js +29 -7
- package/out/international/recipes/locale.js.map +1 -1
- package/out/it/adapters/anac/adapter.d.ts +1 -1
- package/out/it/adapters/anac/adapter.d.ts.map +1 -1
- package/out/it/adapters/anac/adapter.js +4 -3
- package/out/it/adapters/anac/adapter.js.map +1 -1
- package/out/jp/adapters/wof-admin/adapter.d.ts +2 -2
- package/out/jp/adapters/wof-admin/adapter.js +2 -2
- package/out/kr/adapters/juso/label-rows.d.ts +1 -1
- package/out/kr/adapters/localdata/key-index.d.ts +2 -1
- package/out/kr/adapters/localdata/key-index.d.ts.map +1 -1
- package/out/kr/adapters/localdata/key-index.js +2 -1
- package/out/kr/adapters/localdata/key-index.js.map +1 -1
- package/out/lu/adapters/bd-adresses/adapter.d.ts +1 -1
- package/out/lu/adapters/bd-adresses/adapter.js +1 -1
- package/out/nl/adapters/kadaster/adapter.js +2 -2
- package/out/nl/tools/fetch/kadaster.d.ts +2 -2
- package/out/nl/tools/fetch/kadaster.js +2 -2
- package/out/parquet/shuffle.d.ts +2 -2
- package/out/parquet/shuffle.js +2 -2
- package/out/parquet/span-sql.d.ts +8 -6
- package/out/parquet/span-sql.d.ts.map +1 -1
- package/out/parquet/span-sql.js +8 -6
- package/out/parquet/span-sql.js.map +1 -1
- package/out/parquet/streams.d.ts +1 -1
- package/out/parquet/writers.d.ts +2 -2
- package/out/parquet/writers.js +1 -1
- package/out/pl/tools/fetch/emuia.d.ts +2 -2
- package/out/recipes/scaffold.d.ts +2 -2
- package/out/recipes/sources.d.ts +2 -2
- package/out/recipes/sources.js +3 -3
- package/out/recipes/sources.js.map +1 -1
- package/out/recipes/sub/venue/render.d.ts +1 -1
- package/out/recipes/sub/venue/render.js +1 -1
- package/out/recipes/sub/venue/sources.d.ts +4 -3
- package/out/recipes/sub/venue/sources.d.ts.map +1 -1
- package/out/recipes/sub/venue/sources.js +4 -3
- package/out/recipes/sub/venue/sources.js.map +1 -1
- package/out/recipes/sub/venue.d.ts +3 -2
- package/out/recipes/sub/venue.d.ts.map +1 -1
- package/out/recipes/sub/venue.js +2 -2
- package/out/recipes/sub/venue.js.map +1 -1
- package/out/recipes/venue.d.ts +7 -6
- package/out/recipes/venue.d.ts.map +1 -1
- package/out/recipes/venue.js +11 -10
- package/out/recipes/venue.js.map +1 -1
- package/out/registers.d.ts +7 -0
- package/out/registers.d.ts.map +1 -1
- package/out/registers.js +7 -0
- package/out/registers.js.map +1 -1
- package/out/ro/adapters/retea-scolara/adapter.d.ts +2 -2
- package/out/ro/adapters/retea-scolara/adapter.js +2 -2
- package/out/runner.d.ts +3 -3
- package/out/runner.js +2 -2
- package/out/sk/tools/fetch/inspire.d.ts +3 -3
- package/out/sk/tools/fetch/inspire.js +1 -1
- package/out/source-register/effective-manifest.d.ts +11 -5
- package/out/source-register/effective-manifest.d.ts.map +1 -1
- package/out/source-register/effective-manifest.js +9 -4
- package/out/source-register/effective-manifest.js.map +1 -1
- package/out/source-register/training-manifest.d.ts +27 -0
- package/out/source-register/training-manifest.d.ts.map +1 -1
- package/out/source-register/training-manifest.js +13 -1
- package/out/source-register/training-manifest.js.map +1 -1
- package/out/source-register/types.d.ts +2 -2
- package/out/source-register.d.ts +1 -1
- package/out/source-register.d.ts.map +1 -1
- package/out/source-register.js +1 -1
- package/out/source-register.js.map +1 -1
- package/out/subvenue/harvest.d.ts +4 -3
- package/out/subvenue/harvest.d.ts.map +1 -1
- package/out/subvenue/harvest.js +6 -5
- package/out/subvenue/harvest.js.map +1 -1
- package/out/subvenue/promotions.d.ts +2 -2
- package/out/subvenue/promotions.js +3 -3
- package/out/subvenue/promotions.js.map +1 -1
- package/out/subvenue/surfaces.d.ts +1 -1
- package/out/subvenue/table.d.ts +6 -6
- package/out/subvenue/table.js +1 -1
- package/out/surfaces/locale.d.ts +1 -1
- package/out/surfaces/locale.js +1 -1
- package/out/synthesizers/boundary-stress.d.ts.map +1 -1
- package/out/synthesizers/boundary-stress.js +2 -1
- package/out/synthesizers/boundary-stress.js.map +1 -1
- package/out/synthesizers/tail.d.ts +2 -2
- package/out/synthesizers/tail.js +2 -2
- package/out/test-kit/corpus-recipe.d.ts +1 -1
- package/out/test-kit/corpus-recipe.js +1 -1
- package/out/tools/align-canonical.d.ts.map +1 -1
- package/out/tools/align-canonical.js +3 -2
- package/out/tools/align-canonical.js.map +1 -1
- package/out/tools/audit.js +1 -1
- package/out/tools/corpus-stats.d.ts +1 -1
- package/out/tools/fetch/download/network.d.ts +1 -1
- package/out/tools/fetch/download/network.js +1 -1
- package/out/tools/fetch/geonames/dump.d.ts +1 -1
- package/out/tools/fetch/geonames/dump.js +1 -1
- package/out/tools/fetch/gleif.d.ts +2 -2
- package/out/tools/fetch/gleif.js +1 -1
- package/out/tools/fetch/header.d.ts +1 -1
- package/out/tools/fetch/header.js +1 -1
- package/out/tools/fetch/inspire-addresses.d.ts +1 -1
- package/out/tools/fetch/vlaanderen-ad.d.ts +1 -1
- package/out/tools/fetch/wfs-harvest.d.ts +3 -3
- package/out/tools/fetch/wfs-harvest.js +4 -4
- package/out/tools/fetch/wfs-harvest.js.map +1 -1
- package/out/tools/fetch/zip-archive.d.ts +2 -2
- package/out/tools/fetch/zip-archive.js +2 -2
- package/out/tools/fetch.d.ts +2 -0
- package/out/tools/fetch.d.ts.map +1 -1
- package/out/tools/fetch.js +2 -0
- package/out/tools/fetch.js.map +1 -1
- package/out/tools/golden/expand.js +1 -1
- package/out/tools/golden/expand.js.map +1 -1
- package/out/tools/golden/promote.d.ts +1 -1
- package/out/tools/golden/promote.js +3 -3
- package/out/tools/golden/promote.js.map +1 -1
- package/out/tools/golden/relabel-street/directory.d.ts +2 -1
- package/out/tools/golden/relabel-street/directory.d.ts.map +1 -1
- package/out/tools/golden/relabel-street/directory.js.map +1 -1
- package/out/tools/lint/recipe-output/vocab.js +2 -2
- package/out/tools/lint/recipe-output.d.ts +1 -1
- package/out/tools/migrate/source-names.d.ts +1 -1
- package/out/tools/overlay/manifest.d.ts +15 -2
- package/out/tools/overlay/manifest.d.ts.map +1 -1
- package/out/tools/overlay/manifest.js +41 -10
- package/out/tools/overlay/manifest.js.map +1 -1
- package/out/tools/overlay/split-slice.d.ts.map +1 -1
- package/out/tools/overlay/split-slice.js +2 -9
- package/out/tools/overlay/split-slice.js.map +1 -1
- package/out/tools/postcode-triples.d.ts +1 -1
- package/out/tools/postcode-triples.js +2 -2
- package/out/tools/postcode-triples.js.map +1 -1
- package/out/tools/sub/venue/head-nouns.d.ts +1 -1
- package/out/tools/sub/venue/head-nouns.d.ts.map +1 -1
- package/out/tools/sub/venue/head-nouns.js +4 -3
- package/out/tools/sub/venue/head-nouns.js.map +1 -1
- package/out/types.d.ts +3 -3
- package/out/types.js +1 -1
- package/out/us/adapters/state/tx-notaries/adapter.d.ts +1 -1
- package/out/us/adapters/state/tx-notaries/adapter.js +1 -1
- package/out/us/adapters/usgov/irs-bmf/adapter.d.ts +1 -1
- package/out/us/adapters/usgov/irs-bmf/adapter.js +2 -2
- package/out/us/adapters/usgov/nad/adapter.d.ts +1 -1
- package/out/us/adapters/usgov/nad/adapter.js +1 -1
- package/out/us/adapters/usgov/nppes/adapter.d.ts +1 -1
- package/out/us/adapters/usgov/nppes/adapter.js +1 -1
- package/out/us/synthesizers/intersection.js +4 -4
- package/out/us/synthesizers/intersection.js.map +1 -1
- package/out/us/synthesizers/street.js +3 -3
- package/out/us/synthesizers/street.js.map +1 -1
- package/out/us/tools/fetch/nad.d.ts +2 -2
- package/out/us/tools/fetch/nad.js +2 -2
- package/out/utils/split.d.ts +21 -0
- package/out/utils/split.d.ts.map +1 -1
- package/out/utils/split.js +49 -5
- package/out/utils/split.js.map +1 -1
- package/out/utils/wof-json.d.ts +1 -1
- package/out/utils/wof-json.js +1 -1
- package/package.json +15 -14
package/lib/adapters.ts
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* what the adapter reads: BAN covers France and ten overseas jurisdictions, Matrikkelen covers
|
|
20
20
|
* Norway and Svalbard, and Ryhti's one national file covers Åland beside the Finnish mainland.
|
|
21
21
|
*
|
|
22
|
-
* Flanders is the counter-case
|
|
22
|
+
* Flanders is the counter-case. Its adapter sits under `be` and covers the Flemish
|
|
23
23
|
* Region only, because Brussels and Wallonia publish the INSPIRE theme through their own
|
|
24
24
|
* services, so Belgium needs three adapters rather than one.
|
|
25
25
|
*
|
|
@@ -64,6 +64,7 @@ import { ryhtiAdapter } from "#fi/adapters/ryhti/adapter"
|
|
|
64
64
|
import { annuaireEducationAdapter } from "#fr/adapters/annuaire-education/adapter"
|
|
65
65
|
import { banAdapter } from "#fr/adapters/ban/adapter"
|
|
66
66
|
import { finessAdapter } from "#fr/adapters/finess/adapter"
|
|
67
|
+
import { gbOSOpenAdapter } from "#gb/adapters/os-open/adapter"
|
|
67
68
|
import { itANACAdapter } from "#it/adapters/anac/adapter"
|
|
68
69
|
import { bdAdressesAdapter } from "#lu/adapters/bd-adresses/adapter"
|
|
69
70
|
import { varisAdapter } from "#lv/adapters/varis/adapter"
|
|
@@ -88,7 +89,7 @@ import { usgovNPPESAdapter } from "#us/adapters/usgov/nppes/adapter"
|
|
|
88
89
|
/**
|
|
89
90
|
* Built-in adapters.
|
|
90
91
|
*
|
|
91
|
-
* Order
|
|
92
|
+
* Order matters, because `corpus build` iterates this list to drive every adapter in turn.
|
|
92
93
|
* The order runs coarse-first (admin, then postcode), then street-level
|
|
93
94
|
* (BAN FR, tiger US, OpenAddresses global), then adversarial-source (FCC BDC US, HRSA fqhc US).
|
|
94
95
|
*
|
|
@@ -120,6 +121,7 @@ export const BUILTIN_ADAPTERS: readonly CorpusAdapter[] = [
|
|
|
120
121
|
esBizkaiaAdapter,
|
|
121
122
|
esGipuzkoaAdapter,
|
|
122
123
|
esNavarraAdapter,
|
|
124
|
+
gbOSOpenAdapter,
|
|
123
125
|
tigerAdapter,
|
|
124
126
|
openaddressesAdapter,
|
|
125
127
|
overtureAdapter,
|
|
@@ -45,7 +45,7 @@ interface GNAFTuple {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
|
-
* The address layouts an AU address
|
|
48
|
+
* The address layouts an AU address arrives in.
|
|
49
49
|
*
|
|
50
50
|
* The model already handles postcode-trailing (canonical); the two postcode-leading
|
|
51
51
|
* forms are the ones it fails, so they show the change.
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
* Nine addresses write `<ad:component xlink:href=""/>` in the postal-zone slot, so those nine state
|
|
52
52
|
* no postcode: `BE.BRUSSELS.BRIC.ADM.ADPT.220623`, `.220631`, `.220635`, `.256972`, `.257005` and
|
|
53
53
|
* four more, in Bruxelles and Schaerbeek. `componentHrefs` skips an empty href, so an unwary reader
|
|
54
|
-
* yields those rows with
|
|
54
|
+
* yields those rows with no postcode and no error. This adapter refuses them and
|
|
55
55
|
* counts them under {@link Refusals.noPostcode}, because a postcode the publisher left unstated is
|
|
56
56
|
* not a postcode this repository may read as absent from the address.
|
|
57
57
|
*
|
|
@@ -163,7 +163,7 @@ export const BRUSSELS_SOURCE_REGISTER = SourceRegister.BrusselsInspireAddresses
|
|
|
163
163
|
export const BRUSSELS_COUNTRIES: readonly string[] = ["BE"]
|
|
164
164
|
|
|
165
165
|
/**
|
|
166
|
-
*
|
|
166
|
+
* Every emitted row records this license label.
|
|
167
167
|
*
|
|
168
168
|
* The register's source `be-property-building-3` elects `CC-BY-4.0` for Paradigm, read from
|
|
169
169
|
* the `gmd:useConstraints` of ISO 19139 record `260abd6f-c5b4-4a79-aa80-d6c265002d65`.
|
|
@@ -224,7 +224,7 @@ const COMPONENT_TYPES = ["ad:ThoroughfareName", "ad:PostalDescriptor", "ad:Admin
|
|
|
224
224
|
* An address reaching the reader with fewer readable references has written one of them empty.
|
|
225
225
|
*
|
|
226
226
|
* That count is how the nine postcode-less addresses are told apart from an
|
|
227
|
-
* address whose reference
|
|
227
|
+
* address whose reference does not resolve.
|
|
228
228
|
*/
|
|
229
229
|
const COMPONENTS_PER_ADDRESS = 7
|
|
230
230
|
|
|
@@ -282,7 +282,7 @@ export function componentResourceID(href: string): string | null {
|
|
|
282
282
|
* A Flemish street name read apart from the homonym discriminator that follows it.
|
|
283
283
|
*
|
|
284
284
|
* `gn:text` on an `ad:ThoroughfareName` states more than the street name: the name,
|
|
285
|
-
* an underscore, and a discriminator that is
|
|
285
|
+
* an underscore, and a discriminator that is empty in most identifiers.
|
|
286
286
|
* Over 20,000 values at twenty offsets, 19,979 end with `_` and the remaining
|
|
287
287
|
* 21 have a discriminator after it.
|
|
288
288
|
*
|
|
@@ -183,7 +183,7 @@ export const WALLONIE_SOURCE_REGISTER = SourceRegister.WallonieInspireAddresses
|
|
|
183
183
|
export const WALLONIE_COUNTRIES: readonly string[] = ["BE"]
|
|
184
184
|
|
|
185
185
|
/**
|
|
186
|
-
*
|
|
186
|
+
* Every emitted row records this license.
|
|
187
187
|
*
|
|
188
188
|
* The register's elected decision for `unchecked-access-free-be-service-public-de-wallonie-spw`
|
|
189
189
|
* records `spdx: "CC-BY-4.0"`, and `electedLicenseLabel` answers the SPDX id when one is recorded.
|
package/lib/build/align.ts
CHANGED
package/lib/build.ts
CHANGED
|
@@ -104,7 +104,7 @@ export async function buildCorpus(opts: BuildCorpusOptions): Promise<BuildCorpus
|
|
|
104
104
|
opts.onProgress?.("parquet", "writing parquet files")
|
|
105
105
|
|
|
106
106
|
// Each split gets its own generator seeded from one base, so a split's row order does
|
|
107
|
-
// not depend on
|
|
107
|
+
// not depend on the number of rows the earlier splits happened to contain.
|
|
108
108
|
const shuffled = (path: PathBuilderLike, salt: number) =>
|
|
109
109
|
shuffleWithinWindow(streamJSONL<LabeledRow>(path), makeMulberry32(shuffleSeed + salt), shuffleWindow)
|
|
110
110
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* to read. The `ad:component` hrefs look external, because ČÚZK writes an absolute WFS stored-query
|
|
16
16
|
* URL on `services.cuzk.cz`. The `Id=` parameter of each one matches a `gml:id` in the file at hand.
|
|
17
17
|
* Measured over `584282.xml`: 5,460 component references across 1,365 addresses, 0 of them reaching
|
|
18
|
-
* outside the archive. Only `ad:parcel` and `ad:building` point at
|
|
18
|
+
* outside the archive. Only `ad:parcel` and `ad:building` point at separate themes, and
|
|
19
19
|
* the adapter reads neither.
|
|
20
20
|
*
|
|
21
21
|
* ČÚZK states one condition of use and states it uniformly. Every one of the 6,259 `rights` elements
|
|
@@ -62,7 +62,7 @@ export const CZ_CUZK_ADAPTER_ID = "cz-cuzk"
|
|
|
62
62
|
export const CZ_CUZK_COUNTRIES: readonly string[] = ["CZ"]
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
65
|
+
* Every emitted row records this license.
|
|
66
66
|
*
|
|
67
67
|
* INSPIRE's controlled value, in the English the register renders it to, because ČÚZK
|
|
68
68
|
* names no license instrument and the register therefore writes no SPDX identifier.
|
|
@@ -123,11 +123,11 @@ export const CZ_CUZK_REQUEST_INTERVAL_MS = 250
|
|
|
123
123
|
const ZIP_SIGNATURE = "PK"
|
|
124
124
|
|
|
125
125
|
/**
|
|
126
|
-
*
|
|
126
|
+
* The number of archives written between two manifest writes.
|
|
127
127
|
*
|
|
128
128
|
* The manifest is what makes an interrupted harvest resumable, and writing it
|
|
129
129
|
* after every archive would rewrite a 6,258-entry document 6,258 times.
|
|
130
|
-
* At this interval an interruption re-fetches at most this
|
|
130
|
+
* At this interval an interruption re-fetches at most this number of archives that are already on disk.
|
|
131
131
|
*/
|
|
132
132
|
const MANIFEST_INTERVAL = 25
|
|
133
133
|
|
|
@@ -352,7 +352,7 @@ export interface CzCuzkHarvestManifest extends SourceCollectionManifest {
|
|
|
352
352
|
*/
|
|
353
353
|
projection: CzCuzkProjection
|
|
354
354
|
/**
|
|
355
|
-
*
|
|
355
|
+
* The number of municipalities the service document listed when this manifest was written.
|
|
356
356
|
*
|
|
357
357
|
* The denominator for `files`, read from the feed on each run rather than fixed here.
|
|
358
358
|
*/
|
|
@@ -379,7 +379,7 @@ export interface HarvestCzCuzkOptions {
|
|
|
379
379
|
*/
|
|
380
380
|
municipalities?: readonly string[]
|
|
381
381
|
/**
|
|
382
|
-
* Stop after this
|
|
382
|
+
* Stop after this number of municipalities, counting the ones already on disk.
|
|
383
383
|
*
|
|
384
384
|
* A bounded run rather than all 6,258.
|
|
385
385
|
*/
|
|
@@ -407,7 +407,7 @@ export interface HarvestCzCuzkOptions {
|
|
|
407
407
|
/**
|
|
408
408
|
* Whether the archive recorded for one municipality is still the one the feed now describes.
|
|
409
409
|
*
|
|
410
|
-
* Three conditions, and the first is what saves 6,258 requests: the service
|
|
410
|
+
* Three conditions must hold, and the first is what saves 6,258 requests: the service
|
|
411
411
|
* document states the same modification time it stated when the file was fetched,
|
|
412
412
|
* the file is still there, and it is still the length that was recorded for it.
|
|
413
413
|
*/
|
|
@@ -451,7 +451,7 @@ export async function harvestCzCuzk(
|
|
|
451
451
|
|
|
452
452
|
// MARK: Read the service document
|
|
453
453
|
//
|
|
454
|
-
// One request
|
|
454
|
+
// One request states the modification time of every archive the service offers.
|
|
455
455
|
|
|
456
456
|
report?.(`=== ${SLUG}: reading ${CZ_CUZK_SERVICE_FEED_URL}`)
|
|
457
457
|
|
package/lib/de/recipes/locale.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* Two registers are absent from the OA tuples. A comma-free single line (`Neusser Str. 12 Nippes 50733
|
|
16
16
|
* Köln`) segments as one unit at stage 2. With one segment, the placetype-pair prior never fires.
|
|
17
17
|
* The model then reads `Nippes` as a second street. The one-value-per-tag projection deletes it.
|
|
18
|
-
* `--comma-free-fraction` renders that
|
|
18
|
+
* `--comma-free-fraction` renders that share of native-order rows with `" "` as the line separator. OA
|
|
19
19
|
* rows also lack a district, so `--ortsteil-fraction` rows borrow a WOF Ortsteil of the tuple's
|
|
20
20
|
* own locality as `dependent_locality`. The German spelling is recovered from the `names` table
|
|
21
21
|
* ({@link ortsteilSurface}) because WOF's `spr.name` for DE neighborhoods is the ascii-folded label.
|
|
@@ -93,7 +93,7 @@ export const DK_INSPIRE_COUNTRIES: readonly string[] = ["DK"]
|
|
|
93
93
|
export const DK_INSPIRE_REQUIRED_TABLES: readonly string[] = ["address", "postaldescriptor", "thoroughfarename"]
|
|
94
94
|
|
|
95
95
|
/**
|
|
96
|
-
*
|
|
96
|
+
* The number of rows Kysely buffers per chunk while streaming the join.
|
|
97
97
|
*/
|
|
98
98
|
const STREAM_CHUNK_ROWS = 2000
|
|
99
99
|
|
|
@@ -76,7 +76,7 @@ export const EE_ADS_SORT_BY = "gml_id"
|
|
|
76
76
|
* Features per page.
|
|
77
77
|
*
|
|
78
78
|
* The service's `CountDefault` is 1,000,000 and it honors `count=10000`, which is where the page
|
|
79
|
-
* size is set: a 10,000-feature page is 31,198,909 bytes, and a larger page
|
|
79
|
+
* size is set: a 10,000-feature page is 31,198,909 bytes, and a larger page needs fewer requests
|
|
80
80
|
* at the cost of holding a larger body in memory and losing more work when one request fails.
|
|
81
81
|
*/
|
|
82
82
|
export const EE_ADS_PAGE_SIZE = 10_000
|
|
@@ -135,7 +135,7 @@ export interface HarvestADSOptions {
|
|
|
135
135
|
*/
|
|
136
136
|
pageSize?: number
|
|
137
137
|
/**
|
|
138
|
-
* Stop once the manifest holds this
|
|
138
|
+
* Stop once the manifest holds this number of pages, for a probe rather than a full harvest.
|
|
139
139
|
*/
|
|
140
140
|
maxPages?: number
|
|
141
141
|
signal?: AbortSignal
|
|
@@ -164,7 +164,7 @@ const MUNICIPALITY_LEVEL = "3rdOrder"
|
|
|
164
164
|
const HOUSE_NUMBER_TYPE = "buildingIdentifier"
|
|
165
165
|
|
|
166
166
|
/**
|
|
167
|
-
*
|
|
167
|
+
* The number of dot-separated fields a designator has.
|
|
168
168
|
*
|
|
169
169
|
* Municipality, street, number: `48.001.00026.003` splits the municipality code across two.
|
|
170
170
|
*/
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* no such mapping and this adapter claims none. It reads one archive or a directory of them. A
|
|
15
15
|
* caller harvests all 272 by pointing it at the directory.
|
|
16
16
|
*
|
|
17
|
-
* This publisher is read entirely from its references' titles
|
|
18
|
-
*
|
|
17
|
+
* This publisher is read entirely from its references' titles. No other INSPIRE reader
|
|
18
|
+
* here reads its addresses that way. Its own file publishes no `AD:ThoroughfareName`,
|
|
19
19
|
* `AD:PostalDescriptor` or `AD:AdminUnitName` feature at all: partition 1 holds 29 distinct element
|
|
20
20
|
* names across 115 addresses and none of them is a component feature. Each address instead holds
|
|
21
21
|
* six `AD:component` references whose `xlink:title` states the value:
|
package/lib/es/cadastre.ts
CHANGED
|
@@ -72,8 +72,8 @@ export function spanishHouseNumber(
|
|
|
72
72
|
* `ES.SDGC.PD.55.101.` and `ES.GFA.PD.059.`, against no feature of that id.
|
|
73
73
|
*
|
|
74
74
|
* Those truncated references are the only unresolvable ones measured in either file.
|
|
75
|
-
* A reader taking every unresolved reference as an absence would also swallow a
|
|
76
|
-
*
|
|
75
|
+
* A reader taking every unresolved reference as an absence would also swallow a broken join,
|
|
76
|
+
* so the two are separated here and every other unresolved reference raises.
|
|
77
77
|
*/
|
|
78
78
|
export function referenceStatesNoValue(key: string): boolean {
|
|
79
79
|
return key.trim().endsWith(".")
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
* archives therefore reads every address in the province without its street, its postcode or
|
|
17
17
|
* its municipality. This harvest acquires both services into one directory for that reason.
|
|
18
18
|
*
|
|
19
|
-
* Each component type is read in one request
|
|
19
|
+
* Each component type is read in one request. This service serves a type no other way. Its
|
|
20
20
|
* capabilities document states `ImplementsResultPaging` as `FALSE` and `CountDefault` as `1000`, so
|
|
21
21
|
* a reader that paged a type would receive the first page again. The harvest therefore asks
|
|
22
|
-
* `RESULTTYPE=hits` for the type's count and then asks for that
|
|
22
|
+
* `RESULTTYPE=hits` for the type's count and then asks for that number of features in one `GetFeature`,
|
|
23
23
|
* and {@linkcode fetchBizkaiaComponentDocument} raises where the document returns fewer than the
|
|
24
24
|
* count. A truncated component document is the failure that would otherwise reach the adapter as
|
|
25
25
|
* an unresolved reference per address.
|
|
@@ -121,11 +121,11 @@ export const ES_BIZKAIA_REQUEST_INTERVAL_MS = 250
|
|
|
121
121
|
const BODY_TIMEOUT_MS = 600_000
|
|
122
122
|
|
|
123
123
|
/**
|
|
124
|
-
*
|
|
124
|
+
* The number of archives written between two manifest writes.
|
|
125
125
|
*
|
|
126
126
|
* The manifest is what makes an interrupted harvest resumable, and writing it
|
|
127
127
|
* after every archive would rewrite the whole document once per municipality.
|
|
128
|
-
* At this interval an interruption re-fetches at most this
|
|
128
|
+
* At this interval an interruption re-fetches at most this number of archives already on disk.
|
|
129
129
|
*/
|
|
130
130
|
const MANIFEST_INTERVAL = 25
|
|
131
131
|
|
|
@@ -306,7 +306,7 @@ export interface ESBizkaiaHarvestManifest extends SourceCollectionManifest {
|
|
|
306
306
|
*/
|
|
307
307
|
feed_updated: string | null
|
|
308
308
|
/**
|
|
309
|
-
*
|
|
309
|
+
* The number of municipalities the service document listed when this manifest was written.
|
|
310
310
|
*
|
|
311
311
|
* The denominator for `files`, read from the feed on each run rather than fixed here.
|
|
312
312
|
*/
|
|
@@ -332,7 +332,7 @@ export interface HarvestESBizkaiaOptions {
|
|
|
332
332
|
*/
|
|
333
333
|
municipalities?: readonly string[]
|
|
334
334
|
/**
|
|
335
|
-
* Stop after this
|
|
335
|
+
* Stop after this number of municipalities, counting the ones already on disk.
|
|
336
336
|
*/
|
|
337
337
|
limit?: number
|
|
338
338
|
/**
|
|
@@ -390,7 +390,7 @@ async function archiveIsCurrent(
|
|
|
390
390
|
/**
|
|
391
391
|
* Reads one component feature type whole and writes it beside the archives.
|
|
392
392
|
*
|
|
393
|
-
* Two requests per type: `RESULTTYPE=hits` for the count, then one `GetFeature` for that
|
|
393
|
+
* Two requests per type: `RESULTTYPE=hits` for the count, then one `GetFeature` for that number of features.
|
|
394
394
|
* `COUNT` is asked one above the stated count, so a service whose hits response
|
|
395
395
|
* undercounts its own matches answers with more features than it claimed
|
|
396
396
|
* rather than with exactly the number the harvest asked for.
|
|
@@ -487,7 +487,7 @@ export async function harvestESBizkaia(
|
|
|
487
487
|
|
|
488
488
|
// MARK: Read the service document
|
|
489
489
|
//
|
|
490
|
-
// One request
|
|
490
|
+
// One request states the version of every archive the service offers.
|
|
491
491
|
|
|
492
492
|
report?.(`=== ${ES_BIZKAIA_ADAPTER_ID}: reading ${ES_BIZKAIA_SERVICE_URL}`)
|
|
493
493
|
|
|
@@ -105,11 +105,11 @@ export const ES_CATASTRO_REQUEST_INTERVAL_MS = 250
|
|
|
105
105
|
const SLUG = ES_CATASTRO_ADAPTER_ID
|
|
106
106
|
|
|
107
107
|
/**
|
|
108
|
-
*
|
|
108
|
+
* The number of archives written between two manifest writes.
|
|
109
109
|
*
|
|
110
110
|
* The manifest is what makes an interrupted harvest resumable, and writing it after every
|
|
111
111
|
* archive would rewrite a document with one entry per municipality once per municipality.
|
|
112
|
-
* At this interval an interruption re-fetches at most this
|
|
112
|
+
* At this interval an interruption re-fetches at most this number of archives that are already on disk.
|
|
113
113
|
*/
|
|
114
114
|
const MANIFEST_INTERVAL = 25
|
|
115
115
|
|
|
@@ -416,18 +416,18 @@ export interface ESCatastroArchiveEntry extends SourceManifest {
|
|
|
416
416
|
*/
|
|
417
417
|
export interface ESCatastroHarvestManifest extends SourceCollectionManifest {
|
|
418
418
|
/**
|
|
419
|
-
*
|
|
419
|
+
* The number of territorial offices the service document listed, read from the feed on each run.
|
|
420
420
|
*/
|
|
421
421
|
provinces_listed: number
|
|
422
422
|
/**
|
|
423
|
-
*
|
|
423
|
+
* The number of those offices this run read a province feed for.
|
|
424
424
|
*
|
|
425
425
|
* A bounded run reads fewer, so this is the denominator for `municipalities_listed`
|
|
426
426
|
* rather than a count of the country.
|
|
427
427
|
*/
|
|
428
428
|
provinces_harvested: number
|
|
429
429
|
/**
|
|
430
|
-
*
|
|
430
|
+
* The number of municipalities the province feeds this run read listed between them.
|
|
431
431
|
*/
|
|
432
432
|
municipalities_listed: number
|
|
433
433
|
files: ESCatastroArchiveEntry[]
|
|
@@ -453,7 +453,7 @@ export interface HarvestESCatastroOptions {
|
|
|
453
453
|
*/
|
|
454
454
|
municipalities?: readonly string[]
|
|
455
455
|
/**
|
|
456
|
-
* Stop after this
|
|
456
|
+
* Stop after this number of municipalities, counting the ones already on disk.
|
|
457
457
|
*/
|
|
458
458
|
limit?: number
|
|
459
459
|
/**
|
|
@@ -91,10 +91,10 @@ export const ES_NAVARRA_REQUEST_INTERVAL_MS = 250
|
|
|
91
91
|
const SLUG = ES_NAVARRA_ADAPTER_ID
|
|
92
92
|
|
|
93
93
|
/**
|
|
94
|
-
*
|
|
94
|
+
* The number of archives written between two manifest writes.
|
|
95
95
|
*
|
|
96
96
|
* The manifest is what makes an interrupted harvest resumable.
|
|
97
|
-
* At this interval an interruption re-fetches at most this
|
|
97
|
+
* At this interval an interruption re-fetches at most this number of archives that are already on disk.
|
|
98
98
|
*/
|
|
99
99
|
const MANIFEST_INTERVAL = 25
|
|
100
100
|
|
|
@@ -217,7 +217,7 @@ export interface ESNavarraArchiveEntry extends SourceManifest {
|
|
|
217
217
|
*/
|
|
218
218
|
export interface ESNavarraHarvestManifest extends SourceCollectionManifest {
|
|
219
219
|
/**
|
|
220
|
-
*
|
|
220
|
+
* The number of partitions the service document listed when this manifest was written.
|
|
221
221
|
*
|
|
222
222
|
* The denominator for `files`, read from the feed on each run rather than fixed here.
|
|
223
223
|
*/
|
|
@@ -238,7 +238,7 @@ export interface HarvestESNavarraOptions {
|
|
|
238
238
|
*/
|
|
239
239
|
partitions?: readonly string[]
|
|
240
240
|
/**
|
|
241
|
-
* Stop after this
|
|
241
|
+
* Stop after this number of partitions, counting the ones already on disk.
|
|
242
242
|
*/
|
|
243
243
|
limit?: number
|
|
244
244
|
/**
|
package/lib/fingerprints.ts
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
* @file A fixed-capacity set of 128-bit fingerprints in one flat `Uint32Array`.
|
|
6
6
|
*
|
|
7
|
-
* The adapter runner deduplicates by holding every key it has seen. A V8 `Set`
|
|
8
|
-
* entry
|
|
7
|
+
* The adapter runner deduplicates by holding every key it has seen. A V8 `Set` throws on its 16,777,217th
|
|
8
|
+
* entry, so the runner capped itself at 10,000,000 keys. Three adapters passed that cap in
|
|
9
9
|
* `v0.7.0-de-holdout`. The duplicate census over that build measured what the cap costs: of the
|
|
10
10
|
* 2,491,399 duplicate rows the three adapters wrote, 1,490,992 duplicate a key first seen after the cap.
|
|
11
11
|
* A membership test on a capped set cannot refuse those rows.
|
|
@@ -77,7 +77,7 @@ export class FingerprintSet {
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
80
|
+
* The number of keys this table accepts before {@linkcode add} throws.
|
|
81
81
|
*/
|
|
82
82
|
get limit(): number {
|
|
83
83
|
return this.#limit
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
*
|
|
33
33
|
* Every FINESS establishment is an organization's site: a hospital, a pharmacy, a laboratory, a
|
|
34
34
|
* service office. Three categories house the people they serve in a private dwelling. In `462`
|
|
35
|
-
* Lieux de vie et d'accueil the staff live with the people they receive. A `238`
|
|
36
|
-
*
|
|
35
|
+
* Lieux de vie et d'accueil the staff live with the people they receive. A FINESS category `238`
|
|
36
|
+
* establishment, specialized family reception, places patients with host families, as a `236` Service de placement familial
|
|
37
37
|
* does. An address in those three can be a family's home, so they are refused under
|
|
38
38
|
* {@linkcode FinessRefusal.FamilyPlacement}, as is an establishment whose name states family
|
|
39
39
|
* placement or a lieu de vie under another category. A row whose street type is TRE-R35's `CHEZ`,
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
*
|
|
57
57
|
* A digit in `voie` is refused under {@linkcode FinessRefusal.StreetDigitUnplaced} unless the digits
|
|
58
58
|
* name the street, as a numbered route (`NATIONALE 2`) or a date (`DU 22 MAI`) does. The number has
|
|
59
|
-
* its own field, so a digit left in the name is a box, a building or a door: `VALLÉE 3 BP 208`,
|
|
59
|
+
* its own field, so a digit left in the street name is a box, a building or a door: `VALLÉE 3 BP 208`,
|
|
60
60
|
* `DIAKA BAT A4 PORTE 2`.
|
|
61
61
|
*
|
|
62
62
|
* ## The lieu-dit and box line, and the routing line
|
|
@@ -166,8 +166,9 @@ export const FR_FINESS_COUNTRIES: readonly string[] = [
|
|
|
166
166
|
]
|
|
167
167
|
|
|
168
168
|
/**
|
|
169
|
-
* The establishment categories whose address can be a private dwelling:
|
|
170
|
-
*
|
|
169
|
+
* The establishment categories whose address can be a private dwelling: FINESS
|
|
170
|
+
* categories `462` (lieux de vie et d'accueil), `238` (specialized family reception)
|
|
171
|
+
* and `236` (services de placement familial).
|
|
171
172
|
*/
|
|
172
173
|
export const FINESS_FAMILY_PLACEMENT_CATEGORIES: ReadonlySet<string> = new Set(["236", "238", "462"])
|
|
173
174
|
|
|
@@ -41,7 +41,7 @@ import { decomposeFrStreet } from "#fr/street-decompose"
|
|
|
41
41
|
*
|
|
42
42
|
* `VAL` keeps the code as its word.
|
|
43
43
|
* TRE-R35 displays it as `Vallée, vallon`, two words the code does not choose between,
|
|
44
|
-
* and `Val` is itself the written word
|
|
44
|
+
* and `Val` is itself the written word in French place names such as `Val-d'Isère`.
|
|
45
45
|
*/
|
|
46
46
|
export const TRE_R35_VOIE_TYPES: Readonly<Record<string, string | null>> = {
|
|
47
47
|
ANSE: "anse",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* Two checks keep a short transfer from reading as a small directory. The records endpoint is asked
|
|
17
17
|
* for the `total_count` of the same filter before the export, and the written file must hold exactly
|
|
18
|
-
* that
|
|
18
|
+
* that number of lines. A mismatch removes the file and fails the fetch. A re-run compares the catalog
|
|
19
19
|
* record's `modified` against the manifest and makes no transfer when they agree and the file is on
|
|
20
20
|
* disk at the recorded length.
|
|
21
21
|
*/
|
|
@@ -75,7 +75,7 @@ export function annuaireExportURL(): string {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
/**
|
|
78
|
-
* The records URL that answers
|
|
78
|
+
* The records URL that answers with the count of records the overseas filter selects.
|
|
79
79
|
*/
|
|
80
80
|
export function annuaireCountURL(): string {
|
|
81
81
|
return `${ANNUAIRE_EDUCATION_API_URL}/records?where=${encodeURIComponent(annuaireOverseasFilter())}&limit=0`
|
|
@@ -135,7 +135,7 @@ export async function readAnnuaireCatalog(
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
/**
|
|
138
|
-
* Read
|
|
138
|
+
* Read the count of records the overseas filter selects.
|
|
139
139
|
*
|
|
140
140
|
* @throws When the endpoint answers no `total_count`.
|
|
141
141
|
*/
|