@mailwoman/resolver-wof-sqlite 10.0.0 → 10.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -8
- package/lib/address/point/interpolation.ts +45 -39
- package/lib/address/point/schema.ts +17 -40
- package/lib/address/point.ts +316 -0
- package/lib/{address/index.ts → address.ts} +1 -1
- package/lib/ancestry/backfill.ts +20 -86
- package/lib/{ancestry/index.ts → ancestry.ts} +19 -15
- package/lib/build/candidate.ts +122 -174
- package/lib/build/population-corrections.ts +64 -0
- package/lib/build/slim.ts +44 -114
- package/lib/candidate/alias-bags.ts +16 -17
- package/lib/candidate/ancestors/schema.ts +77 -61
- package/lib/candidate/ancestors/sidecar.ts +15 -22
- package/lib/candidate/country-display-names.ts +6 -20
- package/lib/candidate/extract-fold.ts +10 -55
- package/lib/candidate/fts.ts +5 -23
- package/lib/candidate/importance.ts +65 -68
- package/lib/candidate/lookup.ts +124 -415
- package/lib/candidate/name-roles.ts +15 -33
- package/lib/candidate/own-name.ts +35 -32
- package/lib/candidate/place-attrs.ts +20 -13
- package/lib/candidate/schema.ts +29 -65
- package/lib/candidate/scoring.ts +54 -93
- package/lib/capital-schema.ts +21 -17
- package/lib/capitals.ts +29 -27
- package/lib/coincident-roles.ts +85 -55
- package/lib/convention/schema.ts +15 -16
- package/lib/convention.ts +144 -0
- package/lib/coverage-manifest-schema.ts +40 -45
- package/lib/currency-backfill.ts +34 -79
- package/lib/env.ts +1 -1
- package/lib/exact-match.ts +32 -21
- package/lib/extracts.ts +97 -74
- package/lib/fst/autocomplete.ts +54 -37
- package/lib/fst/builder.ts +37 -41
- package/lib/fst/deserialize-web.ts +16 -17
- package/lib/fst/format.ts +41 -23
- package/lib/fst/freshness.ts +43 -120
- package/lib/fst/matcher.ts +7 -5
- package/lib/fst/serialize.ts +54 -74
- package/lib/fst/types.ts +78 -75
- package/lib/{fst/index.ts → fst.ts} +1 -0
- package/lib/fts/query.ts +5 -36
- package/lib/fts.ts +280 -0
- package/lib/geonames/aliases.ts +73 -144
- package/lib/geonames/postal.ts +162 -71
- package/lib/index.ts +9 -8
- package/lib/interpolation.ts +48 -100
- package/lib/lookup.ts +155 -270
- package/lib/name-score.ts +9 -7
- package/lib/nsul/lookup.ts +37 -54
- package/lib/nsul/schema.ts +16 -43
- package/lib/paths.ts +159 -0
- package/lib/place-importance-schema.ts +62 -169
- package/lib/poi/lookup.ts +104 -121
- package/lib/poi/schema.ts +42 -26
- package/lib/polygon-schema.ts +10 -6
- package/lib/postal/city/alias/lookup.ts +22 -40
- package/lib/postal/city/alias/schema.ts +14 -10
- package/lib/postal/city/candidate-schema.ts +26 -20
- package/lib/postcode-point-lookup.ts +8 -27
- package/lib/primary-preference.ts +46 -126
- package/lib/proximity-rerank.ts +44 -33
- package/lib/ranking-weights.ts +105 -78
- package/lib/region-keys.ts +70 -42
- package/lib/reverse.ts +149 -86
- package/lib/schema.ts +73 -50
- package/lib/search-fetch.ts +90 -68
- package/lib/sqlite/convention-source.ts +15 -23
- package/lib/sqlite/utils.ts +19 -22
- package/lib/street/centroid/schema.ts +37 -42
- package/lib/street/{centroid/index.ts → centroid.ts} +16 -25
- package/lib/street/morphology/fst/builder.ts +60 -42
- package/lib/street/morphology/fst/loader.ts +40 -32
- package/lib/street/name-lookup.ts +45 -41
- package/lib/street/normalize.ts +88 -219
- package/lib/street/segment-schema.ts +116 -43
- package/lib/{street/index.ts → street.ts} +1 -1
- package/lib/types.ts +109 -150
- package/lib/unified-schema.ts +29 -29
- package/lib/uprn/existence.ts +30 -19
- package/lib/uprn/lookup.ts +29 -68
- package/lib/uprn/schema.ts +18 -40
- package/lib/weights-overlay-linker.ts +236 -252
- package/out/address/point/interpolation.d.ts +20 -23
- package/out/address/point/interpolation.d.ts.map +1 -1
- package/out/address/point/interpolation.js +42 -39
- package/out/address/point/interpolation.js.map +1 -1
- package/out/address/point/schema.d.ts +12 -35
- package/out/address/point/schema.d.ts.map +1 -1
- package/out/address/point/schema.js +3 -19
- package/out/address/point/schema.js.map +1 -1
- package/out/address/point.d.ts +57 -0
- package/out/address/point.d.ts.map +1 -0
- package/out/address/point.js +206 -0
- package/out/address/point.js.map +1 -0
- package/out/{address/index.js → address.d.ts} +2 -2
- package/out/address.d.ts.map +1 -0
- package/out/{address/index.d.ts → address.js} +2 -2
- package/out/address.js.map +1 -0
- package/out/ancestry/backfill.d.ts +11 -64
- package/out/ancestry/backfill.d.ts.map +1 -1
- package/out/ancestry/backfill.js +14 -74
- package/out/ancestry/backfill.js.map +1 -1
- package/out/ancestry.d.ts +49 -0
- package/out/ancestry.d.ts.map +1 -0
- package/out/ancestry.js +59 -0
- package/out/ancestry.js.map +1 -0
- package/out/build/candidate.d.ts +82 -112
- package/out/build/candidate.d.ts.map +1 -1
- package/out/build/candidate.js +17 -100
- package/out/build/candidate.js.map +1 -1
- package/out/build/population-corrections.d.ts +52 -0
- package/out/build/population-corrections.d.ts.map +1 -0
- package/out/build/population-corrections.js +40 -0
- package/out/build/population-corrections.js.map +1 -0
- package/out/build/slim.d.ts +8 -44
- package/out/build/slim.d.ts.map +1 -1
- package/out/build/slim.js +33 -94
- package/out/build/slim.js.map +1 -1
- package/out/candidate/alias-bags.d.ts +6 -6
- package/out/candidate/alias-bags.d.ts.map +1 -1
- package/out/candidate/alias-bags.js +16 -17
- package/out/candidate/alias-bags.js.map +1 -1
- package/out/candidate/ancestors/schema.d.ts +73 -57
- package/out/candidate/ancestors/schema.d.ts.map +1 -1
- package/out/candidate/ancestors/schema.js +56 -48
- package/out/candidate/ancestors/schema.js.map +1 -1
- package/out/candidate/ancestors/sidecar.d.ts +3 -8
- package/out/candidate/ancestors/sidecar.d.ts.map +1 -1
- package/out/candidate/ancestors/sidecar.js +15 -22
- package/out/candidate/ancestors/sidecar.js.map +1 -1
- package/out/candidate/country-display-names.d.ts +5 -15
- package/out/candidate/country-display-names.d.ts.map +1 -1
- package/out/candidate/country-display-names.js +6 -20
- package/out/candidate/country-display-names.js.map +1 -1
- package/out/candidate/extract-fold.d.ts +7 -15
- package/out/candidate/extract-fold.d.ts.map +1 -1
- package/out/candidate/extract-fold.js +5 -47
- package/out/candidate/extract-fold.js.map +1 -1
- package/out/candidate/fts.d.ts +5 -23
- package/out/candidate/fts.d.ts.map +1 -1
- package/out/candidate/fts.js +5 -23
- package/out/candidate/fts.js.map +1 -1
- package/out/candidate/importance.d.ts +60 -65
- package/out/candidate/importance.d.ts.map +1 -1
- package/out/candidate/importance.js +56 -63
- package/out/candidate/importance.js.map +1 -1
- package/out/candidate/lookup.d.ts +18 -55
- package/out/candidate/lookup.d.ts.map +1 -1
- package/out/candidate/lookup.js +82 -385
- package/out/candidate/lookup.js.map +1 -1
- package/out/candidate/name-roles.d.ts +9 -21
- package/out/candidate/name-roles.d.ts.map +1 -1
- package/out/candidate/name-roles.js +15 -33
- package/out/candidate/name-roles.js.map +1 -1
- package/out/candidate/own-name.d.ts +23 -25
- package/out/candidate/own-name.d.ts.map +1 -1
- package/out/candidate/own-name.js +35 -32
- package/out/candidate/own-name.js.map +1 -1
- package/out/candidate/place-attrs.d.ts +20 -13
- package/out/candidate/place-attrs.d.ts.map +1 -1
- package/out/candidate/place-attrs.js +4 -5
- package/out/candidate/place-attrs.js.map +1 -1
- package/out/candidate/schema.d.ts +27 -62
- package/out/candidate/schema.d.ts.map +1 -1
- package/out/candidate/schema.js +10 -22
- package/out/candidate/schema.js.map +1 -1
- package/out/candidate/scoring.d.ts +7 -8
- package/out/candidate/scoring.d.ts.map +1 -1
- package/out/candidate/scoring.js +52 -89
- package/out/candidate/scoring.js.map +1 -1
- package/out/capital-schema.d.ts +21 -17
- package/out/capital-schema.d.ts.map +1 -1
- package/out/capital-schema.js +17 -15
- package/out/capital-schema.js.map +1 -1
- package/out/capitals.d.ts +27 -25
- package/out/capitals.d.ts.map +1 -1
- package/out/capitals.js +23 -21
- package/out/capitals.js.map +1 -1
- package/out/coincident-roles.d.ts +60 -43
- package/out/coincident-roles.d.ts.map +1 -1
- package/out/coincident-roles.js +72 -50
- package/out/coincident-roles.js.map +1 -1
- package/out/convention/schema.d.ts +14 -14
- package/out/convention/schema.d.ts.map +1 -1
- package/out/convention/schema.js +6 -4
- package/out/convention/schema.js.map +1 -1
- package/out/convention.d.ts +97 -0
- package/out/convention.d.ts.map +1 -0
- package/out/convention.js +81 -0
- package/out/convention.js.map +1 -0
- package/out/coverage-manifest-schema.d.ts +34 -39
- package/out/coverage-manifest-schema.d.ts.map +1 -1
- package/out/coverage-manifest-schema.js +25 -34
- package/out/coverage-manifest-schema.js.map +1 -1
- package/out/currency-backfill.d.ts +16 -38
- package/out/currency-backfill.d.ts.map +1 -1
- package/out/currency-backfill.js +19 -46
- package/out/currency-backfill.js.map +1 -1
- package/out/env.d.ts +1 -1
- package/out/env.js +1 -1
- package/out/exact-match.d.ts +19 -10
- package/out/exact-match.d.ts.map +1 -1
- package/out/exact-match.js +32 -21
- package/out/exact-match.js.map +1 -1
- package/out/extracts.d.ts +66 -55
- package/out/extracts.d.ts.map +1 -1
- package/out/extracts.js +63 -55
- package/out/extracts.js.map +1 -1
- package/out/fst/autocomplete.d.ts +29 -21
- package/out/fst/autocomplete.d.ts.map +1 -1
- package/out/fst/autocomplete.js +39 -28
- package/out/fst/autocomplete.js.map +1 -1
- package/out/fst/builder.d.ts.map +1 -1
- package/out/fst/builder.js +37 -41
- package/out/fst/builder.js.map +1 -1
- package/out/fst/deserialize-web.d.ts +4 -4
- package/out/fst/deserialize-web.d.ts.map +1 -1
- package/out/fst/deserialize-web.js +15 -16
- package/out/fst/deserialize-web.js.map +1 -1
- package/out/fst/format.d.ts +41 -23
- package/out/fst/format.d.ts.map +1 -1
- package/out/fst/format.js +41 -23
- package/out/fst/format.js.map +1 -1
- package/out/fst/freshness.d.ts +19 -81
- package/out/fst/freshness.d.ts.map +1 -1
- package/out/fst/freshness.js +31 -94
- package/out/fst/freshness.js.map +1 -1
- package/out/fst/matcher.d.ts +5 -4
- package/out/fst/matcher.d.ts.map +1 -1
- package/out/fst/matcher.js +2 -2
- package/out/fst/matcher.js.map +1 -1
- package/out/fst/serialize.d.ts +28 -28
- package/out/fst/serialize.d.ts.map +1 -1
- package/out/fst/serialize.js +53 -71
- package/out/fst/serialize.js.map +1 -1
- package/out/fst/types.d.ts +78 -74
- package/out/fst/types.d.ts.map +1 -1
- package/out/fst/types.js +1 -4
- package/out/fst/types.js.map +1 -1
- package/out/{fst/index.js → fst.d.ts} +2 -1
- package/out/fst.d.ts.map +1 -0
- package/out/{fst/index.d.ts → fst.js} +2 -1
- package/out/fst.js.map +1 -0
- package/out/fts/query.d.ts +2 -27
- package/out/fts/query.d.ts.map +1 -1
- package/out/fts/query.js +5 -36
- package/out/fts/query.js.map +1 -1
- package/out/fts.d.ts +126 -0
- package/out/fts.d.ts.map +1 -0
- package/out/fts.js +188 -0
- package/out/fts.js.map +1 -0
- package/out/geonames/aliases.d.ts +26 -62
- package/out/geonames/aliases.d.ts.map +1 -1
- package/out/geonames/aliases.js +45 -117
- package/out/geonames/aliases.js.map +1 -1
- package/out/geonames/postal.d.ts +84 -44
- package/out/geonames/postal.d.ts.map +1 -1
- package/out/geonames/postal.js +115 -73
- package/out/geonames/postal.js.map +1 -1
- package/out/{geonames/index.js → geonames.d.ts} +1 -1
- package/out/geonames.d.ts.map +1 -0
- package/out/{geonames/index.d.ts → geonames.js} +1 -1
- package/out/geonames.js.map +1 -0
- package/out/index.d.ts +9 -8
- package/out/index.d.ts.map +1 -1
- package/out/index.js +6 -5
- package/out/index.js.map +1 -1
- package/out/interpolation.d.ts +18 -55
- package/out/interpolation.d.ts.map +1 -1
- package/out/interpolation.js +27 -69
- package/out/interpolation.js.map +1 -1
- package/out/lookup.d.ts +23 -51
- package/out/lookup.d.ts.map +1 -1
- package/out/lookup.js +136 -234
- package/out/lookup.js.map +1 -1
- package/out/name-score.d.ts +2 -2
- package/out/name-score.d.ts.map +1 -1
- package/out/name-score.js +9 -7
- package/out/name-score.js.map +1 -1
- package/out/nsul/lookup.d.ts +33 -34
- package/out/nsul/lookup.d.ts.map +1 -1
- package/out/nsul/lookup.js +26 -40
- package/out/nsul/lookup.js.map +1 -1
- package/out/nsul/schema.d.ts +16 -43
- package/out/nsul/schema.d.ts.map +1 -1
- package/out/nsul/schema.js +9 -35
- package/out/nsul/schema.js.map +1 -1
- package/out/{nsul/index.d.ts → nsul.d.ts} +1 -1
- package/out/nsul.d.ts.map +1 -0
- package/out/{nsul/index.js → nsul.js} +1 -1
- package/out/nsul.js.map +1 -0
- package/out/paths.d.ts +124 -0
- package/out/paths.d.ts.map +1 -0
- package/out/paths.js +104 -0
- package/out/paths.js.map +1 -0
- package/out/place-importance-schema.d.ts +51 -143
- package/out/place-importance-schema.d.ts.map +1 -1
- package/out/place-importance-schema.js +28 -143
- package/out/place-importance-schema.js.map +1 -1
- package/out/poi/lookup.d.ts +40 -47
- package/out/poi/lookup.d.ts.map +1 -1
- package/out/poi/lookup.js +69 -96
- package/out/poi/lookup.js.map +1 -1
- package/out/poi/schema.d.ts +41 -25
- package/out/poi/schema.d.ts.map +1 -1
- package/out/poi/schema.js +25 -17
- package/out/poi/schema.js.map +1 -1
- package/out/{poi/index.js → poi.d.ts} +1 -1
- package/out/poi.d.ts.map +1 -0
- package/out/{poi/index.d.ts → poi.js} +1 -1
- package/out/poi.js.map +1 -0
- package/out/polygon-schema.d.ts +10 -6
- package/out/polygon-schema.d.ts.map +1 -1
- package/out/polygon-schema.js +2 -2
- package/out/polygon-schema.js.map +1 -1
- package/out/postal/city/alias/lookup.d.ts +20 -23
- package/out/postal/city/alias/lookup.d.ts.map +1 -1
- package/out/postal/city/alias/lookup.js +17 -30
- package/out/postal/city/alias/lookup.js.map +1 -1
- package/out/postal/city/alias/schema.d.ts +14 -10
- package/out/postal/city/alias/schema.d.ts.map +1 -1
- package/out/postal/city/alias/schema.js +10 -8
- package/out/postal/city/alias/schema.js.map +1 -1
- package/out/postal/city/candidate-schema.d.ts +25 -19
- package/out/postal/city/candidate-schema.d.ts.map +1 -1
- package/out/postal/city/candidate-schema.js +21 -17
- package/out/postal/city/candidate-schema.js.map +1 -1
- package/out/{postal/index.d.ts → postal.d.ts} +1 -1
- package/out/postal.d.ts.map +1 -0
- package/out/{postal/index.js → postal.js} +1 -1
- package/out/postal.js.map +1 -0
- package/out/postcode-point-lookup.d.ts +6 -24
- package/out/postcode-point-lookup.d.ts.map +1 -1
- package/out/postcode-point-lookup.js +5 -17
- package/out/postcode-point-lookup.js.map +1 -1
- package/out/primary-preference.d.ts +38 -92
- package/out/primary-preference.d.ts.map +1 -1
- package/out/primary-preference.js +15 -99
- package/out/primary-preference.js.map +1 -1
- package/out/proximity-rerank.d.ts +41 -30
- package/out/proximity-rerank.d.ts.map +1 -1
- package/out/proximity-rerank.js +38 -29
- package/out/proximity-rerank.js.map +1 -1
- package/out/ranking-weights.d.ts +98 -64
- package/out/ranking-weights.d.ts.map +1 -1
- package/out/ranking-weights.js +26 -25
- package/out/ranking-weights.js.map +1 -1
- package/out/region-keys.d.ts +50 -31
- package/out/region-keys.d.ts.map +1 -1
- package/out/region-keys.js +68 -40
- package/out/region-keys.js.map +1 -1
- package/out/reverse.d.ts +78 -50
- package/out/reverse.d.ts.map +1 -1
- package/out/reverse.js +98 -61
- package/out/reverse.js.map +1 -1
- package/out/schema.d.ts +72 -49
- package/out/schema.d.ts.map +1 -1
- package/out/schema.js +4 -5
- package/out/schema.js.map +1 -1
- package/out/search-fetch.d.ts +16 -12
- package/out/search-fetch.d.ts.map +1 -1
- package/out/search-fetch.js +83 -63
- package/out/search-fetch.js.map +1 -1
- package/out/sqlite/convention-source.d.ts +12 -16
- package/out/sqlite/convention-source.d.ts.map +1 -1
- package/out/sqlite/convention-source.js +13 -22
- package/out/sqlite/convention-source.js.map +1 -1
- package/out/sqlite/utils.d.ts +19 -19
- package/out/sqlite/utils.d.ts.map +1 -1
- package/out/sqlite/utils.js +14 -15
- package/out/sqlite/utils.js.map +1 -1
- package/out/street/centroid/schema.d.ts +37 -42
- package/out/street/centroid/schema.d.ts.map +1 -1
- package/out/street/centroid/schema.js +9 -21
- package/out/street/centroid/schema.js.map +1 -1
- package/out/street/centroid.d.ts +30 -0
- package/out/street/centroid.d.ts.map +1 -0
- package/out/street/{centroid/index.js → centroid.js} +13 -24
- package/out/street/centroid.js.map +1 -0
- package/out/street/morphology/fst/builder.d.ts +20 -10
- package/out/street/morphology/fst/builder.d.ts.map +1 -1
- package/out/street/morphology/fst/builder.js +44 -34
- package/out/street/morphology/fst/builder.js.map +1 -1
- package/out/street/morphology/fst/loader.d.ts +33 -26
- package/out/street/morphology/fst/loader.d.ts.map +1 -1
- package/out/street/morphology/fst/loader.js +23 -22
- package/out/street/morphology/fst/loader.js.map +1 -1
- package/out/street/name-lookup.d.ts +24 -18
- package/out/street/name-lookup.d.ts.map +1 -1
- package/out/street/name-lookup.js +34 -35
- package/out/street/name-lookup.js.map +1 -1
- package/out/street/normalize.d.ts +35 -136
- package/out/street/normalize.d.ts.map +1 -1
- package/out/street/normalize.js +77 -194
- package/out/street/normalize.js.map +1 -1
- package/out/street/segment-schema.d.ts +79 -39
- package/out/street/segment-schema.d.ts.map +1 -1
- package/out/street/segment-schema.js +71 -21
- package/out/street/segment-schema.js.map +1 -1
- package/out/{street/index.js → street.d.ts} +2 -2
- package/out/street.d.ts.map +1 -0
- package/out/{street/index.d.ts → street.js} +2 -2
- package/out/street.js.map +1 -0
- package/out/types.d.ts +84 -149
- package/out/types.d.ts.map +1 -1
- package/out/types.js +0 -6
- package/out/types.js.map +1 -1
- package/out/unified-schema.d.ts +8 -12
- package/out/unified-schema.d.ts.map +1 -1
- package/out/unified-schema.js +29 -29
- package/out/unified-schema.js.map +1 -1
- package/out/uprn/existence.d.ts +28 -17
- package/out/uprn/existence.d.ts.map +1 -1
- package/out/uprn/existence.js +26 -16
- package/out/uprn/existence.js.map +1 -1
- package/out/uprn/lookup.d.ts +14 -44
- package/out/uprn/lookup.d.ts.map +1 -1
- package/out/uprn/lookup.js +21 -57
- package/out/uprn/lookup.js.map +1 -1
- package/out/uprn/schema.d.ts +18 -40
- package/out/uprn/schema.d.ts.map +1 -1
- package/out/uprn/schema.js +10 -32
- package/out/uprn/schema.js.map +1 -1
- package/out/{uprn/index.d.ts → uprn.d.ts} +1 -1
- package/out/uprn.d.ts.map +1 -0
- package/out/{uprn/index.js → uprn.js} +1 -1
- package/out/uprn.js.map +1 -0
- package/out/weights-overlay-linker.d.ts +138 -144
- package/out/weights-overlay-linker.d.ts.map +1 -1
- package/out/weights-overlay-linker.js +105 -159
- package/out/weights-overlay-linker.js.map +1 -1
- package/package.json +91 -596
- package/lib/address/point/index.ts +0 -328
- package/lib/convention/index.ts +0 -154
- package/lib/fts/index.ts +0 -361
- package/out/address/index.d.ts.map +0 -1
- package/out/address/index.js.map +0 -1
- package/out/address/point/index.d.ts +0 -53
- package/out/address/point/index.d.ts.map +0 -1
- package/out/address/point/index.js +0 -222
- package/out/address/point/index.js.map +0 -1
- package/out/ancestry/index.d.ts +0 -45
- package/out/ancestry/index.d.ts.map +0 -1
- package/out/ancestry/index.js +0 -55
- package/out/ancestry/index.js.map +0 -1
- package/out/convention/index.d.ts +0 -106
- package/out/convention/index.d.ts.map +0 -1
- package/out/convention/index.js +0 -93
- package/out/convention/index.js.map +0 -1
- package/out/fst/index.d.ts.map +0 -1
- package/out/fst/index.js.map +0 -1
- package/out/fts/index.d.ts +0 -184
- package/out/fts/index.d.ts.map +0 -1
- package/out/fts/index.js +0 -277
- package/out/fts/index.js.map +0 -1
- package/out/geonames/index.d.ts.map +0 -1
- package/out/geonames/index.js.map +0 -1
- package/out/nsul/index.d.ts.map +0 -1
- package/out/nsul/index.js.map +0 -1
- package/out/poi/index.d.ts.map +0 -1
- package/out/poi/index.js.map +0 -1
- package/out/postal/index.d.ts.map +0 -1
- package/out/postal/index.js.map +0 -1
- package/out/street/centroid/index.d.ts +0 -40
- package/out/street/centroid/index.d.ts.map +0 -1
- package/out/street/centroid/index.js.map +0 -1
- package/out/street/index.d.ts.map +0 -1
- package/out/street/index.js.map +0 -1
- package/out/uprn/index.d.ts.map +0 -1
- package/out/uprn/index.js.map +0 -1
- /package/lib/{geonames/index.ts → geonames.ts} +0 -0
- /package/lib/{nsul/index.ts → nsul.ts} +0 -0
- /package/lib/{poi/index.ts → poi.ts} +0 -0
- /package/lib/{postal/index.ts → postal.ts} +0 -0
- /package/lib/{uprn/index.ts → uprn.ts} +0 -0
package/out/fst/serialize.d.ts
CHANGED
|
@@ -2,40 +2,40 @@
|
|
|
2
2
|
* @copyright Sister Software
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
|
+
* @file Binary serialization for the FST gazetteer.
|
|
5
6
|
*
|
|
6
|
-
*
|
|
7
|
+
* All integers are little-endian. The writer emits the current version. The reader accepts every earlier version.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* - Header, 32 bytes: magic `FST\0`, version u16, flags u16 (bit 0 means `crossCountryBranches` is present),
|
|
10
|
+
* The header stores five u32 counts (stateCount, edgeCount, placeCount, stringCount, stringBytes).
|
|
11
|
+
* Its provenance offset is u32. The value 0 means the trailer is absent.
|
|
12
|
+
* - The string table contains `stringCount + 1` u32 offsets, with the final offset as a sentinel, followed by the UTF-8 data.
|
|
13
|
+
* - State table, 16 bytes per state: edgeStart u32, placeStart u32, edgeCount u32, placeCount u32. Before version
|
|
14
|
+
* 4 the entry is 12 bytes with u16 counts.
|
|
15
|
+
* - Edge table, 8 bytes per edge: stringIdx u32, targetState u32.
|
|
16
|
+
* - Place table, 60 bytes per place: wofID u32, placetypeIdx u8, chainLen u8, crossCountryBranches u8,
|
|
17
|
+
* placeFlags u8 (bit 0 means `encyclopedic` is present), nameIdx u32, referential f32, lat f32, lon f32.
|
|
18
|
+
* Each entry then stores eight u32 parent ids. Version 5 added encyclopedic f32. Earlier entries contain 56 bytes.
|
|
19
|
+
* Those entries have no encyclopedic score.
|
|
20
|
+
* - Provenance trailer: a u32 length followed by JSON.
|
|
12
21
|
*
|
|
13
|
-
*
|
|
14
|
-
* stringBytes] concatenated UTF-8
|
|
15
|
-
*
|
|
16
|
-
* STATE TABLE [stateCount × 12 bytes] edgeStart u32 index into edge table placeStart u32 index into
|
|
17
|
-
* place table edgeCount u16 placeCount u16
|
|
18
|
-
*
|
|
19
|
-
* EDGE TABLE [edgeCount × 8 bytes] stringIdx u32 index into string table targetState u32
|
|
20
|
-
*
|
|
21
|
-
* PLACE TABLE [placeCount × 60 bytes at V5, 56 below] wofID u32 placetypeIdx u8 index into
|
|
22
|
-
* PLACETYPE_ORDER chainLen u8 0..8 crossCountryBranches u8 (header flags bit0 enables the read)
|
|
23
|
-
* placeFlags u8 (V5; bit0 = encyclopedic present) nameIdx u32 index into string table referential f32
|
|
24
|
-
* population-anchored likelihood [0,1] — was the conflated `importance` (V2–V4), was population u32
|
|
25
|
-
* (V1) lat f32 lon f32 chain [u32; 8] parent chain (unused slots = 0) encyclopedic f32 (V5 only;
|
|
26
|
-
* read only when placeFlags bit0 is set)
|
|
27
|
-
*
|
|
28
|
-
* THE V5 BUMP IS THE TWO-SCORE SPLIT (ROAD_TO_V9 §2 R1). Through V4 one float carried whichever score
|
|
29
|
-
* the source database held, and nothing in the bytes said which — so a reader could not tell a
|
|
30
|
-
* population proxy from a Wikipedia score. V5 names the ranking score `referential` and gives the
|
|
31
|
-
* encyclopedic signal its own slot plus a PER-PLACE presence bit, because most places have no
|
|
32
|
-
* Wikipedia article and a 0 there would be a fact nobody recorded. `fst-freshness.ts` reports every
|
|
33
|
-
* V4-and-below artifact as format-stale for exactly this reason: its single float is unattributable.
|
|
22
|
+
* Presence bits keep a missing value distinct from a stored zero.
|
|
34
23
|
*/
|
|
35
24
|
import { FSTMatcher } from "#fst/matcher";
|
|
36
25
|
import type { FSTProvenance } from "#fst/types";
|
|
37
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Serializes a matcher, with optional provenance, into the current FST binary format.
|
|
28
|
+
*/
|
|
38
29
|
export declare function serializeFST(matcher: FSTMatcher, provenance?: FSTProvenance): Buffer;
|
|
30
|
+
/**
|
|
31
|
+
* Deserializes an FST binary of any supported version into a matcher.
|
|
32
|
+
*
|
|
33
|
+
* @throws When the buffer is too small, has the wrong magic, or has an unsupported version.
|
|
34
|
+
*/
|
|
39
35
|
export declare function deserializeFST(buf: Buffer): FSTMatcher;
|
|
40
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Reads the provenance trailer from an FST binary, or returns `undefined`
|
|
38
|
+
* when the file has none or it cannot be parsed.
|
|
39
|
+
*/
|
|
40
|
+
export declare function readFSTProvenance(buf: Buffer): FSTProvenance | null;
|
|
41
41
|
//# sourceMappingURL=serialize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../lib/fst/serialize.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../lib/fst/serialize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAqBH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,YAAY,CAAA;AAiB3D;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,aAAa,GAAG,MAAM,CAoJpF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CA2GtD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAmBnE"}
|
package/out/fst/serialize.js
CHANGED
|
@@ -2,56 +2,44 @@
|
|
|
2
2
|
* @copyright Sister Software
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
|
+
* @file Binary serialization for the FST gazetteer.
|
|
5
6
|
*
|
|
6
|
-
*
|
|
7
|
+
* All integers are little-endian. The writer emits the current version. The reader accepts every earlier version.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* - Header, 32 bytes: magic `FST\0`, version u16, flags u16 (bit 0 means `crossCountryBranches` is present),
|
|
10
|
+
* The header stores five u32 counts (stateCount, edgeCount, placeCount, stringCount, stringBytes).
|
|
11
|
+
* Its provenance offset is u32. The value 0 means the trailer is absent.
|
|
12
|
+
* - The string table contains `stringCount + 1` u32 offsets, with the final offset as a sentinel, followed by the UTF-8 data.
|
|
13
|
+
* - State table, 16 bytes per state: edgeStart u32, placeStart u32, edgeCount u32, placeCount u32. Before version
|
|
14
|
+
* 4 the entry is 12 bytes with u16 counts.
|
|
15
|
+
* - Edge table, 8 bytes per edge: stringIdx u32, targetState u32.
|
|
16
|
+
* - Place table, 60 bytes per place: wofID u32, placetypeIdx u8, chainLen u8, crossCountryBranches u8,
|
|
17
|
+
* placeFlags u8 (bit 0 means `encyclopedic` is present), nameIdx u32, referential f32, lat f32, lon f32.
|
|
18
|
+
* Each entry then stores eight u32 parent ids. Version 5 added encyclopedic f32. Earlier entries contain 56 bytes.
|
|
19
|
+
* Those entries have no encyclopedic score.
|
|
20
|
+
* - Provenance trailer: a u32 length followed by JSON.
|
|
12
21
|
*
|
|
13
|
-
*
|
|
14
|
-
* stringBytes] concatenated UTF-8
|
|
15
|
-
*
|
|
16
|
-
* STATE TABLE [stateCount × 12 bytes] edgeStart u32 index into edge table placeStart u32 index into
|
|
17
|
-
* place table edgeCount u16 placeCount u16
|
|
18
|
-
*
|
|
19
|
-
* EDGE TABLE [edgeCount × 8 bytes] stringIdx u32 index into string table targetState u32
|
|
20
|
-
*
|
|
21
|
-
* PLACE TABLE [placeCount × 60 bytes at V5, 56 below] wofID u32 placetypeIdx u8 index into
|
|
22
|
-
* PLACETYPE_ORDER chainLen u8 0..8 crossCountryBranches u8 (header flags bit0 enables the read)
|
|
23
|
-
* placeFlags u8 (V5; bit0 = encyclopedic present) nameIdx u32 index into string table referential f32
|
|
24
|
-
* population-anchored likelihood [0,1] — was the conflated `importance` (V2–V4), was population u32
|
|
25
|
-
* (V1) lat f32 lon f32 chain [u32; 8] parent chain (unused slots = 0) encyclopedic f32 (V5 only;
|
|
26
|
-
* read only when placeFlags bit0 is set)
|
|
27
|
-
*
|
|
28
|
-
* THE V5 BUMP IS THE TWO-SCORE SPLIT (ROAD_TO_V9 §2 R1). Through V4 one float carried whichever score
|
|
29
|
-
* the source database held, and nothing in the bytes said which — so a reader could not tell a
|
|
30
|
-
* population proxy from a Wikipedia score. V5 names the ranking score `referential` and gives the
|
|
31
|
-
* encyclopedic signal its own slot plus a PER-PLACE presence bit, because most places have no
|
|
32
|
-
* Wikipedia article and a 0 there would be a fact nobody recorded. `fst-freshness.ts` reports every
|
|
33
|
-
* V4-and-below artifact as format-stale for exactly this reason: its single float is unattributable.
|
|
22
|
+
* Presence bits keep a missing value distinct from a stored zero.
|
|
34
23
|
*/
|
|
35
|
-
import { tryParsingJSON } from "@mailwoman/core/json";
|
|
24
|
+
import { tryParsingJSON, stringifyJSON } from "@mailwoman/core/json";
|
|
36
25
|
import { EDGE_ENTRY_SIZE, ENCYCLOPEDIC_OFFSET, FST_FORMAT_VERSION, FST_MAGIC_BYTES, HEADER_SIZE, LEGACY_PLACE_ENTRY_SIZE, NARROW_STATE_ENTRY_SIZE, PLACE_FLAG_HAS_ENCYCLOPEDIC, PLACETYPE_ORDER, SPLIT_PLACE_ENTRY_SIZE, VERSION_TWO_SCORE_SPLIT, VERSION_WIDE_STATE_COUNTERS, VERSION_WITH_METADATA, WIDE_STATE_ENTRY_SIZE, } from "#fst/format";
|
|
37
26
|
import { FSTMatcher } from "#fst/matcher";
|
|
38
|
-
export { FST_FORMAT_VERSION } from "#fst/format";
|
|
39
|
-
/**
|
|
40
|
-
* File magic as a Buffer, for the Node-side prefix comparison.
|
|
41
|
-
*/
|
|
42
27
|
const MAGIC = Buffer.from(FST_MAGIC_BYTES);
|
|
43
28
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
29
|
+
* The longest parent chain stored per place.
|
|
30
|
+
*
|
|
31
|
+
* The writer keeps the first eight valid parent ids and drops the rest.
|
|
46
32
|
*/
|
|
47
33
|
const MAX_CHAIN_LEN = 8;
|
|
48
34
|
const placetypeToIdx = new Map();
|
|
49
35
|
for (let i = 0; i < PLACETYPE_ORDER.length; i++) {
|
|
50
36
|
placetypeToIdx.set(PLACETYPE_ORDER[i], i);
|
|
51
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Serializes a matcher, with optional provenance, into the current FST binary format.
|
|
40
|
+
*/
|
|
52
41
|
export function serializeFST(matcher, provenance) {
|
|
53
42
|
const nodes = matcher.toNodes();
|
|
54
|
-
// Intern state-edge strings before serializing their table.
|
|
55
43
|
const stringMap = new Map();
|
|
56
44
|
const strings = [];
|
|
57
45
|
function intern(s) {
|
|
@@ -73,29 +61,25 @@ export function serializeFST(matcher, provenance) {
|
|
|
73
61
|
}
|
|
74
62
|
const encodedStrings = strings.map((s) => Buffer.from(s, "utf8"));
|
|
75
63
|
const stringBytes = encodedStrings.reduce((sum, b) => sum + b.length, 0);
|
|
76
|
-
// Count each serialized record class.
|
|
77
64
|
let totalEdges = 0;
|
|
78
65
|
let totalPlaces = 0;
|
|
79
66
|
for (const node of nodes) {
|
|
80
67
|
totalEdges += node.edges.size;
|
|
81
68
|
totalPlaces += node.places.length;
|
|
82
69
|
}
|
|
83
|
-
// Allocate the complete binary buffer.
|
|
84
70
|
const stringTableSize = (strings.length + 1) * 4 + stringBytes;
|
|
85
71
|
const stateTableSize = nodes.length * WIDE_STATE_ENTRY_SIZE;
|
|
86
72
|
const edgeTableSize = totalEdges * EDGE_ENTRY_SIZE;
|
|
87
73
|
const placeTableSize = totalPlaces * SPLIT_PLACE_ENTRY_SIZE;
|
|
88
|
-
const provenanceJson = provenance ? Buffer.from(
|
|
74
|
+
const provenanceJson = provenance ? Buffer.from(stringifyJSON(provenance), "utf8") : null;
|
|
89
75
|
const provenanceSize = provenanceJson ? 4 + provenanceJson.length : 0;
|
|
90
76
|
const binarySize = HEADER_SIZE + stringTableSize + stateTableSize + edgeTableSize + placeTableSize;
|
|
91
77
|
const totalSize = binarySize + provenanceSize;
|
|
92
78
|
const buf = Buffer.alloc(totalSize);
|
|
93
79
|
let pos = 0;
|
|
94
|
-
//
|
|
95
|
-
//
|
|
96
|
-
|
|
97
|
-
// put: pre-ambiguity artifacts read flags=0 → readers expose `undefined`, never a fake 0.
|
|
98
|
-
const hasAmbiguity = nodes.some((n) => n.places.some((p) => p.crossCountryBranches !== undefined));
|
|
80
|
+
// Flag bit 0 marks that place rows include `crossCountryBranches`.
|
|
81
|
+
// Readers of a file without it report `undefined`.
|
|
82
|
+
const hasAmbiguity = nodes.some((n) => n.places.some((p) => p.crossCountryBranches != null));
|
|
99
83
|
MAGIC.copy(buf, pos);
|
|
100
84
|
pos += 4;
|
|
101
85
|
buf.writeUInt16LE(FST_FORMAT_VERSION, pos);
|
|
@@ -114,21 +98,19 @@ export function serializeFST(matcher, provenance) {
|
|
|
114
98
|
pos += 4;
|
|
115
99
|
buf.writeUInt32LE(provenanceJson ? binarySize : 0, pos);
|
|
116
100
|
pos += 4;
|
|
117
|
-
// Read the interned string table.
|
|
118
101
|
let strOffset = 0;
|
|
119
102
|
for (const encoded of encodedStrings) {
|
|
120
103
|
buf.writeUInt32LE(strOffset, pos);
|
|
121
104
|
pos += 4;
|
|
122
105
|
strOffset += encoded.length;
|
|
123
106
|
}
|
|
107
|
+
// The final offset is the sentinel that ends the last string.
|
|
124
108
|
buf.writeUInt32LE(strOffset, pos);
|
|
125
109
|
pos += 4;
|
|
126
|
-
// sentinel
|
|
127
110
|
for (const encoded of encodedStrings) {
|
|
128
111
|
encoded.copy(buf, pos);
|
|
129
112
|
pos += encoded.length;
|
|
130
113
|
}
|
|
131
|
-
// Read state, edge, and place tables.
|
|
132
114
|
const stateTableStart = pos;
|
|
133
115
|
const edgeTableStart = stateTableStart + stateTableSize;
|
|
134
116
|
const placeTableStart = edgeTableStart + edgeTableSize;
|
|
@@ -149,17 +131,16 @@ export function serializeFST(matcher, provenance) {
|
|
|
149
131
|
}
|
|
150
132
|
for (const place of node.places) {
|
|
151
133
|
const pp = placeTableStart + placeIdx * SPLIT_PLACE_ENTRY_SIZE;
|
|
152
|
-
//
|
|
134
|
+
// WOF uses negative parent ids such as -1 as sentinels.
|
|
153
135
|
const validChain = place.parentChain.filter((id) => id > 0);
|
|
154
136
|
const chainLen = Math.min(validChain.length, MAX_CHAIN_LEN);
|
|
155
137
|
buf.writeUInt32LE(place.wofID, pp);
|
|
156
138
|
buf.writeUInt8(placetypeToIdx.get(place.placetype) ?? 0, pp + 4);
|
|
157
139
|
buf.writeUInt8(chainLen, pp + 5);
|
|
158
|
-
// Former _pad: byte 0 = crossCountryBranches (header flags bit0 enables the read), byte 1 = v5 placeFlags.
|
|
159
140
|
buf.writeUInt8(hasAmbiguity ? Math.min(place.crossCountryBranches ?? 0, 255) : 0, pp + 6);
|
|
160
|
-
// An absent encyclopedic score writes flag 0
|
|
161
|
-
//
|
|
162
|
-
const hasEncyclopedic = place.encyclopedic
|
|
141
|
+
// An absent encyclopedic score writes flag 0 and a 0.0 float.
|
|
142
|
+
// Readers skip the float when the flag is 0.
|
|
143
|
+
const hasEncyclopedic = place.encyclopedic != null;
|
|
163
144
|
buf.writeUInt8(hasEncyclopedic ? PLACE_FLAG_HAS_ENCYCLOPEDIC : 0, pp + 7);
|
|
164
145
|
buf.writeUInt32LE(intern(place.name), pp + 8);
|
|
165
146
|
buf.writeFloatLE(place.referential, pp + 12);
|
|
@@ -168,7 +149,7 @@ export function serializeFST(matcher, provenance) {
|
|
|
168
149
|
for (let ci = 0; ci < MAX_CHAIN_LEN; ci++) {
|
|
169
150
|
buf.writeUInt32LE(ci < chainLen ? validChain[ci] : 0, pp + 24 + ci * 4);
|
|
170
151
|
}
|
|
171
|
-
buf.writeFloatLE(
|
|
152
|
+
buf.writeFloatLE(place.encyclopedic ?? 0, pp + ENCYCLOPEDIC_OFFSET);
|
|
172
153
|
placeIdx++;
|
|
173
154
|
}
|
|
174
155
|
}
|
|
@@ -179,8 +160,12 @@ export function serializeFST(matcher, provenance) {
|
|
|
179
160
|
}
|
|
180
161
|
return buf;
|
|
181
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Deserializes an FST binary of any supported version into a matcher.
|
|
165
|
+
*
|
|
166
|
+
* @throws When the buffer is too small, has the wrong magic, or has an unsupported version.
|
|
167
|
+
*/
|
|
182
168
|
export function deserializeFST(buf) {
|
|
183
|
-
// Verify the versioned binary header.
|
|
184
169
|
if (buf.length < HEADER_SIZE)
|
|
185
170
|
throw new Error("FST buffer too small for header");
|
|
186
171
|
if (!buf.subarray(0, 4).equals(MAGIC))
|
|
@@ -191,7 +176,6 @@ export function deserializeFST(buf) {
|
|
|
191
176
|
}
|
|
192
177
|
const isV2 = version >= 2;
|
|
193
178
|
const isSplit = version >= VERSION_TWO_SCORE_SPLIT;
|
|
194
|
-
// flags bit0 (survey #4): place rows carry surface-ambiguity data in the former _pad byte.
|
|
195
179
|
const hasAmbiguity = (buf.readUInt16LE(6) & 1) === 1;
|
|
196
180
|
const stateCount = buf.readUInt32LE(8);
|
|
197
181
|
const edgeCount = buf.readUInt32LE(12);
|
|
@@ -199,7 +183,6 @@ export function deserializeFST(buf) {
|
|
|
199
183
|
const stringCount = buf.readUInt32LE(20);
|
|
200
184
|
const stringBytes = buf.readUInt32LE(24);
|
|
201
185
|
let pos = HEADER_SIZE;
|
|
202
|
-
// Verify string-table offsets and contents.
|
|
203
186
|
const strOffsets = new Uint32Array(stringCount + 1);
|
|
204
187
|
for (let i = 0; i <= stringCount; i++) {
|
|
205
188
|
strOffsets[i] = buf.readUInt32LE(pos);
|
|
@@ -213,9 +196,7 @@ export function deserializeFST(buf) {
|
|
|
213
196
|
strings[i] = buf.toString("utf8", start, end);
|
|
214
197
|
}
|
|
215
198
|
pos += stringBytes;
|
|
216
|
-
// Verify state-table offsets and transitions.
|
|
217
199
|
const stateEntrySize = version >= VERSION_WIDE_STATE_COUNTERS ? WIDE_STATE_ENTRY_SIZE : NARROW_STATE_ENTRY_SIZE;
|
|
218
|
-
// v5 grew the place entry by the encyclopedic float; v4-and-below files are read at the old stride.
|
|
219
200
|
const placeEntrySize = version >= VERSION_TWO_SCORE_SPLIT ? SPLIT_PLACE_ENTRY_SIZE : LEGACY_PLACE_ENTRY_SIZE;
|
|
220
201
|
const stateTableStart = pos;
|
|
221
202
|
const edgeTableStart = stateTableStart + stateCount * stateEntrySize;
|
|
@@ -242,15 +223,13 @@ export function deserializeFST(buf) {
|
|
|
242
223
|
for (let ci = 0; ci < chainLen; ci++) {
|
|
243
224
|
parentChain.push(buf.readUInt32LE(pp + 24 + ci * 4));
|
|
244
225
|
}
|
|
245
|
-
//
|
|
246
|
-
//
|
|
247
|
-
//
|
|
248
|
-
// generation of this format for which that can be said without reading the source database.
|
|
226
|
+
// Version 1 stored a raw population u32 here.
|
|
227
|
+
// This version maps it through the `referentialFromPopulation` curve.
|
|
228
|
+
// Later versions store an f32 score.
|
|
249
229
|
const referential = isV2
|
|
250
230
|
? buf.readFloatLE(pp + 12)
|
|
251
231
|
: Math.min(1, Math.log2(1 + buf.readUInt32LE(pp + 12) / 1000) / 14);
|
|
252
|
-
//
|
|
253
|
-
// the field stays undefined rather than reading the reserved byte as a flag.
|
|
232
|
+
// Files before version 5 have no encyclopedic score, so their reserved byte is not read as a flag.
|
|
254
233
|
const hasEncyclopedic = isSplit && (buf.readUInt8(pp + 7) & PLACE_FLAG_HAS_ENCYCLOPEDIC) === PLACE_FLAG_HAS_ENCYCLOPEDIC;
|
|
255
234
|
places[pi] = {
|
|
256
235
|
wofID: buf.readUInt32LE(pp),
|
|
@@ -260,33 +239,36 @@ export function deserializeFST(buf) {
|
|
|
260
239
|
lat: buf.readFloatLE(pp + 16),
|
|
261
240
|
lon: buf.readFloatLE(pp + 20),
|
|
262
241
|
parentChain,
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
...(hasEncyclopedic ? { encyclopedic: buf.readFloatLE(pp + ENCYCLOPEDIC_OFFSET) } : {}),
|
|
242
|
+
crossCountryBranches: hasAmbiguity ? buf.readUInt8(pp + 6) : null,
|
|
243
|
+
encyclopedic: hasEncyclopedic ? buf.readFloatLE(pp + ENCYCLOPEDIC_OFFSET) : null,
|
|
266
244
|
};
|
|
267
245
|
}
|
|
268
246
|
nodes[si] = { edges, places };
|
|
269
247
|
}
|
|
270
248
|
return FSTMatcher.fromNodes(nodes);
|
|
271
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* Reads the provenance trailer from an FST binary, or returns `undefined`
|
|
252
|
+
* when the file has none or it cannot be parsed.
|
|
253
|
+
*/
|
|
272
254
|
export function readFSTProvenance(buf) {
|
|
273
255
|
if (buf.length < HEADER_SIZE)
|
|
274
|
-
return
|
|
256
|
+
return null;
|
|
275
257
|
if (!buf.subarray(0, 4).equals(MAGIC))
|
|
276
|
-
return
|
|
258
|
+
return null;
|
|
277
259
|
const version = buf.readUInt16LE(4);
|
|
278
260
|
if (version < VERSION_WITH_METADATA)
|
|
279
|
-
return
|
|
261
|
+
return null;
|
|
280
262
|
const provenanceOffset = buf.readUInt32LE(28);
|
|
281
263
|
if (provenanceOffset === 0 || provenanceOffset >= buf.length)
|
|
282
|
-
return
|
|
264
|
+
return null;
|
|
283
265
|
try {
|
|
284
266
|
const jsonLen = buf.readUInt32LE(provenanceOffset);
|
|
285
267
|
const jsonStr = buf.toString("utf8", provenanceOffset + 4, provenanceOffset + 4 + jsonLen);
|
|
286
|
-
return tryParsingJSON(jsonStr) ??
|
|
268
|
+
return tryParsingJSON(jsonStr) ?? null;
|
|
287
269
|
}
|
|
288
270
|
catch {
|
|
289
|
-
return
|
|
271
|
+
return null;
|
|
290
272
|
}
|
|
291
273
|
}
|
|
292
274
|
//# sourceMappingURL=serialize.js.map
|
package/out/fst/serialize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../lib/fst/serialize.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../lib/fst/serialize.ts"],"names":[],"mappings":"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"}
|