@mailwoman/corpus 10.1.0 → 10.2.1
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/data/licenses/cdla-permissive-2.0.md +1 -1
- package/lib/adapters/cordis/adapter.ts +13 -7
- package/lib/adapters/dedup-key.ts +1 -1
- package/lib/adapters/geonames/adapter.ts +1 -1
- package/lib/adapters/gleif/adapter.ts +17 -16
- package/lib/adapters/libpostal-dictionary.ts +0 -2
- package/lib/adapters/openaddresses/adapter.ts +4 -3
- package/lib/adapters/osm/adapter.ts +22 -21
- package/lib/adapters/po-box/adapter.ts +10 -5
- package/lib/adapters/registry.ts +4 -4
- package/lib/adapters/source-id.ts +2 -2
- package/lib/adapters/street-line.ts +7 -6
- package/lib/adapters/wof/admin/json/adapter.ts +2 -2
- package/lib/adapters/wof/json-rows.ts +2 -1
- package/lib/adapters/wof/postalcode-json/adapter.ts +6 -2
- package/lib/adapters.ts +5 -5
- package/lib/au/adapters/gnaf/adapter.ts +1 -1
- package/lib/be/adapters/brussels/adapter.ts +22 -22
- package/lib/be/adapters/vlaanderen/adapter.ts +54 -57
- package/lib/be/adapters/wallonie/adapter.ts +17 -17
- package/lib/be/tools/fetch/brussels.ts +13 -10
- package/lib/be/tools/fetch/wallonie.ts +8 -7
- package/lib/build/adapters.ts +2 -1
- package/lib/build/align.ts +5 -4
- package/lib/build/checkpoint.ts +5 -3
- package/lib/build/eligibility.ts +3 -3
- package/lib/build/types.ts +8 -6
- package/lib/cz/adapters/cuzk/adapter.ts +41 -38
- package/lib/cz/tools/fetch/cuzk.ts +42 -31
- package/lib/de/recipes/locale.ts +1 -1
- package/lib/dk/adapters/inspire/adapter.ts +38 -38
- package/lib/dk/tools/fetch/inspire.ts +16 -14
- package/lib/ee/adapters/ads/adapter.ts +26 -32
- package/lib/ee/tools/fetch/ads.ts +10 -8
- package/lib/es/adapters/bizkaia/adapter.ts +47 -47
- package/lib/es/adapters/catastro/adapter.ts +36 -34
- package/lib/es/adapters/gipuzkoa/adapter.ts +38 -45
- package/lib/es/adapters/navarra/adapter.ts +28 -27
- package/lib/es/cadastre.ts +31 -31
- package/lib/es/tools/fetch/bizkaia.ts +40 -36
- package/lib/es/tools/fetch/catastro.ts +51 -40
- package/lib/es/tools/fetch/gipuzkoa.ts +13 -11
- package/lib/es/tools/fetch/navarra.ts +33 -25
- package/lib/fi/adapters/ryhti/adapter.ts +22 -26
- package/lib/fi/tools/fetch/ryhti.ts +31 -31
- package/lib/fr/adapters/annuaire-education/adapter.ts +13 -11
- package/lib/fr/adapters/ban/adapter.ts +6 -6
- package/lib/fr/adapters/finess/adapter.ts +16 -15
- package/lib/fr/adapters/finess/voie-type.ts +4 -3
- package/lib/fr/insee-country.ts +2 -2
- package/lib/fr/recipes/lieudit.ts +8 -6
- package/lib/fr/tools/fetch/annuaire-education.ts +11 -8
- package/lib/fr/tools/fetch/ban.ts +3 -2
- package/lib/fr/tools/fetch/finess.ts +14 -13
- package/lib/inspire/address.ts +86 -78
- package/lib/inspire/errors.ts +9 -8
- package/lib/inspire/stream.ts +29 -26
- package/lib/international/recipes/locale.ts +13 -9
- package/lib/it/adapters/anac/adapter.ts +51 -46
- package/lib/it/tools/fetch/anac.ts +22 -25
- package/lib/jp/adapters/wof-admin/adapter.ts +2 -6
- package/lib/jp/tools/fetch/houjin.ts +3 -3
- package/lib/kr/adapters/localdata/permit-rows.ts +1 -1
- package/lib/kr/tools/fetch/juso.ts +1 -1
- package/lib/kr/tools/fetch/localdata.ts +2 -2
- package/lib/lu/adapters/bd-adresses/adapter.ts +10 -10
- package/lib/lu/tools/fetch/bd-adresses.ts +15 -13
- package/lib/lv/adapters/varis/adapter.ts +24 -23
- package/lib/lv/tools/fetch/varis.ts +3 -2
- package/lib/nl/adapters/kadaster/adapter.ts +29 -29
- package/lib/nl/tools/fetch/kadaster.ts +16 -12
- package/lib/no/adapters/matrikkelen/adapter.ts +6 -5
- package/lib/no/tools/fetch/matrikkelen.ts +59 -47
- package/lib/parquet/duckdb.ts +7 -4
- package/lib/parquet/readers.ts +3 -3
- package/lib/parquet/schema.ts +1 -1
- package/lib/parquet/writers.ts +3 -2
- package/lib/pl/adapters/emuia/adapter.ts +12 -12
- package/lib/pl/tools/fetch/emuia.ts +10 -9
- package/lib/recipes/bare/postcode.ts +1 -1
- package/lib/recipes/boundary-stress.ts +1 -1
- package/lib/recipes/house-venue.ts +7 -3
- package/lib/recipes/intersection.ts +2 -2
- package/lib/recipes/po/box/cedex/recipe.ts +3 -3
- package/lib/recipes/po/box/cedex/sources.ts +13 -1
- package/lib/recipes/scaffold.ts +31 -21
- package/lib/recipes/sources.ts +16 -3
- package/lib/recipes/street/bare.ts +2 -2
- package/lib/recipes/street.ts +3 -1
- package/lib/recipes/sub/venue/context.ts +2 -0
- package/lib/recipes/sub/venue/render.ts +1 -1
- package/lib/recipes/sub/venue/sources.ts +24 -29
- package/lib/recipes/sub/venue.ts +12 -18
- package/lib/recipes/trailing-region.ts +6 -2
- package/lib/recipes/unit.ts +3 -3
- package/lib/recipes/venue.ts +347 -0
- package/lib/recipes.ts +4 -2
- package/lib/registers.ts +8 -6
- package/lib/ro/adapters/retea-scolara/adapter.ts +5 -5
- package/lib/ro/tools/fetch/retea-scolara.ts +1 -1
- package/lib/runner.ts +4 -3
- package/lib/sg/recipes/register.ts +1 -1
- package/lib/sg/tools/fetch/acra.ts +3 -3
- package/lib/sk/adapters/inspire/adapter.ts +25 -27
- package/lib/sk/tools/fetch/inspire.ts +15 -14
- package/lib/source-register/effective-manifest.ts +3 -3
- package/lib/source-register/register.ts +3 -3
- package/lib/source-register/training-manifest.ts +1 -1
- package/lib/source-register/types.ts +12 -13
- package/lib/subvenue/promotions.ts +1 -1
- package/lib/subvenue/table.ts +4 -4
- package/lib/surfaces/locale.ts +2 -0
- package/lib/synthesizers/anchor-absorption.ts +2 -1
- package/lib/synthesizers/boundary-stress.ts +20 -26
- package/lib/synthesizers/house-venue.ts +26 -30
- package/lib/synthesizers/no-street.ts +2 -1
- package/lib/synthesizers/po-box.ts +6 -3
- package/lib/synthesizers/tail.ts +55 -0
- package/lib/synthesizers/utils.ts +19 -2
- package/lib/test-kit.ts +2 -2
- package/lib/tools/audit.ts +7 -5
- package/lib/tools/corpus-stats.ts +1 -1
- package/lib/tools/fetch/atom.ts +10 -10
- package/lib/tools/fetch/cordis.ts +11 -9
- package/lib/tools/fetch/download/manifest.ts +2 -1
- package/lib/tools/fetch/download/network.ts +4 -4
- package/lib/tools/fetch/download/retry.ts +4 -4
- package/lib/tools/fetch/geonames/dump.ts +5 -3
- package/lib/tools/fetch/geonames/postal.ts +2 -2
- package/lib/tools/fetch/gleif.ts +6 -4
- package/lib/tools/fetch/header.ts +8 -6
- package/lib/tools/fetch/inspire-addresses.ts +41 -36
- package/lib/tools/fetch/openaddresses.ts +1 -1
- package/lib/tools/fetch/vlaanderen-ad.ts +17 -17
- package/lib/tools/fetch/wfs-harvest.ts +39 -28
- package/lib/tools/fetch.ts +0 -42
- package/lib/tools/golden/expand.ts +8 -8
- package/lib/tools/golden/promote.ts +12 -8
- package/lib/tools/golden/relabel-street/directory.ts +7 -6
- package/lib/tools/golden/relabel-street/row.ts +7 -6
- package/lib/tools/ingest-csv.ts +3 -3
- package/lib/tools/jsonl-to-parquet.ts +1 -1
- package/lib/tools/lint/recipe-output/vocab.ts +10 -5
- package/lib/tools/lint/recipe-output.ts +26 -8
- package/lib/tools/overlay/kryptonite.ts +4 -3
- package/lib/tools/overlay/manifest.ts +4 -2
- package/lib/tools/overlay/merge-source.ts +2 -1
- package/lib/tools/overlay/split-slice.ts +2 -2
- package/lib/tools/overlay/translit.ts +6 -4
- package/lib/tools/overture-subvenue.ts +1 -1
- package/lib/tools/postcode-triples.ts +5 -4
- package/lib/tools/source-register/build.ts +17 -14
- package/lib/tools/sub/venue/lexicon.ts +4 -8
- package/lib/tw/tools/fetch/gcis.ts +4 -4
- package/lib/types.ts +4 -3
- package/lib/us/adapters/state/hi-schools/workbook.ts +1 -1
- package/lib/us/adapters/usgov/nad/adapter.ts +11 -11
- package/lib/us/adapters/usgov/samhsa-treatment-locator/adapter.ts +4 -4
- package/lib/us/fips-state.ts +2 -2
- package/lib/{synthesizers → us/synthesizers}/intersection.ts +12 -13
- package/lib/{synthesizers → us/synthesizers}/street.ts +16 -15
- package/lib/us/tools/fetch/imls-pls.ts +1 -1
- package/lib/us/tools/fetch/nad.ts +7 -7
- package/lib/us/tools/fetch/nppes.ts +5 -5
- package/lib/us/tools/fetch/state/hi-schools.ts +3 -2
- package/lib/us/tools/fetch/tiger-full.ts +1 -1
- package/lib/utils/align.ts +13 -10
- package/lib/utils/golden.ts +2 -2
- package/lib/utils/license.ts +3 -3
- package/lib/utils/split.ts +19 -15
- package/lib/utils/tokenize.ts +7 -26
- package/lib/utils/wof-json.ts +4 -4
- package/out/adapters/cordis/adapter.d.ts +5 -3
- package/out/adapters/cordis/adapter.d.ts.map +1 -1
- package/out/adapters/cordis/adapter.js +13 -7
- package/out/adapters/cordis/adapter.js.map +1 -1
- package/out/adapters/dedup-key.d.ts +1 -1
- package/out/adapters/dedup-key.js +1 -1
- package/out/adapters/geonames/adapter.js +1 -1
- package/out/adapters/geonames/adapter.js.map +1 -1
- package/out/adapters/gleif/adapter.d.ts +9 -9
- package/out/adapters/gleif/adapter.d.ts.map +1 -1
- package/out/adapters/gleif/adapter.js +15 -14
- package/out/adapters/gleif/adapter.js.map +1 -1
- package/out/adapters/libpostal-dictionary.d.ts +0 -2
- package/out/adapters/libpostal-dictionary.d.ts.map +1 -1
- package/out/adapters/libpostal-dictionary.js +0 -2
- package/out/adapters/libpostal-dictionary.js.map +1 -1
- package/out/adapters/openaddresses/adapter.d.ts +3 -2
- package/out/adapters/openaddresses/adapter.d.ts.map +1 -1
- package/out/adapters/openaddresses/adapter.js +1 -1
- package/out/adapters/openaddresses/adapter.js.map +1 -1
- package/out/adapters/osm/adapter.d.ts +17 -16
- package/out/adapters/osm/adapter.d.ts.map +1 -1
- package/out/adapters/osm/adapter.js +10 -9
- package/out/adapters/osm/adapter.js.map +1 -1
- package/out/adapters/po-box/adapter.d.ts +6 -3
- package/out/adapters/po-box/adapter.d.ts.map +1 -1
- package/out/adapters/po-box/adapter.js +4 -2
- package/out/adapters/po-box/adapter.js.map +1 -1
- package/out/adapters/registry.d.ts +3 -3
- package/out/adapters/registry.d.ts.map +1 -1
- package/out/adapters/registry.js +1 -1
- package/out/adapters/registry.js.map +1 -1
- package/out/adapters/source-id.d.ts +2 -2
- package/out/adapters/source-id.js +2 -2
- package/out/adapters/street-line.d.ts +7 -6
- package/out/adapters/street-line.d.ts.map +1 -1
- package/out/adapters/street-line.js +7 -6
- package/out/adapters/street-line.js.map +1 -1
- package/out/adapters/wof/admin/json/adapter.js +1 -1
- package/out/adapters/wof/admin/json/adapter.js.map +1 -1
- package/out/adapters/wof/json-rows.d.ts +2 -1
- package/out/adapters/wof/json-rows.d.ts.map +1 -1
- package/out/adapters/wof/json-rows.js.map +1 -1
- package/out/adapters/wof/postalcode-json/adapter.d.ts.map +1 -1
- package/out/adapters/wof/postalcode-json/adapter.js +5 -1
- package/out/adapters/wof/postalcode-json/adapter.js.map +1 -1
- package/out/adapters.d.ts +5 -5
- package/out/adapters.js +5 -5
- package/out/au/adapters/gnaf/adapter.js +1 -1
- package/out/au/adapters/gnaf/adapter.js.map +1 -1
- package/out/be/adapters/brussels/adapter.d.ts +9 -9
- package/out/be/adapters/brussels/adapter.d.ts.map +1 -1
- package/out/be/adapters/brussels/adapter.js +21 -21
- package/out/be/adapters/brussels/adapter.js.map +1 -1
- package/out/be/adapters/vlaanderen/adapter.d.ts +34 -37
- package/out/be/adapters/vlaanderen/adapter.d.ts.map +1 -1
- package/out/be/adapters/vlaanderen/adapter.js +40 -38
- package/out/be/adapters/vlaanderen/adapter.js.map +1 -1
- package/out/be/adapters/wallonie/adapter.d.ts +2 -2
- package/out/be/adapters/wallonie/adapter.js +17 -17
- package/out/be/adapters/wallonie/adapter.js.map +1 -1
- package/out/be/tools/fetch/brussels.d.ts +11 -8
- package/out/be/tools/fetch/brussels.d.ts.map +1 -1
- package/out/be/tools/fetch/brussels.js +10 -8
- package/out/be/tools/fetch/brussels.js.map +1 -1
- package/out/be/tools/fetch/wallonie.d.ts +6 -5
- package/out/be/tools/fetch/wallonie.d.ts.map +1 -1
- package/out/be/tools/fetch/wallonie.js +4 -4
- package/out/be/tools/fetch/wallonie.js.map +1 -1
- package/out/build/adapters.d.ts.map +1 -1
- package/out/build/adapters.js +2 -1
- package/out/build/adapters.js.map +1 -1
- package/out/build/align.d.ts +3 -2
- package/out/build/align.d.ts.map +1 -1
- package/out/build/align.js +2 -2
- package/out/build/align.js.map +1 -1
- package/out/build/checkpoint.d.ts +1 -1
- package/out/build/checkpoint.d.ts.map +1 -1
- package/out/build/checkpoint.js +4 -2
- package/out/build/checkpoint.js.map +1 -1
- package/out/build/eligibility.d.ts +2 -2
- package/out/build/eligibility.js +3 -3
- package/out/build/eligibility.js.map +1 -1
- package/out/build/types.d.ts +8 -6
- package/out/build/types.d.ts.map +1 -1
- package/out/cz/adapters/cuzk/adapter.d.ts +14 -14
- package/out/cz/adapters/cuzk/adapter.d.ts.map +1 -1
- package/out/cz/adapters/cuzk/adapter.js +38 -35
- package/out/cz/adapters/cuzk/adapter.js.map +1 -1
- package/out/cz/tools/fetch/cuzk.d.ts +31 -22
- package/out/cz/tools/fetch/cuzk.d.ts.map +1 -1
- package/out/cz/tools/fetch/cuzk.js +21 -19
- package/out/cz/tools/fetch/cuzk.js.map +1 -1
- package/out/de/recipes/locale.js +1 -1
- package/out/de/recipes/locale.js.map +1 -1
- package/out/dk/adapters/inspire/adapter.d.ts +32 -33
- package/out/dk/adapters/inspire/adapter.d.ts.map +1 -1
- package/out/dk/adapters/inspire/adapter.js +38 -38
- package/out/dk/adapters/inspire/adapter.js.map +1 -1
- package/out/dk/tools/fetch/inspire.d.ts +6 -5
- package/out/dk/tools/fetch/inspire.d.ts.map +1 -1
- package/out/dk/tools/fetch/inspire.js +15 -13
- package/out/dk/tools/fetch/inspire.js.map +1 -1
- package/out/ee/adapters/ads/adapter.d.ts +19 -26
- package/out/ee/adapters/ads/adapter.d.ts.map +1 -1
- package/out/ee/adapters/ads/adapter.js +22 -28
- package/out/ee/adapters/ads/adapter.js.map +1 -1
- package/out/ee/tools/fetch/ads.d.ts +3 -3
- package/out/ee/tools/fetch/ads.d.ts.map +1 -1
- package/out/ee/tools/fetch/ads.js +10 -8
- package/out/ee/tools/fetch/ads.js.map +1 -1
- package/out/es/adapters/bizkaia/adapter.d.ts +28 -28
- package/out/es/adapters/bizkaia/adapter.d.ts.map +1 -1
- package/out/es/adapters/bizkaia/adapter.js +43 -43
- package/out/es/adapters/bizkaia/adapter.js.map +1 -1
- package/out/es/adapters/catastro/adapter.d.ts +22 -23
- package/out/es/adapters/catastro/adapter.d.ts.map +1 -1
- package/out/es/adapters/catastro/adapter.js +35 -33
- package/out/es/adapters/catastro/adapter.js.map +1 -1
- package/out/es/adapters/gipuzkoa/adapter.d.ts +31 -38
- package/out/es/adapters/gipuzkoa/adapter.d.ts.map +1 -1
- package/out/es/adapters/gipuzkoa/adapter.js +40 -47
- package/out/es/adapters/gipuzkoa/adapter.js.map +1 -1
- package/out/es/adapters/navarra/adapter.d.ts +20 -19
- package/out/es/adapters/navarra/adapter.d.ts.map +1 -1
- package/out/es/adapters/navarra/adapter.js +23 -22
- package/out/es/adapters/navarra/adapter.js.map +1 -1
- package/out/es/cadastre.d.ts +21 -20
- package/out/es/cadastre.d.ts.map +1 -1
- package/out/es/cadastre.js +19 -21
- package/out/es/cadastre.js.map +1 -1
- package/out/es/tools/fetch/bizkaia.d.ts +28 -25
- package/out/es/tools/fetch/bizkaia.d.ts.map +1 -1
- package/out/es/tools/fetch/bizkaia.js +25 -24
- package/out/es/tools/fetch/bizkaia.js.map +1 -1
- package/out/es/tools/fetch/catastro.d.ts +28 -20
- package/out/es/tools/fetch/catastro.d.ts.map +1 -1
- package/out/es/tools/fetch/catastro.js +36 -31
- package/out/es/tools/fetch/catastro.js.map +1 -1
- package/out/es/tools/fetch/gipuzkoa.d.ts +11 -9
- package/out/es/tools/fetch/gipuzkoa.d.ts.map +1 -1
- package/out/es/tools/fetch/gipuzkoa.js +9 -8
- package/out/es/tools/fetch/gipuzkoa.js.map +1 -1
- package/out/es/tools/fetch/navarra.d.ts +20 -15
- package/out/es/tools/fetch/navarra.d.ts.map +1 -1
- package/out/es/tools/fetch/navarra.js +21 -16
- package/out/es/tools/fetch/navarra.js.map +1 -1
- package/out/fi/adapters/ryhti/adapter.d.ts +16 -20
- package/out/fi/adapters/ryhti/adapter.d.ts.map +1 -1
- package/out/fi/adapters/ryhti/adapter.js +21 -25
- package/out/fi/adapters/ryhti/adapter.js.map +1 -1
- package/out/fi/tools/fetch/ryhti.d.ts +24 -24
- package/out/fi/tools/fetch/ryhti.d.ts.map +1 -1
- package/out/fi/tools/fetch/ryhti.js +21 -24
- package/out/fi/tools/fetch/ryhti.js.map +1 -1
- package/out/fr/adapters/annuaire-education/adapter.d.ts +8 -8
- package/out/fr/adapters/annuaire-education/adapter.d.ts.map +1 -1
- package/out/fr/adapters/annuaire-education/adapter.js +13 -11
- package/out/fr/adapters/annuaire-education/adapter.js.map +1 -1
- package/out/fr/adapters/ban/adapter.d.ts +4 -4
- package/out/fr/adapters/ban/adapter.js +6 -6
- package/out/fr/adapters/ban/adapter.js.map +1 -1
- package/out/fr/adapters/finess/adapter.d.ts +12 -11
- package/out/fr/adapters/finess/adapter.d.ts.map +1 -1
- package/out/fr/adapters/finess/adapter.js +16 -15
- package/out/fr/adapters/finess/adapter.js.map +1 -1
- package/out/fr/adapters/finess/voie-type.d.ts +2 -2
- package/out/fr/adapters/finess/voie-type.d.ts.map +1 -1
- package/out/fr/adapters/finess/voie-type.js +4 -3
- package/out/fr/adapters/finess/voie-type.js.map +1 -1
- package/out/fr/insee-country.d.ts +2 -2
- package/out/fr/insee-country.js +2 -2
- package/out/fr/recipes/lieudit.d.ts.map +1 -1
- package/out/fr/recipes/lieudit.js +5 -4
- package/out/fr/recipes/lieudit.js.map +1 -1
- package/out/fr/tools/fetch/annuaire-education.d.ts +7 -4
- package/out/fr/tools/fetch/annuaire-education.d.ts.map +1 -1
- package/out/fr/tools/fetch/annuaire-education.js +9 -7
- package/out/fr/tools/fetch/annuaire-education.js.map +1 -1
- package/out/fr/tools/fetch/ban.d.ts +1 -1
- package/out/fr/tools/fetch/ban.d.ts.map +1 -1
- package/out/fr/tools/fetch/ban.js +3 -2
- package/out/fr/tools/fetch/ban.js.map +1 -1
- package/out/fr/tools/fetch/finess.d.ts +5 -5
- package/out/fr/tools/fetch/finess.d.ts.map +1 -1
- package/out/fr/tools/fetch/finess.js +13 -12
- package/out/fr/tools/fetch/finess.js.map +1 -1
- package/out/inspire/address.d.ts +62 -52
- package/out/inspire/address.d.ts.map +1 -1
- package/out/inspire/address.js +71 -60
- package/out/inspire/address.js.map +1 -1
- package/out/inspire/errors.d.ts +9 -8
- package/out/inspire/errors.d.ts.map +1 -1
- package/out/inspire/errors.js +7 -6
- package/out/inspire/errors.js.map +1 -1
- package/out/inspire/stream.d.ts +25 -22
- package/out/inspire/stream.d.ts.map +1 -1
- package/out/inspire/stream.js +10 -12
- package/out/inspire/stream.js.map +1 -1
- package/out/international/recipes/locale.d.ts +2 -2
- package/out/international/recipes/locale.d.ts.map +1 -1
- package/out/international/recipes/locale.js +11 -7
- package/out/international/recipes/locale.js.map +1 -1
- package/out/it/adapters/anac/adapter.d.ts +45 -43
- package/out/it/adapters/anac/adapter.d.ts.map +1 -1
- package/out/it/adapters/anac/adapter.js +48 -43
- package/out/it/adapters/anac/adapter.js.map +1 -1
- package/out/it/tools/fetch/anac.d.ts +16 -19
- package/out/it/tools/fetch/anac.d.ts.map +1 -1
- package/out/it/tools/fetch/anac.js +20 -23
- package/out/it/tools/fetch/anac.js.map +1 -1
- package/out/jp/adapters/wof-admin/adapter.d.ts.map +1 -1
- package/out/jp/adapters/wof-admin/adapter.js.map +1 -1
- package/out/jp/tools/fetch/houjin.js +2 -2
- package/out/jp/tools/fetch/houjin.js.map +1 -1
- package/out/kr/adapters/localdata/permit-rows.js +1 -1
- package/out/kr/adapters/localdata/permit-rows.js.map +1 -1
- package/out/kr/tools/fetch/juso.d.ts +1 -1
- package/out/kr/tools/fetch/localdata.d.ts +1 -1
- package/out/kr/tools/fetch/localdata.js +1 -1
- package/out/kr/tools/fetch/localdata.js.map +1 -1
- package/out/lu/adapters/bd-adresses/adapter.d.ts +9 -9
- package/out/lu/adapters/bd-adresses/adapter.js +10 -10
- package/out/lu/tools/fetch/bd-adresses.d.ts +11 -9
- package/out/lu/tools/fetch/bd-adresses.d.ts.map +1 -1
- package/out/lu/tools/fetch/bd-adresses.js +11 -11
- package/out/lu/tools/fetch/bd-adresses.js.map +1 -1
- package/out/lv/adapters/varis/adapter.d.ts +24 -23
- package/out/lv/adapters/varis/adapter.d.ts.map +1 -1
- package/out/lv/adapters/varis/adapter.js +24 -23
- package/out/lv/adapters/varis/adapter.js.map +1 -1
- package/out/lv/tools/fetch/varis.d.ts +2 -1
- package/out/lv/tools/fetch/varis.d.ts.map +1 -1
- package/out/lv/tools/fetch/varis.js +1 -1
- package/out/lv/tools/fetch/varis.js.map +1 -1
- package/out/nl/adapters/kadaster/adapter.d.ts +12 -12
- package/out/nl/adapters/kadaster/adapter.d.ts.map +1 -1
- package/out/nl/adapters/kadaster/adapter.js +22 -23
- package/out/nl/adapters/kadaster/adapter.js.map +1 -1
- package/out/nl/tools/fetch/kadaster.d.ts +14 -10
- package/out/nl/tools/fetch/kadaster.d.ts.map +1 -1
- package/out/nl/tools/fetch/kadaster.js +12 -9
- package/out/nl/tools/fetch/kadaster.js.map +1 -1
- package/out/no/adapters/matrikkelen/adapter.d.ts +1 -1
- package/out/no/adapters/matrikkelen/adapter.d.ts.map +1 -1
- package/out/no/adapters/matrikkelen/adapter.js +3 -3
- package/out/no/adapters/matrikkelen/adapter.js.map +1 -1
- package/out/no/tools/fetch/matrikkelen.d.ts +50 -38
- package/out/no/tools/fetch/matrikkelen.d.ts.map +1 -1
- package/out/no/tools/fetch/matrikkelen.js +44 -36
- package/out/no/tools/fetch/matrikkelen.js.map +1 -1
- package/out/parquet/duckdb.d.ts +7 -4
- package/out/parquet/duckdb.d.ts.map +1 -1
- package/out/parquet/duckdb.js +2 -1
- package/out/parquet/duckdb.js.map +1 -1
- package/out/parquet/readers.js +3 -3
- package/out/parquet/readers.js.map +1 -1
- package/out/parquet/schema.js +1 -1
- package/out/parquet/schema.js.map +1 -1
- package/out/parquet/writers.d.ts +1 -1
- package/out/parquet/writers.d.ts.map +1 -1
- package/out/parquet/writers.js +2 -1
- package/out/parquet/writers.js.map +1 -1
- package/out/pl/adapters/emuia/adapter.d.ts +8 -8
- package/out/pl/adapters/emuia/adapter.js +12 -12
- package/out/pl/adapters/emuia/adapter.js.map +1 -1
- package/out/pl/tools/fetch/emuia.d.ts +5 -4
- package/out/pl/tools/fetch/emuia.d.ts.map +1 -1
- package/out/pl/tools/fetch/emuia.js +10 -9
- package/out/pl/tools/fetch/emuia.js.map +1 -1
- package/out/recipes/bare/postcode.js +1 -1
- package/out/recipes/bare/postcode.js.map +1 -1
- package/out/recipes/boundary-stress.js +1 -1
- package/out/recipes/boundary-stress.js.map +1 -1
- package/out/recipes/house-venue.d.ts.map +1 -1
- package/out/recipes/house-venue.js +6 -3
- package/out/recipes/house-venue.js.map +1 -1
- package/out/recipes/intersection.js +2 -2
- package/out/recipes/intersection.js.map +1 -1
- package/out/recipes/po/box/cedex/recipe.js +2 -1
- package/out/recipes/po/box/cedex/recipe.js.map +1 -1
- package/out/recipes/po/box/cedex/sources.d.ts +8 -2
- package/out/recipes/po/box/cedex/sources.d.ts.map +1 -1
- package/out/recipes/po/box/cedex/sources.js +1 -1
- package/out/recipes/po/box/cedex/sources.js.map +1 -1
- package/out/recipes/scaffold.d.ts +28 -19
- package/out/recipes/scaffold.d.ts.map +1 -1
- package/out/recipes/scaffold.js +3 -2
- package/out/recipes/scaffold.js.map +1 -1
- package/out/recipes/sources.d.ts +1 -1
- package/out/recipes/sources.d.ts.map +1 -1
- package/out/recipes/sources.js +15 -2
- package/out/recipes/sources.js.map +1 -1
- package/out/recipes/street/bare.js +2 -2
- package/out/recipes/street/bare.js.map +1 -1
- package/out/recipes/street.d.ts.map +1 -1
- package/out/recipes/street.js +3 -1
- package/out/recipes/street.js.map +1 -1
- package/out/recipes/sub/venue/context.d.ts.map +1 -1
- package/out/recipes/sub/venue/context.js +2 -0
- package/out/recipes/sub/venue/context.js.map +1 -1
- package/out/recipes/sub/venue/render.js +1 -1
- package/out/recipes/sub/venue/render.js.map +1 -1
- package/out/recipes/sub/venue/sources.d.ts +6 -3
- package/out/recipes/sub/venue/sources.d.ts.map +1 -1
- package/out/recipes/sub/venue/sources.js +16 -20
- package/out/recipes/sub/venue/sources.js.map +1 -1
- package/out/recipes/sub/venue.d.ts +2 -5
- package/out/recipes/sub/venue.d.ts.map +1 -1
- package/out/recipes/sub/venue.js +10 -14
- package/out/recipes/sub/venue.js.map +1 -1
- package/out/recipes/trailing-region.d.ts.map +1 -1
- package/out/recipes/trailing-region.js +6 -1
- package/out/recipes/trailing-region.js.map +1 -1
- package/out/recipes/unit.js +2 -2
- package/out/recipes/unit.js.map +1 -1
- package/out/recipes/venue.d.ts +119 -0
- package/out/recipes/venue.d.ts.map +1 -0
- package/out/recipes/venue.js +245 -0
- package/out/recipes/venue.js.map +1 -0
- package/out/recipes.d.ts +1 -1
- package/out/recipes.d.ts.map +1 -1
- package/out/recipes.js +3 -1
- package/out/recipes.js.map +1 -1
- package/out/registers.d.ts +8 -6
- package/out/registers.d.ts.map +1 -1
- package/out/registers.js +8 -6
- package/out/registers.js.map +1 -1
- package/out/ro/adapters/retea-scolara/adapter.d.ts +5 -5
- package/out/ro/adapters/retea-scolara/adapter.js +5 -5
- package/out/ro/tools/fetch/retea-scolara.js +1 -1
- package/out/ro/tools/fetch/retea-scolara.js.map +1 -1
- package/out/runner.d.ts +3 -2
- package/out/runner.d.ts.map +1 -1
- package/out/runner.js +1 -1
- package/out/runner.js.map +1 -1
- package/out/sg/recipes/register.js +1 -1
- package/out/sg/recipes/register.js.map +1 -1
- package/out/sg/tools/fetch/acra.js +2 -2
- package/out/sg/tools/fetch/acra.js.map +1 -1
- package/out/sk/adapters/inspire/adapter.d.ts +5 -5
- package/out/sk/adapters/inspire/adapter.d.ts.map +1 -1
- package/out/sk/adapters/inspire/adapter.js +18 -18
- package/out/sk/adapters/inspire/adapter.js.map +1 -1
- package/out/sk/tools/fetch/inspire.d.ts +11 -10
- package/out/sk/tools/fetch/inspire.d.ts.map +1 -1
- package/out/sk/tools/fetch/inspire.js +15 -14
- package/out/sk/tools/fetch/inspire.js.map +1 -1
- package/out/source-register/effective-manifest.js +3 -3
- package/out/source-register/effective-manifest.js.map +1 -1
- package/out/source-register/register.d.ts +2 -2
- package/out/source-register/register.d.ts.map +1 -1
- package/out/source-register/register.js +2 -2
- package/out/source-register/register.js.map +1 -1
- package/out/source-register/training-manifest.d.ts +1 -1
- package/out/source-register/types.d.ts +12 -13
- package/out/source-register/types.d.ts.map +1 -1
- package/out/source-register/types.js +2 -2
- package/out/source-register/types.js.map +1 -1
- package/out/subvenue/promotions.d.ts +1 -1
- package/out/subvenue/promotions.js +1 -1
- package/out/subvenue/table.d.ts +4 -4
- package/out/subvenue/table.js +3 -3
- package/out/surfaces/locale.d.ts.map +1 -1
- package/out/surfaces/locale.js +2 -0
- package/out/surfaces/locale.js.map +1 -1
- package/out/synthesizers/anchor-absorption.d.ts +2 -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.d.ts +1 -1
- package/out/synthesizers/boundary-stress.d.ts.map +1 -1
- package/out/synthesizers/boundary-stress.js +20 -23
- package/out/synthesizers/boundary-stress.js.map +1 -1
- package/out/synthesizers/house-venue.d.ts +3 -2
- package/out/synthesizers/house-venue.d.ts.map +1 -1
- package/out/synthesizers/house-venue.js +24 -26
- package/out/synthesizers/house-venue.js.map +1 -1
- package/out/synthesizers/no-street.d.ts.map +1 -1
- package/out/synthesizers/no-street.js.map +1 -1
- package/out/synthesizers/po-box.d.ts +4 -2
- package/out/synthesizers/po-box.d.ts.map +1 -1
- package/out/synthesizers/po-box.js.map +1 -1
- package/out/synthesizers/tail.d.ts +36 -0
- package/out/synthesizers/tail.d.ts.map +1 -0
- package/out/synthesizers/tail.js +32 -0
- package/out/synthesizers/tail.js.map +1 -0
- package/out/synthesizers/utils.d.ts +2 -1
- package/out/synthesizers/utils.d.ts.map +1 -1
- package/out/synthesizers/utils.js +17 -1
- package/out/synthesizers/utils.js.map +1 -1
- package/out/test-kit.js +2 -2
- package/out/test-kit.js.map +1 -1
- package/out/tools/audit.d.ts +2 -1
- package/out/tools/audit.d.ts.map +1 -1
- package/out/tools/audit.js +4 -3
- package/out/tools/audit.js.map +1 -1
- package/out/tools/corpus-stats.js +1 -1
- package/out/tools/corpus-stats.js.map +1 -1
- package/out/tools/fetch/atom.d.ts +8 -8
- package/out/tools/fetch/atom.d.ts.map +1 -1
- package/out/tools/fetch/atom.js +7 -8
- package/out/tools/fetch/atom.js.map +1 -1
- package/out/tools/fetch/cordis.d.ts +4 -3
- package/out/tools/fetch/cordis.d.ts.map +1 -1
- package/out/tools/fetch/cordis.js +9 -7
- package/out/tools/fetch/cordis.js.map +1 -1
- package/out/tools/fetch/download/manifest.d.ts.map +1 -1
- package/out/tools/fetch/download/manifest.js +2 -1
- package/out/tools/fetch/download/manifest.js.map +1 -1
- package/out/tools/fetch/download/network.d.ts +4 -4
- package/out/tools/fetch/download/retry.js +4 -4
- package/out/tools/fetch/download/retry.js.map +1 -1
- package/out/tools/fetch/geonames/dump.d.ts +3 -2
- package/out/tools/fetch/geonames/dump.d.ts.map +1 -1
- package/out/tools/fetch/geonames/dump.js +2 -1
- package/out/tools/fetch/geonames/dump.js.map +1 -1
- package/out/tools/fetch/geonames/postal.d.ts +2 -2
- package/out/tools/fetch/gleif.d.ts +3 -2
- package/out/tools/fetch/gleif.d.ts.map +1 -1
- package/out/tools/fetch/gleif.js +6 -4
- package/out/tools/fetch/gleif.js.map +1 -1
- package/out/tools/fetch/header.d.ts +7 -5
- package/out/tools/fetch/header.d.ts.map +1 -1
- package/out/tools/fetch/header.js +8 -6
- package/out/tools/fetch/header.js.map +1 -1
- package/out/tools/fetch/inspire-addresses.d.ts +32 -27
- package/out/tools/fetch/inspire-addresses.d.ts.map +1 -1
- package/out/tools/fetch/inspire-addresses.js +25 -24
- package/out/tools/fetch/inspire-addresses.js.map +1 -1
- package/out/tools/fetch/openaddresses.js +1 -1
- package/out/tools/fetch/openaddresses.js.map +1 -1
- package/out/tools/fetch/vlaanderen-ad.d.ts +5 -5
- package/out/tools/fetch/vlaanderen-ad.d.ts.map +1 -1
- package/out/tools/fetch/vlaanderen-ad.js +16 -16
- package/out/tools/fetch/vlaanderen-ad.js.map +1 -1
- package/out/tools/fetch/wfs-harvest.d.ts +26 -16
- package/out/tools/fetch/wfs-harvest.d.ts.map +1 -1
- package/out/tools/fetch/wfs-harvest.js +21 -18
- package/out/tools/fetch/wfs-harvest.js.map +1 -1
- package/out/tools/fetch.d.ts +0 -41
- package/out/tools/fetch.d.ts.map +1 -1
- package/out/tools/fetch.js +0 -41
- package/out/tools/fetch.js.map +1 -1
- package/out/tools/golden/expand.d.ts +7 -7
- package/out/tools/golden/expand.js +1 -1
- package/out/tools/golden/expand.js.map +1 -1
- package/out/tools/golden/promote.d.ts +2 -2
- package/out/tools/golden/promote.d.ts.map +1 -1
- package/out/tools/golden/promote.js +9 -6
- package/out/tools/golden/promote.js.map +1 -1
- package/out/tools/golden/relabel-street/directory.d.ts +4 -4
- package/out/tools/golden/relabel-street/directory.d.ts.map +1 -1
- package/out/tools/golden/relabel-street/directory.js +3 -2
- package/out/tools/golden/relabel-street/directory.js.map +1 -1
- package/out/tools/golden/relabel-street/row.d.ts +4 -3
- package/out/tools/golden/relabel-street/row.d.ts.map +1 -1
- package/out/tools/golden/relabel-street/row.js +3 -3
- package/out/tools/golden/relabel-street/row.js.map +1 -1
- package/out/tools/ingest-csv.js +3 -3
- package/out/tools/ingest-csv.js.map +1 -1
- package/out/tools/jsonl-to-parquet.d.ts +1 -1
- package/out/tools/lint/recipe-output/vocab.d.ts +10 -5
- package/out/tools/lint/recipe-output/vocab.d.ts.map +1 -1
- package/out/tools/lint/recipe-output/vocab.js.map +1 -1
- package/out/tools/lint/recipe-output.d.ts +8 -8
- package/out/tools/lint/recipe-output.d.ts.map +1 -1
- package/out/tools/lint/recipe-output.js +17 -0
- package/out/tools/lint/recipe-output.js.map +1 -1
- package/out/tools/overlay/kryptonite.d.ts +2 -2
- package/out/tools/overlay/kryptonite.d.ts.map +1 -1
- package/out/tools/overlay/kryptonite.js +2 -1
- package/out/tools/overlay/kryptonite.js.map +1 -1
- package/out/tools/overlay/manifest.d.ts +2 -1
- package/out/tools/overlay/manifest.d.ts.map +1 -1
- package/out/tools/overlay/manifest.js +2 -1
- package/out/tools/overlay/manifest.js.map +1 -1
- package/out/tools/overlay/merge-source.d.ts +2 -1
- package/out/tools/overlay/merge-source.d.ts.map +1 -1
- package/out/tools/overlay/merge-source.js.map +1 -1
- package/out/tools/overlay/split-slice.d.ts +1 -1
- package/out/tools/overlay/split-slice.js +1 -1
- package/out/tools/overlay/split-slice.js.map +1 -1
- package/out/tools/overlay/translit.d.ts +4 -3
- package/out/tools/overlay/translit.d.ts.map +1 -1
- package/out/tools/overlay/translit.js +2 -1
- package/out/tools/overlay/translit.js.map +1 -1
- package/out/tools/overture-subvenue.d.ts +1 -1
- package/out/tools/overture-subvenue.d.ts.map +1 -1
- package/out/tools/postcode-triples.d.ts +1 -1
- package/out/tools/postcode-triples.d.ts.map +1 -1
- package/out/tools/postcode-triples.js +4 -3
- package/out/tools/postcode-triples.js.map +1 -1
- package/out/tools/source-register/build.d.ts +10 -8
- package/out/tools/source-register/build.d.ts.map +1 -1
- package/out/tools/source-register/build.js +10 -8
- package/out/tools/source-register/build.js.map +1 -1
- package/out/tools/sub/venue/lexicon.d.ts +2 -6
- package/out/tools/sub/venue/lexicon.d.ts.map +1 -1
- package/out/tools/sub/venue/lexicon.js +2 -6
- package/out/tools/sub/venue/lexicon.js.map +1 -1
- package/out/tw/tools/fetch/gcis.js +3 -3
- package/out/tw/tools/fetch/gcis.js.map +1 -1
- package/out/types.d.ts +4 -3
- package/out/types.d.ts.map +1 -1
- package/out/types.js.map +1 -1
- package/out/us/adapters/state/hi-schools/workbook.d.ts +1 -1
- package/out/us/adapters/state/hi-schools/workbook.d.ts.map +1 -1
- package/out/us/adapters/state/hi-schools/workbook.js.map +1 -1
- package/out/us/adapters/usgov/nad/adapter.js +6 -6
- package/out/us/adapters/usgov/nad/adapter.js.map +1 -1
- package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.js +2 -2
- package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.js.map +1 -1
- package/out/us/fips-state.d.ts +2 -2
- package/out/us/fips-state.d.ts.map +1 -1
- package/out/us/fips-state.js.map +1 -1
- package/out/us/synthesizers/intersection.d.ts.map +1 -0
- package/out/{synthesizers → us/synthesizers}/intersection.js +13 -9
- package/out/us/synthesizers/intersection.js.map +1 -0
- package/out/{synthesizers → us/synthesizers}/street.d.ts +3 -2
- package/out/us/synthesizers/street.d.ts.map +1 -0
- package/out/{synthesizers → us/synthesizers}/street.js +12 -12
- package/out/us/synthesizers/street.js.map +1 -0
- package/out/us/tools/fetch/imls-pls.js +1 -1
- package/out/us/tools/fetch/imls-pls.js.map +1 -1
- package/out/us/tools/fetch/nad.d.ts +6 -6
- package/out/us/tools/fetch/nad.js +1 -1
- package/out/us/tools/fetch/nad.js.map +1 -1
- package/out/us/tools/fetch/nppes.js +3 -3
- package/out/us/tools/fetch/nppes.js.map +1 -1
- package/out/us/tools/fetch/state/hi-schools.d.ts +2 -1
- package/out/us/tools/fetch/state/hi-schools.d.ts.map +1 -1
- package/out/us/tools/fetch/state/hi-schools.js +1 -1
- package/out/us/tools/fetch/state/hi-schools.js.map +1 -1
- package/out/us/tools/fetch/tiger-full.js +1 -1
- package/out/us/tools/fetch/tiger-full.js.map +1 -1
- package/out/utils/align.d.ts +5 -3
- package/out/utils/align.d.ts.map +1 -1
- package/out/utils/align.js +5 -5
- package/out/utils/align.js.map +1 -1
- package/out/utils/golden.js +2 -2
- package/out/utils/golden.js.map +1 -1
- package/out/utils/license.d.ts +3 -3
- package/out/utils/license.d.ts.map +1 -1
- package/out/utils/license.js.map +1 -1
- package/out/utils/split.d.ts +1 -1
- package/out/utils/split.d.ts.map +1 -1
- package/out/utils/split.js +18 -14
- package/out/utils/split.js.map +1 -1
- package/out/utils/tokenize.d.ts +3 -20
- package/out/utils/tokenize.d.ts.map +1 -1
- package/out/utils/tokenize.js.map +1 -1
- package/out/utils/wof-json.js +3 -3
- package/out/utils/wof-json.js.map +1 -1
- package/package.json +18 -27
- package/lib/tools.ts +0 -31
- package/out/synthesizers/intersection.d.ts.map +0 -1
- package/out/synthesizers/intersection.js.map +0 -1
- package/out/synthesizers/street.d.ts.map +0 -1
- package/out/synthesizers/street.js.map +0 -1
- package/out/tools.d.ts +0 -31
- package/out/tools.d.ts.map +0 -1
- package/out/tools.js +0 -31
- package/out/tools.js.map +0 -1
- /package/out/{synthesizers → us/synthesizers}/intersection.d.ts +0 -0
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
*
|
|
22
22
|
* ## Which rows are read
|
|
23
23
|
*
|
|
24
|
-
* `departement`
|
|
24
|
+
* `departement` holds a two-character code, and the overseas ones are `9A` Guadeloupe, `9B`
|
|
25
25
|
* Martinique, `9C` Guyane, `9D` La Réunion, `9E` Saint-Pierre-et-Miquelon, `9F` Mayotte and `9J`
|
|
26
26
|
* Wallis-et-Futuna. Saint-Barthélemy and Saint-Martin have no code of their own: their
|
|
27
27
|
* establishments sit under `9A`, and the postcodes 97133 and 97150 separate them, so the adapter
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
*
|
|
52
52
|
* `compvoie` is one of `B`, `T`, `Q` or `C`. The first three are bis, ter and quater. `C` is
|
|
53
53
|
* refused under {@linkcode FinessRefusal.RepetitionIndexAmbiguous}: INSEE's coding reads it as
|
|
54
|
-
* quinquies, and the national extract
|
|
54
|
+
* quinquies, and the national extract holds 133 `C` against 31 `Q`, which is not the ratio of a
|
|
55
55
|
* fifth repetition to a fourth and reads as a letter suffix entered in the index field.
|
|
56
56
|
*
|
|
57
57
|
* A digit in `voie` is refused under {@linkcode FinessRefusal.StreetDigitUnplaced} unless the digits
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
* under {@linkcode FinessTrim.LieuDitPremiseDescriptor}, because the row stays an address without it.
|
|
71
71
|
*
|
|
72
72
|
* `ligneacheminement` is La Poste's routing line, `97100 BASSE TERRE` or `97331 CAYENNE CEDEX`. It
|
|
73
|
-
* gives the postcode, the locality as La Poste routes it and the `cedex` phrase
|
|
74
|
-
*
|
|
73
|
+
* gives the postcode, the locality as La Poste routes it and the `cedex` phrase. Every codex layout
|
|
74
|
+
* this adapter emits prints that phrase after the locality. French Polynesia is the exception.
|
|
75
75
|
*
|
|
76
76
|
* ## Identity and license
|
|
77
77
|
*
|
|
@@ -81,11 +81,11 @@
|
|
|
81
81
|
* data.gouv.fr publishes the dataset under the license whose id is `fr-lo`, titled `Licence Ouverte /
|
|
82
82
|
* Open Licence`, and links its text at
|
|
83
83
|
* `https://www.etalab.gouv.fr/wp-content/uploads/2014/05/Licence_Ouverte.pdf`. That is version 1.0
|
|
84
|
-
* of October 2011
|
|
84
|
+
* of October 2011. It grants the reuser the right to « Adapter, modifier, extraire et
|
|
85
85
|
* transformer à partir de « l'Information », notamment pour créer des « Informations dérivées » »,
|
|
86
86
|
* « Sous réserve de : Mentionner la paternité de « l'Information » : sa source (a minima le nom du
|
|
87
87
|
* « Producteur ») et la date de sa dernière mise à jour. » Every row records that license, and
|
|
88
|
-
* {@linkcode FR_FINESS_ATTRIBUTION} is the credit
|
|
88
|
+
* {@linkcode FR_FINESS_ATTRIBUTION} is the credit. The model card completes it with the
|
|
89
89
|
* extraction date the fetch manifest records.
|
|
90
90
|
*
|
|
91
91
|
* The adapter honors `opts.limit`, `opts.signal` and `opts.country`, and counts every refusal
|
|
@@ -138,7 +138,7 @@ export const FR_FINESS_ATTRIBUTION =
|
|
|
138
138
|
/**
|
|
139
139
|
* The jurisdiction each overseas `departement` code belongs to.
|
|
140
140
|
*
|
|
141
|
-
* `9A` also holds Saint-Barthélemy and Saint-Martin
|
|
141
|
+
* `9A` also holds Saint-Barthélemy and Saint-Martin. {@linkcode FINESS_COUNTRY_BY_POSTCODE} separates them.
|
|
142
142
|
*/
|
|
143
143
|
export const FINESS_COUNTRY_BY_DEPARTEMENT: Readonly<Record<string, string>> = {
|
|
144
144
|
"9A": "GP",
|
|
@@ -174,14 +174,15 @@ export const FINESS_FAMILY_PLACEMENT_CATEGORIES: ReadonlySet<string> = new Set([
|
|
|
174
174
|
/**
|
|
175
175
|
* An establishment name that states family placement, for one filed under another category.
|
|
176
176
|
*
|
|
177
|
-
* Saint-Pierre-et-Miquelon's `CENTRE D'ACCUEIL FAMILIAL SPECIALISE` is filed under `377`,
|
|
178
|
-
*
|
|
177
|
+
* Saint-Pierre-et-Miquelon's `CENTRE D'ACCUEIL FAMILIAL SPECIALISE` is filed under `377`, Etablissement
|
|
178
|
+
* expérimental pour enfance handicapée, so the category list would admit it without the name check.
|
|
179
179
|
*/
|
|
180
180
|
const FAMILY_PLACEMENT_NAME = /\b(?:accueil|placement) famil|\blieux? de vie\b/iu
|
|
181
181
|
|
|
182
182
|
/**
|
|
183
|
-
* The positions, counted from 0, of the columns this adapter reads
|
|
184
|
-
*
|
|
183
|
+
* The positions, counted from 0, of the columns this adapter reads.
|
|
184
|
+
*
|
|
185
|
+
* Each entry gives the publisher's column name and what the column holds.
|
|
185
186
|
*/
|
|
186
187
|
export const FinessColumn = {
|
|
187
188
|
/**
|
|
@@ -265,7 +266,7 @@ export const FinessRefusal = {
|
|
|
265
266
|
*/
|
|
266
267
|
RepetitionIndexAmbiguous: "row:repetition-index-ambiguous",
|
|
267
268
|
/**
|
|
268
|
-
* A house number with no street name
|
|
269
|
+
* A house number with no street name.
|
|
269
270
|
*/
|
|
270
271
|
NumberWithoutStreet: "row:number-without-street",
|
|
271
272
|
/**
|
|
@@ -285,7 +286,7 @@ export const FinessRefusal = {
|
|
|
285
286
|
*/
|
|
286
287
|
DeliveryLineAbsent: "row:delivery-line-absent",
|
|
287
288
|
/**
|
|
288
|
-
* The jurisdiction's layout does not print every component the row
|
|
289
|
+
* The jurisdiction's layout does not print every component the row holds.
|
|
289
290
|
*/
|
|
290
291
|
Unrenderable: "row:unrenderable",
|
|
291
292
|
/**
|
|
@@ -387,8 +388,8 @@ function readStreet(
|
|
|
387
388
|
|
|
388
389
|
if (word === undefined) return { refused: FinessRefusal.VoieTypeUnknown }
|
|
389
390
|
|
|
390
|
-
// With no code, or a code that adds no word, the name
|
|
391
|
-
if (word
|
|
391
|
+
// With no code, or a code that adds no word, the name holds whatever type word it has.
|
|
392
|
+
if (!word) {
|
|
392
393
|
const split = splitFrenchStreetType(name)
|
|
393
394
|
|
|
394
395
|
if (split?.street) {
|
|
@@ -37,7 +37,7 @@ import { decomposeFrStreet } from "#fr/street-decompose"
|
|
|
37
37
|
* and TRE-R35's own display for `HLM` is the acronym.
|
|
38
38
|
*
|
|
39
39
|
* `LD` maps to `null`.
|
|
40
|
-
* A lieu-dit is written by its name
|
|
40
|
+
* A lieu-dit is written by its name only, so the code adds no word to the line.
|
|
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,
|
|
@@ -145,7 +145,7 @@ export interface FrenchStreetSplit {
|
|
|
145
145
|
*
|
|
146
146
|
* The BAN reader's {@linkcode decomposeFrStreet} is consulted first, then TRE-R35's words and the
|
|
147
147
|
* codex's `FR_VOIE_TYPES`, which hold the overseas types it lacks (`quartier`, `lotissement`, `ZAC`).
|
|
148
|
-
* The name may come back empty, as it does for a line reading `Rue
|
|
148
|
+
* The name may come back empty, as it does for a line reading only `Rue`.
|
|
149
149
|
*/
|
|
150
150
|
export function splitFrenchStreetType(line: string): FrenchStreetSplit | null {
|
|
151
151
|
const decomposed = decomposeFrStreet(line)
|
|
@@ -168,7 +168,8 @@ export function splitFrenchStreetType(line: string): FrenchStreetSplit | null {
|
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
/**
|
|
171
|
-
* The French month names, folded
|
|
171
|
+
* The French month names, folded.
|
|
172
|
+
* A street name with a date writes the month after the day.
|
|
172
173
|
*/
|
|
173
174
|
const MONTHS = "janvier|fevrier|mars|avril|mai|juin|juillet|aout|septembre|octobre|novembre|decembre"
|
|
174
175
|
|
package/lib/fr/insee-country.ts
CHANGED
|
@@ -42,11 +42,11 @@ export const COUNTRY_BY_INSEE_DEPARTMENT: Readonly<Record<string, string>> = {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
|
-
* Every jurisdiction an INSEE-coded French source can
|
|
45
|
+
* Every jurisdiction an INSEE-coded French source can produce, so a caller's `--country`
|
|
46
46
|
* is checked against the set rather than against one value.
|
|
47
47
|
*
|
|
48
48
|
* `TF` and `WF` are in the set and currently yield no rows, because the set describes what
|
|
49
|
-
* the publisher's files can
|
|
49
|
+
* the publisher's files can contain rather than what the address-source register has elected.
|
|
50
50
|
*/
|
|
51
51
|
export const INSEE_COUNTRIES: readonly string[] = ["FR", ...Object.values(COUNTRY_BY_INSEE_DEPARTMENT)]
|
|
52
52
|
|
|
@@ -60,9 +60,10 @@ interface LieuDitTuple {
|
|
|
60
60
|
locality: string
|
|
61
61
|
dependentLocality: string
|
|
62
62
|
/**
|
|
63
|
-
* The row's INSEE commune code
|
|
63
|
+
* The row's INSEE commune code.
|
|
64
|
+
* This code decides the row's jurisdiction.
|
|
64
65
|
*
|
|
65
|
-
* BAN's overseas department files
|
|
66
|
+
* BAN's overseas department files hold the same columns as the metropolitan ones,
|
|
66
67
|
* so a recipe that reads the fetched BAN directory receives Guadeloupe, Martinique,
|
|
67
68
|
* French Guiana, Réunion and Mayotte rows beside the metropolitan ones.
|
|
68
69
|
*/
|
|
@@ -238,10 +239,11 @@ export const frLieuditRecipe: CorpusRecipe = {
|
|
|
238
239
|
// `countryFraction <= 0` (the default) never draws from `random`,
|
|
239
240
|
// so the byte-stream is unaffected when the flag is unset.
|
|
240
241
|
//
|
|
241
|
-
//
|
|
242
|
+
// Among the jurisdictions BAN covers, codex states surface forms only for `FR`, so an overseas
|
|
242
243
|
// row draws from `random` and then leaves `raw` and `components.country` as they were.
|
|
243
|
-
// The draw happens either way
|
|
244
|
-
//
|
|
244
|
+
// The draw happens either way.
|
|
245
|
+
// This keeps the byte-stream a function of `countryFraction` rather than of
|
|
246
|
+
// the mixture of jurisdictions in the input files.
|
|
245
247
|
if (countryFraction > 0 && random() < countryFraction) {
|
|
246
248
|
const forms: readonly string[] | undefined =
|
|
247
249
|
COUNTRY_SURFACE_FORMS[country as keyof typeof COUNTRY_SURFACE_FORMS]
|
|
@@ -270,7 +272,7 @@ export const frLieuditRecipe: CorpusRecipe = {
|
|
|
270
272
|
components,
|
|
271
273
|
country,
|
|
272
274
|
// Every jurisdiction BAN publishes writes its addresses in French,
|
|
273
|
-
// so the language is constant and the region
|
|
275
|
+
// so the language is constant and the region holds the jurisdiction.
|
|
274
276
|
locale: `fr-${country}`,
|
|
275
277
|
source,
|
|
276
278
|
source_id: sourceID,
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* `fr-en-annuaire-education` on `data.education.gouv.fr`. Its Explore API v2.1 serves the catalog
|
|
11
11
|
* record (license, `modified`, record count) at `/api/explore/v2.1/catalog/datasets/<id>` and a whole
|
|
12
12
|
* or filtered export at `/exports/jsonl?where=<ODSQL>`. The fetcher asks the export for the overseas
|
|
13
|
-
* departments the adapter reads
|
|
13
|
+
* departments the adapter reads: 3,145 of the dataset's 68,564 records on 2026-10-03. It
|
|
14
14
|
* writes them as JSON Lines.
|
|
15
15
|
*
|
|
16
16
|
* Two checks keep a short transfer from reading as a small directory. The records endpoint is asked
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
import { APIClient } from "@mailwoman/core/api"
|
|
24
24
|
import { isSuccessStatus } from "@mailwoman/core/api/responses"
|
|
25
25
|
import { ByteFormatter } from "@mailwoman/core/fs/formatters"
|
|
26
|
-
import { tryStat } from "@mailwoman/core/fs/readers"
|
|
26
|
+
import { tryStat } from "@mailwoman/core/fs/readers/stat"
|
|
27
27
|
import { makeDirectories, removePathIfPresent } from "@mailwoman/core/fs/writers"
|
|
28
28
|
import { sha256File } from "@mailwoman/core/hash"
|
|
29
29
|
import { PathBuilder, type PathBuilderLike } from "path-ts"
|
|
@@ -49,12 +49,14 @@ export const ANNUAIRE_EDUCATION_DATASET_ID = "fr-en-annuaire-education"
|
|
|
49
49
|
export const ANNUAIRE_EDUCATION_API_URL = `https://data.education.gouv.fr/api/explore/v2.1/catalog/datasets/${ANNUAIRE_EDUCATION_DATASET_ID}`
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
|
-
* The dataset's page
|
|
52
|
+
* The dataset's page.
|
|
53
|
+
* It states the license.
|
|
53
54
|
*/
|
|
54
55
|
export const ANNUAIRE_EDUCATION_PAGE_URL = `https://data.education.gouv.fr/explore/dataset/${ANNUAIRE_EDUCATION_DATASET_ID}/`
|
|
55
56
|
|
|
56
57
|
/**
|
|
57
|
-
* The file the export is written to
|
|
58
|
+
* The file the export is written to.
|
|
59
|
+
* The adapter reads it as input.
|
|
58
60
|
*/
|
|
59
61
|
export const ANNUAIRE_EDUCATION_FILENAME = "fr-en-annuaire-education-overseas.jsonl"
|
|
60
62
|
|
|
@@ -105,7 +107,8 @@ export interface AnnuaireExportManifest extends SourceManifest {
|
|
|
105
107
|
dataset_license: string | null
|
|
106
108
|
dataset_license_url: string | null
|
|
107
109
|
/**
|
|
108
|
-
* The record count the filter selected
|
|
110
|
+
* The record count the filter selected.
|
|
111
|
+
* The written line count must match it.
|
|
109
112
|
*/
|
|
110
113
|
records: number
|
|
111
114
|
}
|
|
@@ -237,17 +240,17 @@ export async function downloadAnnuaireEducation(
|
|
|
237
240
|
retryDelayMs: options.retryDelayMs ?? DEFAULT_RETRY_DELAY_MS,
|
|
238
241
|
})
|
|
239
242
|
|
|
240
|
-
if (!isSuccessStatus(status)) return
|
|
243
|
+
if (!isSuccessStatus(status)) return fail(`export answered HTTP ${status}`)
|
|
241
244
|
|
|
242
245
|
const lines = await countJSONLines(dest)
|
|
243
246
|
|
|
244
247
|
if (lines !== expected) {
|
|
245
|
-
return
|
|
248
|
+
return fail(`the filter selects ${expected} records and the export wrote ${lines}`)
|
|
246
249
|
}
|
|
247
250
|
|
|
248
251
|
const stat = await tryStat(dest)
|
|
249
252
|
|
|
250
|
-
if (!stat) return
|
|
253
|
+
if (!stat) return fail(`the export is not at ${dest.toString()}`)
|
|
251
254
|
|
|
252
255
|
const entry: AnnuaireExportManifest = {
|
|
253
256
|
source_url: annuaireExportURL(),
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Fetch the full French BAN (Base Adresse Nationale): every metropolitan département (01-95, 2A,
|
|
7
7
|
* 2B) and the ten overseas files the publisher serves, 971-978 plus 987 French Polynesia and 988 New
|
|
8
|
-
* Caledonia. Each overseas file is its own ISO 3166-1 jurisdiction
|
|
8
|
+
* Caledonia. Each overseas file is its own ISO 3166-1 jurisdiction. The adapter derives it from
|
|
9
9
|
* `code_insee`.
|
|
10
10
|
*
|
|
11
11
|
* Source: https://adresse.data.gouv.fr/data/ban/adresses/latest/csv/
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
|
|
23
23
|
import { gunzip } from "@mailwoman/core/fs/compression"
|
|
24
24
|
import { BYTES_PER_KIB, ByteFormatter } from "@mailwoman/core/fs/formatters"
|
|
25
|
-
import {
|
|
25
|
+
import { readLocalBuffer } from "@mailwoman/core/fs/readers"
|
|
26
|
+
import { isFile, tryStat } from "@mailwoman/core/fs/readers/stat"
|
|
26
27
|
import { makeDirectories, removePath, writeLocalFile } from "@mailwoman/core/fs/writers"
|
|
27
28
|
import { sha256File } from "@mailwoman/core/hash"
|
|
28
29
|
import { sleep } from "@mailwoman/core/utils/sleep"
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* `finess-extraction-du-fichier-des-etablissements`, whose API record at
|
|
10
10
|
* `https://www.data.gouv.fr/api/1/datasets/finess-extraction-du-fichier-des-etablissements/` lists
|
|
11
11
|
* every resource with its URL, `last_modified`, `filesize` and a SHA-1 `checksum`. The establishment
|
|
12
|
-
* extract is the resource whose file
|
|
12
|
+
* extract is the resource whose file matches `etalab-cs1100502-stock-<date>-<time>.csv`. The
|
|
13
13
|
* geolocated extract `etalab-cs1100507-…` and the history archive sit beside it and are not read.
|
|
14
14
|
* {@linkcode selectFinessExtract} picks the newest establishment extract the record lists, so the
|
|
15
15
|
* fetcher follows a republication without a code change.
|
|
@@ -27,12 +27,13 @@
|
|
|
27
27
|
* decides, and the manifest records all three digests. A file that matches neither is an
|
|
28
28
|
* interrupted transfer or an error page and is removed rather than recorded. The manifest records the SHA-256 the corpus tooling compares,
|
|
29
29
|
* the resource's `last_modified`, and the extract's own first line (`finess;etalab;111;2026-05-12`),
|
|
30
|
-
*
|
|
30
|
+
* That line states the extraction date Licence Ouverte's attribution requires.
|
|
31
31
|
*/
|
|
32
32
|
|
|
33
33
|
import { APIClient } from "@mailwoman/core/api"
|
|
34
34
|
import { ByteFormatter } from "@mailwoman/core/fs/formatters"
|
|
35
|
-
import { readFileHead, readLocalBuffer
|
|
35
|
+
import { readFileHead, readLocalBuffer } from "@mailwoman/core/fs/readers"
|
|
36
|
+
import { tryStat } from "@mailwoman/core/fs/readers/stat"
|
|
36
37
|
import { makeDirectories, removePathIfPresent } from "@mailwoman/core/fs/writers"
|
|
37
38
|
import { createHash, md5File, sha256File } from "@mailwoman/core/hash"
|
|
38
39
|
import { stringifyJSON } from "@mailwoman/core/json"
|
|
@@ -48,12 +49,12 @@ import { downloadToFile, loadCollectionFiles, writeManifest } from "#tools/fetch
|
|
|
48
49
|
export const FINESS_DATASET_SLUG = "finess-extraction-du-fichier-des-etablissements"
|
|
49
50
|
|
|
50
51
|
/**
|
|
51
|
-
* The
|
|
52
|
+
* The API record that lists the dataset's resources.
|
|
52
53
|
*/
|
|
53
54
|
export const FINESS_DATASET_API_URL = `https://www.data.gouv.fr/api/1/datasets/${FINESS_DATASET_SLUG}/`
|
|
54
55
|
|
|
55
56
|
/**
|
|
56
|
-
* The
|
|
57
|
+
* The page that states the dataset's license.
|
|
57
58
|
*/
|
|
58
59
|
export const FINESS_DATASET_PAGE_URL = `https://www.data.gouv.fr/datasets/${FINESS_DATASET_SLUG}`
|
|
59
60
|
|
|
@@ -63,7 +64,7 @@ export const FINESS_DATASET_PAGE_URL = `https://www.data.gouv.fr/datasets/${FINE
|
|
|
63
64
|
const ESTABLISHMENT_EXTRACT = /\/(etalab-cs1100502-stock-\d{8}-\d{4}\.csv)$/u
|
|
64
65
|
|
|
65
66
|
/**
|
|
66
|
-
* The opening of the extract's comment line
|
|
67
|
+
* The opening of the extract's comment line.
|
|
67
68
|
*/
|
|
68
69
|
const EXTRACT_HEADER = "finess;"
|
|
69
70
|
|
|
@@ -98,7 +99,7 @@ export interface FinessExtractManifest extends SourceManifest {
|
|
|
98
99
|
*/
|
|
99
100
|
dataset_license: string | null
|
|
100
101
|
/**
|
|
101
|
-
* The extract's first line,
|
|
102
|
+
* The extract's first line, ending with the extraction date.
|
|
102
103
|
*/
|
|
103
104
|
extract_header: string
|
|
104
105
|
/**
|
|
@@ -156,7 +157,7 @@ export function selectFinessExtract(dataset: DataGouvDataset): DataGouvResource
|
|
|
156
157
|
export async function readFinessDataset(client: Pick<APIClient, "fetch">): Promise<DataGouvDataset> {
|
|
157
158
|
const { data } = await client.fetch<DataGouvDataset | string>({ url: FINESS_DATASET_API_URL })
|
|
158
159
|
|
|
159
|
-
if (typeof data !== "object" || data
|
|
160
|
+
if (typeof data !== "object" || !data || !Array.isArray(data.resources)) {
|
|
160
161
|
throw new Error(`${FR_FINESS_ADAPTER_ID}: ${FINESS_DATASET_API_URL} did not answer a dataset record`)
|
|
161
162
|
}
|
|
162
163
|
|
|
@@ -164,7 +165,7 @@ export async function readFinessDataset(client: Pick<APIClient, "fetch">): Promi
|
|
|
164
165
|
}
|
|
165
166
|
|
|
166
167
|
/**
|
|
167
|
-
*
|
|
168
|
+
* A file's SHA-1, the digest data.gouv.fr publishes for a resource.
|
|
168
169
|
*/
|
|
169
170
|
async function sha1File(path: PathBuilderLike): Promise<string> {
|
|
170
171
|
return createHash("sha1")
|
|
@@ -257,11 +258,11 @@ export async function downloadFinessExtract(
|
|
|
257
258
|
|
|
258
259
|
bytes = written.bytes
|
|
259
260
|
} catch (error) {
|
|
260
|
-
return
|
|
261
|
+
return fail(`download failed: ${error instanceof Error ? error.message : String(error)}`)
|
|
261
262
|
}
|
|
262
263
|
|
|
263
264
|
if (typeof resource.filesize === "number" && resource.filesize !== bytes) {
|
|
264
|
-
return
|
|
265
|
+
return fail(`the record states ${resource.filesize} bytes and ${bytes} arrived`)
|
|
265
266
|
}
|
|
266
267
|
|
|
267
268
|
const sha1 = await sha1File(dest)
|
|
@@ -274,7 +275,7 @@ export async function downloadFinessExtract(
|
|
|
274
275
|
const md5 = await md5File(dest)
|
|
275
276
|
|
|
276
277
|
if (servedMD5 !== md5) {
|
|
277
|
-
return
|
|
278
|
+
return fail(
|
|
278
279
|
`SHA-1 ${sha1} differs from the record's ${resource.checksum.value}, ` +
|
|
279
280
|
`and MD5 ${md5} differs from the served ETag ${servedMD5 ?? "(absent)"}`
|
|
280
281
|
)
|
|
@@ -290,7 +291,7 @@ export async function downloadFinessExtract(
|
|
|
290
291
|
const header = head.split(/\r?\n/u)[0] ?? ""
|
|
291
292
|
|
|
292
293
|
if (!header.startsWith(EXTRACT_HEADER)) {
|
|
293
|
-
return
|
|
294
|
+
return fail(`the file opens with ${stringifyJSON(header.slice(0, 40))}, not the extract's comment line`)
|
|
294
295
|
}
|
|
295
296
|
|
|
296
297
|
const entry: FinessExtractManifest = {
|