mailwoman 0.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/.dockerignore +19 -0
- package/.editorconfig +19 -0
- package/.husky/pre-commit +2 -0
- package/.prettierignore +29 -0
- package/.vscode/extensions.json +18 -0
- package/.vscode/settings.json +132 -0
- package/Dockerfile +17 -0
- package/LICENSE.md +675 -0
- package/README.md +208 -0
- package/bin/cli.ts +54 -0
- package/classification/AdjacentClassification.test.ts +17 -0
- package/classification/AdjacentClassification.ts +13 -0
- package/classification/AlphaClassification.test.ts +17 -0
- package/classification/AlphaClassification.ts +13 -0
- package/classification/AlphaNumericClassification.test.ts +17 -0
- package/classification/AlphaNumericClassification.ts +13 -0
- package/classification/AreaClassification.test.ts +17 -0
- package/classification/AreaClassification.ts +13 -0
- package/classification/ChainClassification.test.ts +17 -0
- package/classification/ChainClassification.ts +13 -0
- package/classification/Classification.test.ts +17 -0
- package/classification/Classification.ts +107 -0
- package/classification/CountryClassification.test.ts +17 -0
- package/classification/CountryClassification.ts +18 -0
- package/classification/DependencyClassification.test.ts +17 -0
- package/classification/DependencyClassification.ts +14 -0
- package/classification/DirectionalClassification.test.ts +17 -0
- package/classification/DirectionalClassification.ts +13 -0
- package/classification/EndTokenClassification.test.ts +17 -0
- package/classification/EndTokenClassification.ts +13 -0
- package/classification/EndTokenSingleCharacterClassification.test.ts +17 -0
- package/classification/EndTokenSingleCharacterClassification.ts +13 -0
- package/classification/GivenNameClassification.test.ts +17 -0
- package/classification/GivenNameClassification.ts +13 -0
- package/classification/HouseNumberClassification.test.ts +17 -0
- package/classification/HouseNumberClassification.ts +14 -0
- package/classification/IntersectionClassification.test.ts +17 -0
- package/classification/IntersectionClassification.ts +13 -0
- package/classification/LevelClassification.ts +14 -0
- package/classification/LevelTypeClassification.ts +12 -0
- package/classification/LocalityClassification.test.ts +17 -0
- package/classification/LocalityClassification.ts +14 -0
- package/classification/MiddleInitialClassification.test.ts +17 -0
- package/classification/MiddleInitialClassification.ts +13 -0
- package/classification/MultiStreetClassification.test.ts +17 -0
- package/classification/MultiStreetClassification.ts +14 -0
- package/classification/NumericClassification.test.ts +17 -0
- package/classification/NumericClassification.ts +13 -0
- package/classification/OrdinalClassification.test.ts +17 -0
- package/classification/OrdinalClassification.ts +13 -0
- package/classification/PersonClassification.test.ts +17 -0
- package/classification/PersonClassification.ts +13 -0
- package/classification/PersonalSuffixClassification.test.ts +17 -0
- package/classification/PersonalSuffixClassification.ts +13 -0
- package/classification/PersonalTitleClassification.test.ts +17 -0
- package/classification/PersonalTitleClassification.ts +13 -0
- package/classification/PlaceClassification.test.ts +17 -0
- package/classification/PlaceClassification.ts +13 -0
- package/classification/PostcodeClassification.test.ts +17 -0
- package/classification/PostcodeClassification.ts +14 -0
- package/classification/PunctuationClassification.test.ts +17 -0
- package/classification/PunctuationClassification.ts +13 -0
- package/classification/RegionClassification.test.ts +17 -0
- package/classification/RegionClassification.ts +14 -0
- package/classification/RoadTypeClassification.test.ts +16 -0
- package/classification/RoadTypeClassification.ts +13 -0
- package/classification/StartTokenClassification.test.ts +17 -0
- package/classification/StartTokenClassification.ts +13 -0
- package/classification/StopWordClassification.test.ts +17 -0
- package/classification/StopWordClassification.ts +13 -0
- package/classification/StreetClassification.test.ts +17 -0
- package/classification/StreetClassification.ts +14 -0
- package/classification/StreetNameClassification.test.ts +16 -0
- package/classification/StreetNameClassification.ts +13 -0
- package/classification/StreetPrefixClassification.test.ts +17 -0
- package/classification/StreetPrefixClassification.ts +13 -0
- package/classification/StreetProperNameClassification.test.ts +17 -0
- package/classification/StreetProperNameClassification.ts +13 -0
- package/classification/StreetSuffixClassification.test.ts +17 -0
- package/classification/StreetSuffixClassification.ts +13 -0
- package/classification/SurnameClassification.test.ts +17 -0
- package/classification/SurnameClassification.ts +13 -0
- package/classification/ToponymClassification.test.ts +17 -0
- package/classification/ToponymClassification.ts +13 -0
- package/classification/UnitClassification.test.ts +17 -0
- package/classification/UnitClassification.ts +12 -0
- package/classification/UnitTypeClassification.test.ts +17 -0
- package/classification/UnitTypeClassification.ts +12 -0
- package/classification/VenueClassification.test.ts +17 -0
- package/classification/VenueClassification.ts +14 -0
- package/classification/index.ts +47 -0
- package/classification/types.ts +100 -0
- package/classifier/AdjacencyClassifier.ts +54 -0
- package/classifier/AlphaNumericClassifier.test.ts +100 -0
- package/classifier/AlphaNumericClassifier.ts +28 -0
- package/classifier/CentralEuropeanStreetNameClassifier.test.ts +68 -0
- package/classifier/CentralEuropeanStreetNameClassifier.ts +60 -0
- package/classifier/ChainClassifier.test.ts +23 -0
- package/classifier/ChainClassifier.ts +32 -0
- package/classifier/CompositeClassifier.test.ts +79 -0
- package/classifier/CompositeClassifier.ts +192 -0
- package/classifier/CompoundStreetClassifier.test.ts +57 -0
- package/classifier/CompoundStreetClassifier.ts +59 -0
- package/classifier/DirectionalClassifier.test.ts +190 -0
- package/classifier/DirectionalClassifier.ts +47 -0
- package/classifier/GivenNameClassifier.test.ts +32 -0
- package/classifier/GivenNameClassifier.ts +40 -0
- package/classifier/HouseNumberClassifier.test.ts +164 -0
- package/classifier/HouseNumberClassifier.ts +56 -0
- package/classifier/IntersectionClassifier.ts +47 -0
- package/classifier/LevelClassifier.ts +48 -0
- package/classifier/LevelTypeClassifier.test.ts +22 -0
- package/classifier/LevelTypeClassifier.ts +32 -0
- package/classifier/LevelTypeLevelClassifier.ts +71 -0
- package/classifier/MiddleInitialClassifier.test.ts +29 -0
- package/classifier/MiddleInitialClassifier.ts +25 -0
- package/classifier/OrdinalClassifier.test.ts +44 -0
- package/classifier/OrdinalClassifier.ts +34 -0
- package/classifier/PersonClassifier.test.ts +40 -0
- package/classifier/PersonClassifier.ts +38 -0
- package/classifier/PersonalSuffixClassifier.test.ts +32 -0
- package/classifier/PersonalSuffixClassifier.ts +36 -0
- package/classifier/PersonalTitleClassifier.test.ts +32 -0
- package/classifier/PersonalTitleClassifier.ts +44 -0
- package/classifier/PlaceClassifier.test.ts +32 -0
- package/classifier/PlaceClassifier.ts +46 -0
- package/classifier/PostcodeClassifier.test.ts +86 -0
- package/classifier/PostcodeClassifier.ts +86 -0
- package/classifier/RoadTypeClassifier.test.ts +37 -0
- package/classifier/RoadTypeClassifier.ts +43 -0
- package/classifier/StopWordClassifier.test.ts +32 -0
- package/classifier/StopWordClassifier.ts +44 -0
- package/classifier/StreetPrefixClassifier.test.ts +37 -0
- package/classifier/StreetPrefixClassifier.ts +58 -0
- package/classifier/StreetProperNameClassifier.test.ts +30 -0
- package/classifier/StreetProperNameClassifier.ts +38 -0
- package/classifier/StreetSuffixClassifier.test.ts +63 -0
- package/classifier/StreetSuffixClassifier.ts +77 -0
- package/classifier/SurnameClassifier.test.ts +30 -0
- package/classifier/SurnameClassifier.ts +41 -0
- package/classifier/TokenPositionClassifier.test.ts +95 -0
- package/classifier/TokenPositionClassifier.ts +57 -0
- package/classifier/ToponymClassifier.test.ts +36 -0
- package/classifier/ToponymClassifier.ts +39 -0
- package/classifier/UnitClassifier.test.ts +93 -0
- package/classifier/UnitClassifier.ts +67 -0
- package/classifier/UnitTypeClassifier.test.ts +22 -0
- package/classifier/UnitTypeClassifier.ts +32 -0
- package/classifier/UnitTypeUnitClassifier.test.ts +49 -0
- package/classifier/UnitTypeUnitClassifier.ts +71 -0
- package/classifier/WhosOnFirstClassifier.test.ts +38 -0
- package/classifier/WhosOnFirstClassifier.ts +190 -0
- package/classifier/index.ts +38 -0
- package/classifier/scheme/intersection.ts +125 -0
- package/classifier/scheme/person.ts +117 -0
- package/classifier/scheme/street.ts +409 -0
- package/classifier/scheme/street_name.ts +86 -0
- package/classifier/scheme/venue.ts +206 -0
- package/classifier/super/BaseClassifier.ts +39 -0
- package/classifier/super/PhraseClassifier.ts +37 -0
- package/classifier/super/SectionClassifier.ts +42 -0
- package/classifier/super/WordClassifier.ts +31 -0
- package/classifier/super/index.ts +10 -0
- package/debug/DebugOutputBuilder.ts +219 -0
- package/docker-compose.yml +8 -0
- package/docs/api.png +0 -0
- package/docs/cli.png +0 -0
- package/docs/demo.png +0 -0
- package/eslint.config.mjs +32 -0
- package/index.ts +10 -0
- package/out/bin/cli.js +41 -0
- package/package.json +130 -0
- package/parser/AddressParser.ts +162 -0
- package/parser/Parser.ts +125 -0
- package/parser/index.ts +9 -0
- package/parser/utils.ts +94 -0
- package/resources/chromium-i18n/ssl-address/AC.json +8 -0
- package/resources/chromium-i18n/ssl-address/AD.json +16 -0
- package/resources/chromium-i18n/ssl-address/AE.json +15 -0
- package/resources/chromium-i18n/ssl-address/AF.json +8 -0
- package/resources/chromium-i18n/ssl-address/AG.json +1 -0
- package/resources/chromium-i18n/ssl-address/AI.json +8 -0
- package/resources/chromium-i18n/ssl-address/AL.json +8 -0
- package/resources/chromium-i18n/ssl-address/AM.json +16 -0
- package/resources/chromium-i18n/ssl-address/AO.json +1 -0
- package/resources/chromium-i18n/ssl-address/AQ.json +1 -0
- package/resources/chromium-i18n/ssl-address/AR.json +16 -0
- package/resources/chromium-i18n/ssl-address/AS.json +13 -0
- package/resources/chromium-i18n/ssl-address/AT.json +10 -0
- package/resources/chromium-i18n/ssl-address/AU.json +20 -0
- package/resources/chromium-i18n/ssl-address/AW.json +1 -0
- package/resources/chromium-i18n/ssl-address/AX.json +11 -0
- package/resources/chromium-i18n/ssl-address/AZ.json +9 -0
- package/resources/chromium-i18n/ssl-address/BA.json +8 -0
- package/resources/chromium-i18n/ssl-address/BB.json +9 -0
- package/resources/chromium-i18n/ssl-address/BD.json +9 -0
- package/resources/chromium-i18n/ssl-address/BE.json +10 -0
- package/resources/chromium-i18n/ssl-address/BF.json +6 -0
- package/resources/chromium-i18n/ssl-address/BG.json +9 -0
- package/resources/chromium-i18n/ssl-address/BH.json +8 -0
- package/resources/chromium-i18n/ssl-address/BI.json +1 -0
- package/resources/chromium-i18n/ssl-address/BJ.json +1 -0
- package/resources/chromium-i18n/ssl-address/BL.json +11 -0
- package/resources/chromium-i18n/ssl-address/BM.json +9 -0
- package/resources/chromium-i18n/ssl-address/BN.json +9 -0
- package/resources/chromium-i18n/ssl-address/BO.json +1 -0
- package/resources/chromium-i18n/ssl-address/BQ.json +1 -0
- package/resources/chromium-i18n/ssl-address/BR.json +21 -0
- package/resources/chromium-i18n/ssl-address/BS.json +12 -0
- package/resources/chromium-i18n/ssl-address/BT.json +9 -0
- package/resources/chromium-i18n/ssl-address/BV.json +1 -0
- package/resources/chromium-i18n/ssl-address/BW.json +1 -0
- package/resources/chromium-i18n/ssl-address/BY.json +9 -0
- package/resources/chromium-i18n/ssl-address/BZ.json +1 -0
- package/resources/chromium-i18n/ssl-address/CA.json +17 -0
- package/resources/chromium-i18n/ssl-address/CC.json +9 -0
- package/resources/chromium-i18n/ssl-address/CD.json +1 -0
- package/resources/chromium-i18n/ssl-address/CF.json +1 -0
- package/resources/chromium-i18n/ssl-address/CG.json +1 -0
- package/resources/chromium-i18n/ssl-address/CH.json +12 -0
- package/resources/chromium-i18n/ssl-address/CI.json +6 -0
- package/resources/chromium-i18n/ssl-address/CK.json +1 -0
- package/resources/chromium-i18n/ssl-address/CL.json +15 -0
- package/resources/chromium-i18n/ssl-address/CM.json +1 -0
- package/resources/chromium-i18n/ssl-address/CN.json +22 -0
- package/resources/chromium-i18n/ssl-address/CO.json +11 -0
- package/resources/chromium-i18n/ssl-address/CR.json +10 -0
- package/resources/chromium-i18n/ssl-address/CU.json +12 -0
- package/resources/chromium-i18n/ssl-address/CV.json +13 -0
- package/resources/chromium-i18n/ssl-address/CW.json +1 -0
- package/resources/chromium-i18n/ssl-address/CX.json +9 -0
- package/resources/chromium-i18n/ssl-address/CY.json +8 -0
- package/resources/chromium-i18n/ssl-address/CZ.json +10 -0
- package/resources/chromium-i18n/ssl-address/DE.json +10 -0
- package/resources/chromium-i18n/ssl-address/DJ.json +1 -0
- package/resources/chromium-i18n/ssl-address/DK.json +10 -0
- package/resources/chromium-i18n/ssl-address/DM.json +1 -0
- package/resources/chromium-i18n/ssl-address/DO.json +9 -0
- package/resources/chromium-i18n/ssl-address/DZ.json +8 -0
- package/resources/chromium-i18n/ssl-address/EC.json +10 -0
- package/resources/chromium-i18n/ssl-address/EE.json +9 -0
- package/resources/chromium-i18n/ssl-address/EG.json +16 -0
- package/resources/chromium-i18n/ssl-address/EH.json +8 -0
- package/resources/chromium-i18n/ssl-address/ER.json +1 -0
- package/resources/chromium-i18n/ssl-address/ES.json +16 -0
- package/resources/chromium-i18n/ssl-address/ET.json +8 -0
- package/resources/chromium-i18n/ssl-address/FI.json +11 -0
- package/resources/chromium-i18n/ssl-address/FJ.json +1 -0
- package/resources/chromium-i18n/ssl-address/FK.json +10 -0
- package/resources/chromium-i18n/ssl-address/FM.json +13 -0
- package/resources/chromium-i18n/ssl-address/FO.json +10 -0
- package/resources/chromium-i18n/ssl-address/FR.json +11 -0
- package/resources/chromium-i18n/ssl-address/GA.json +1 -0
- package/resources/chromium-i18n/ssl-address/GB.json +12 -0
- package/resources/chromium-i18n/ssl-address/GD.json +1 -0
- package/resources/chromium-i18n/ssl-address/GE.json +9 -0
- package/resources/chromium-i18n/ssl-address/GF.json +11 -0
- package/resources/chromium-i18n/ssl-address/GG.json +11 -0
- package/resources/chromium-i18n/ssl-address/GH.json +1 -0
- package/resources/chromium-i18n/ssl-address/GI.json +9 -0
- package/resources/chromium-i18n/ssl-address/GL.json +9 -0
- package/resources/chromium-i18n/ssl-address/GM.json +1 -0
- package/resources/chromium-i18n/ssl-address/GN.json +8 -0
- package/resources/chromium-i18n/ssl-address/GP.json +11 -0
- package/resources/chromium-i18n/ssl-address/GQ.json +1 -0
- package/resources/chromium-i18n/ssl-address/GR.json +10 -0
- package/resources/chromium-i18n/ssl-address/GS.json +10 -0
- package/resources/chromium-i18n/ssl-address/GT.json +8 -0
- package/resources/chromium-i18n/ssl-address/GU.json +12 -0
- package/resources/chromium-i18n/ssl-address/GW.json +8 -0
- package/resources/chromium-i18n/ssl-address/GY.json +1 -0
- package/resources/chromium-i18n/ssl-address/HK.json +16 -0
- package/resources/chromium-i18n/ssl-address/HM.json +9 -0
- package/resources/chromium-i18n/ssl-address/HN.json +9 -0
- package/resources/chromium-i18n/ssl-address/HR.json +10 -0
- package/resources/chromium-i18n/ssl-address/HT.json +9 -0
- package/resources/chromium-i18n/ssl-address/HU.json +11 -0
- package/resources/chromium-i18n/ssl-address/ID.json +13 -0
- package/resources/chromium-i18n/ssl-address/IE.json +16 -0
- package/resources/chromium-i18n/ssl-address/IL.json +9 -0
- package/resources/chromium-i18n/ssl-address/IM.json +11 -0
- package/resources/chromium-i18n/ssl-address/IN.json +18 -0
- package/resources/chromium-i18n/ssl-address/IO.json +10 -0
- package/resources/chromium-i18n/ssl-address/IQ.json +10 -0
- package/resources/chromium-i18n/ssl-address/IR.json +14 -0
- package/resources/chromium-i18n/ssl-address/IS.json +9 -0
- package/resources/chromium-i18n/ssl-address/IT.json +17 -0
- package/resources/chromium-i18n/ssl-address/JE.json +11 -0
- package/resources/chromium-i18n/ssl-address/JM.json +12 -0
- package/resources/chromium-i18n/ssl-address/JO.json +8 -0
- package/resources/chromium-i18n/ssl-address/JP.json +19 -0
- package/resources/chromium-i18n/ssl-address/KE.json +8 -0
- package/resources/chromium-i18n/ssl-address/KG.json +8 -0
- package/resources/chromium-i18n/ssl-address/KH.json +8 -0
- package/resources/chromium-i18n/ssl-address/KI.json +8 -0
- package/resources/chromium-i18n/ssl-address/KM.json +1 -0
- package/resources/chromium-i18n/ssl-address/KN.json +12 -0
- package/resources/chromium-i18n/ssl-address/KP.json +12 -0
- package/resources/chromium-i18n/ssl-address/KR.json +23 -0
- package/resources/chromium-i18n/ssl-address/KW.json +8 -0
- package/resources/chromium-i18n/ssl-address/KY.json +14 -0
- package/resources/chromium-i18n/ssl-address/KZ.json +8 -0
- package/resources/chromium-i18n/ssl-address/LA.json +8 -0
- package/resources/chromium-i18n/ssl-address/LB.json +8 -0
- package/resources/chromium-i18n/ssl-address/LC.json +1 -0
- package/resources/chromium-i18n/ssl-address/LI.json +11 -0
- package/resources/chromium-i18n/ssl-address/LK.json +9 -0
- package/resources/chromium-i18n/ssl-address/LR.json +8 -0
- package/resources/chromium-i18n/ssl-address/LS.json +8 -0
- package/resources/chromium-i18n/ssl-address/LT.json +10 -0
- package/resources/chromium-i18n/ssl-address/LU.json +11 -0
- package/resources/chromium-i18n/ssl-address/LV.json +9 -0
- package/resources/chromium-i18n/ssl-address/LY.json +1 -0
- package/resources/chromium-i18n/ssl-address/MA.json +8 -0
- package/resources/chromium-i18n/ssl-address/MC.json +9 -0
- package/resources/chromium-i18n/ssl-address/MD.json +9 -0
- package/resources/chromium-i18n/ssl-address/ME.json +8 -0
- package/resources/chromium-i18n/ssl-address/MF.json +11 -0
- package/resources/chromium-i18n/ssl-address/MG.json +8 -0
- package/resources/chromium-i18n/ssl-address/MH.json +13 -0
- package/resources/chromium-i18n/ssl-address/MK.json +8 -0
- package/resources/chromium-i18n/ssl-address/ML.json +1 -0
- package/resources/chromium-i18n/ssl-address/MM.json +8 -0
- package/resources/chromium-i18n/ssl-address/MN.json +9 -0
- package/resources/chromium-i18n/ssl-address/MO.json +8 -0
- package/resources/chromium-i18n/ssl-address/MP.json +13 -0
- package/resources/chromium-i18n/ssl-address/MQ.json +11 -0
- package/resources/chromium-i18n/ssl-address/MR.json +1 -0
- package/resources/chromium-i18n/ssl-address/MS.json +1 -0
- package/resources/chromium-i18n/ssl-address/MT.json +10 -0
- package/resources/chromium-i18n/ssl-address/MU.json +9 -0
- package/resources/chromium-i18n/ssl-address/MV.json +9 -0
- package/resources/chromium-i18n/ssl-address/MW.json +1 -0
- package/resources/chromium-i18n/ssl-address/MX.json +20 -0
- package/resources/chromium-i18n/ssl-address/MY.json +19 -0
- package/resources/chromium-i18n/ssl-address/MZ.json +12 -0
- package/resources/chromium-i18n/ssl-address/NA.json +1 -0
- package/resources/chromium-i18n/ssl-address/NC.json +11 -0
- package/resources/chromium-i18n/ssl-address/NE.json +8 -0
- package/resources/chromium-i18n/ssl-address/NF.json +9 -0
- package/resources/chromium-i18n/ssl-address/NG.json +15 -0
- package/resources/chromium-i18n/ssl-address/NI.json +16 -0
- package/resources/chromium-i18n/ssl-address/NL.json +10 -0
- package/resources/chromium-i18n/ssl-address/NO.json +11 -0
- package/resources/chromium-i18n/ssl-address/NP.json +9 -0
- package/resources/chromium-i18n/ssl-address/NR.json +12 -0
- package/resources/chromium-i18n/ssl-address/NU.json +1 -0
- package/resources/chromium-i18n/ssl-address/NZ.json +10 -0
- package/resources/chromium-i18n/ssl-address/OM.json +8 -0
- package/resources/chromium-i18n/ssl-address/PA.json +7 -0
- package/resources/chromium-i18n/ssl-address/PE.json +14 -0
- package/resources/chromium-i18n/ssl-address/PF.json +11 -0
- package/resources/chromium-i18n/ssl-address/PG.json +9 -0
- package/resources/chromium-i18n/ssl-address/PH.json +15 -0
- package/resources/chromium-i18n/ssl-address/PK.json +9 -0
- package/resources/chromium-i18n/ssl-address/PL.json +10 -0
- package/resources/chromium-i18n/ssl-address/PM.json +10 -0
- package/resources/chromium-i18n/ssl-address/PN.json +10 -0
- package/resources/chromium-i18n/ssl-address/PR.json +13 -0
- package/resources/chromium-i18n/ssl-address/PS.json +1 -0
- package/resources/chromium-i18n/ssl-address/PT.json +10 -0
- package/resources/chromium-i18n/ssl-address/PW.json +13 -0
- package/resources/chromium-i18n/ssl-address/PY.json +8 -0
- package/resources/chromium-i18n/ssl-address/QA.json +1 -0
- package/resources/chromium-i18n/ssl-address/RE.json +11 -0
- package/resources/chromium-i18n/ssl-address/RO.json +10 -0
- package/resources/chromium-i18n/ssl-address/RS.json +9 -0
- package/resources/chromium-i18n/ssl-address/RU.json +20 -0
- package/resources/chromium-i18n/ssl-address/RW.json +1 -0
- package/resources/chromium-i18n/ssl-address/SA.json +8 -0
- package/resources/chromium-i18n/ssl-address/SB.json +1 -0
- package/resources/chromium-i18n/ssl-address/SC.json +8 -0
- package/resources/chromium-i18n/ssl-address/SD.json +9 -0
- package/resources/chromium-i18n/ssl-address/SE.json +12 -0
- package/resources/chromium-i18n/ssl-address/SG.json +10 -0
- package/resources/chromium-i18n/ssl-address/SH.json +10 -0
- package/resources/chromium-i18n/ssl-address/SI.json +9 -0
- package/resources/chromium-i18n/ssl-address/SJ.json +11 -0
- package/resources/chromium-i18n/ssl-address/SK.json +10 -0
- package/resources/chromium-i18n/ssl-address/SL.json +1 -0
- package/resources/chromium-i18n/ssl-address/SM.json +10 -0
- package/resources/chromium-i18n/ssl-address/SN.json +8 -0
- package/resources/chromium-i18n/ssl-address/SO.json +15 -0
- package/resources/chromium-i18n/ssl-address/SR.json +11 -0
- package/resources/chromium-i18n/ssl-address/SS.json +1 -0
- package/resources/chromium-i18n/ssl-address/ST.json +1 -0
- package/resources/chromium-i18n/ssl-address/SV.json +17 -0
- package/resources/chromium-i18n/ssl-address/SX.json +1 -0
- package/resources/chromium-i18n/ssl-address/SY.json +6 -0
- package/resources/chromium-i18n/ssl-address/SZ.json +10 -0
- package/resources/chromium-i18n/ssl-address/TA.json +8 -0
- package/resources/chromium-i18n/ssl-address/TC.json +10 -0
- package/resources/chromium-i18n/ssl-address/TD.json +1 -0
- package/resources/chromium-i18n/ssl-address/TF.json +1 -0
- package/resources/chromium-i18n/ssl-address/TG.json +1 -0
- package/resources/chromium-i18n/ssl-address/TH.json +16 -0
- package/resources/chromium-i18n/ssl-address/TJ.json +8 -0
- package/resources/chromium-i18n/ssl-address/TK.json +1 -0
- package/resources/chromium-i18n/ssl-address/TL.json +1 -0
- package/resources/chromium-i18n/ssl-address/TM.json +8 -0
- package/resources/chromium-i18n/ssl-address/TN.json +9 -0
- package/resources/chromium-i18n/ssl-address/TO.json +1 -0
- package/resources/chromium-i18n/ssl-address/TR.json +16 -0
- package/resources/chromium-i18n/ssl-address/TT.json +1 -0
- package/resources/chromium-i18n/ssl-address/TV.json +12 -0
- package/resources/chromium-i18n/ssl-address/TW.json +20 -0
- package/resources/chromium-i18n/ssl-address/TZ.json +8 -0
- package/resources/chromium-i18n/ssl-address/UA.json +19 -0
- package/resources/chromium-i18n/ssl-address/UG.json +1 -0
- package/resources/chromium-i18n/ssl-address/UM.json +13 -0
- package/resources/chromium-i18n/ssl-address/US.json +20 -0
- package/resources/chromium-i18n/ssl-address/UY.json +15 -0
- package/resources/chromium-i18n/ssl-address/UZ.json +10 -0
- package/resources/chromium-i18n/ssl-address/VA.json +8 -0
- package/resources/chromium-i18n/ssl-address/VC.json +9 -0
- package/resources/chromium-i18n/ssl-address/VE.json +16 -0
- package/resources/chromium-i18n/ssl-address/VG.json +9 -0
- package/resources/chromium-i18n/ssl-address/VI.json +13 -0
- package/resources/chromium-i18n/ssl-address/VN.json +15 -0
- package/resources/chromium-i18n/ssl-address/VU.json +1 -0
- package/resources/chromium-i18n/ssl-address/WF.json +10 -0
- package/resources/chromium-i18n/ssl-address/WS.json +1 -0
- package/resources/chromium-i18n/ssl-address/XK.json +8 -0
- package/resources/chromium-i18n/ssl-address/YE.json +1 -0
- package/resources/chromium-i18n/ssl-address/YT.json +10 -0
- package/resources/chromium-i18n/ssl-address/ZA.json +10 -0
- package/resources/chromium-i18n/ssl-address/ZM.json +8 -0
- package/resources/chromium-i18n/ssl-address/ZW.json +1 -0
- package/resources/chromium-i18n/ssl-address-download.sh +15 -0
- package/resources/chromium-i18n/ssl-address.json +2468 -0
- package/resources/custom/custom.ts +12 -0
- package/resources/helper.ts +151 -0
- package/resources/libpostal/dictionaries/README.md +88 -0
- package/resources/libpostal/dictionaries/af/ambiguous_expansions.txt +8 -0
- package/resources/libpostal/dictionaries/af/concatenated_suffixes_inseparable.txt +1 -0
- package/resources/libpostal/dictionaries/af/concatenated_suffixes_separable.txt +14 -0
- package/resources/libpostal/dictionaries/af/directionals.txt +12 -0
- package/resources/libpostal/dictionaries/af/personal_titles.txt +23 -0
- package/resources/libpostal/dictionaries/af/place_names.txt +2 -0
- package/resources/libpostal/dictionaries/af/qualifiers.txt +4 -0
- package/resources/libpostal/dictionaries/af/stopwords.txt +38 -0
- package/resources/libpostal/dictionaries/af/street_types.txt +21 -0
- package/resources/libpostal/dictionaries/all/ambiguous_expansions.txt +1 -0
- package/resources/libpostal/dictionaries/all/chains.txt +504 -0
- package/resources/libpostal/dictionaries/all/given_names.txt +12715 -0
- package/resources/libpostal/dictionaries/all/people.txt +5 -0
- package/resources/libpostal/dictionaries/all/surnames.txt +49375 -0
- package/resources/libpostal/dictionaries/ar/personal_titles.txt +4 -0
- package/resources/libpostal/dictionaries/ar/place_names.txt +1 -0
- package/resources/libpostal/dictionaries/ar/street_types.txt +11 -0
- package/resources/libpostal/dictionaries/ast/ambiguous_expansions.txt +1 -0
- package/resources/libpostal/dictionaries/ast/personal_titles.txt +1 -0
- package/resources/libpostal/dictionaries/ast/street_types.txt +3 -0
- package/resources/libpostal/dictionaries/az/building_types.txt +1 -0
- package/resources/libpostal/dictionaries/az/directionals.txt +8 -0
- package/resources/libpostal/dictionaries/az/personal_titles.txt +3 -0
- package/resources/libpostal/dictionaries/az/place_names.txt +1 -0
- package/resources/libpostal/dictionaries/az/street_types.txt +18 -0
- package/resources/libpostal/dictionaries/be/ambiguous_expansions.txt +8 -0
- package/resources/libpostal/dictionaries/be/building_types.txt +2 -0
- package/resources/libpostal/dictionaries/be/chains.txt +8 -0
- package/resources/libpostal/dictionaries/be/directionals.txt +25 -0
- package/resources/libpostal/dictionaries/be/house_numbers.txt +2 -0
- package/resources/libpostal/dictionaries/be/personal_titles.txt +6 -0
- package/resources/libpostal/dictionaries/be/qualifiers.txt +20 -0
- package/resources/libpostal/dictionaries/be/street_types.txt +28 -0
- package/resources/libpostal/dictionaries/be/unit_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/bg/ambiguous_expansions.txt +2 -0
- package/resources/libpostal/dictionaries/bg/cross_streets.txt +10 -0
- package/resources/libpostal/dictionaries/bg/directionals.txt +8 -0
- package/resources/libpostal/dictionaries/bg/entrances.txt +2 -0
- package/resources/libpostal/dictionaries/bg/level_types_numbered.txt +6 -0
- package/resources/libpostal/dictionaries/bg/level_types_standalone.txt +4 -0
- package/resources/libpostal/dictionaries/bg/near.txt +20 -0
- package/resources/libpostal/dictionaries/bg/number.txt +2 -0
- package/resources/libpostal/dictionaries/bg/personal_titles.txt +14 -0
- package/resources/libpostal/dictionaries/bg/place_names.txt +6 -0
- package/resources/libpostal/dictionaries/bg/post_office.txt +2 -0
- package/resources/libpostal/dictionaries/bg/qualifiers.txt +10 -0
- package/resources/libpostal/dictionaries/bg/staircases.txt +2 -0
- package/resources/libpostal/dictionaries/bg/street_types.txt +6 -0
- package/resources/libpostal/dictionaries/bg/unit_directions.txt +4 -0
- package/resources/libpostal/dictionaries/bg/unit_types_numbered.txt +6 -0
- package/resources/libpostal/dictionaries/br/personal_titles.txt +3 -0
- package/resources/libpostal/dictionaries/br/place_names.txt +3 -0
- package/resources/libpostal/dictionaries/br/qualifiers.txt +1 -0
- package/resources/libpostal/dictionaries/br/stopwords.txt +4 -0
- package/resources/libpostal/dictionaries/br/street_types.txt +40 -0
- package/resources/libpostal/dictionaries/bs/ambiguous_expansions.txt +5 -0
- package/resources/libpostal/dictionaries/bs/building_types.txt +1 -0
- package/resources/libpostal/dictionaries/bs/cross_streets.txt +6 -0
- package/resources/libpostal/dictionaries/bs/directionals.txt +4 -0
- package/resources/libpostal/dictionaries/bs/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/bs/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/bs/level_types_mezzanine.txt +1 -0
- package/resources/libpostal/dictionaries/bs/level_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/bs/level_types_standalone.txt +2 -0
- package/resources/libpostal/dictionaries/bs/near.txt +5 -0
- package/resources/libpostal/dictionaries/bs/no_number.txt +1 -0
- package/resources/libpostal/dictionaries/bs/number.txt +1 -0
- package/resources/libpostal/dictionaries/bs/personal_titles.txt +8 -0
- package/resources/libpostal/dictionaries/bs/place_names.txt +9 -0
- package/resources/libpostal/dictionaries/bs/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/bs/qualifiers.txt +2 -0
- package/resources/libpostal/dictionaries/bs/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/bs/stopwords.txt +2 -0
- package/resources/libpostal/dictionaries/bs/street_types.txt +12 -0
- package/resources/libpostal/dictionaries/bs/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/bs/unit_types_numbered.txt +4 -0
- package/resources/libpostal/dictionaries/ca/ambiguous_expansions.txt +9 -0
- package/resources/libpostal/dictionaries/ca/cross_streets.txt +8 -0
- package/resources/libpostal/dictionaries/ca/directionals.txt +9 -0
- package/resources/libpostal/dictionaries/ca/elisions.txt +1 -0
- package/resources/libpostal/dictionaries/ca/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/ca/given_names.txt +1 -0
- package/resources/libpostal/dictionaries/ca/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/ca/level_types_mezzanine.txt +1 -0
- package/resources/libpostal/dictionaries/ca/level_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/ca/level_types_standalone.txt +5 -0
- package/resources/libpostal/dictionaries/ca/level_types_sub_basement.txt +1 -0
- package/resources/libpostal/dictionaries/ca/near.txt +12 -0
- package/resources/libpostal/dictionaries/ca/no_number.txt +1 -0
- package/resources/libpostal/dictionaries/ca/number.txt +1 -0
- package/resources/libpostal/dictionaries/ca/personal_titles.txt +10 -0
- package/resources/libpostal/dictionaries/ca/place_names.txt +133 -0
- package/resources/libpostal/dictionaries/ca/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/ca/postcodes.txt +1 -0
- package/resources/libpostal/dictionaries/ca/qualifiers.txt +8 -0
- package/resources/libpostal/dictionaries/ca/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/ca/stopwords.txt +31 -0
- package/resources/libpostal/dictionaries/ca/street_types.txt +28 -0
- package/resources/libpostal/dictionaries/ca/synonyms.txt +14 -0
- package/resources/libpostal/dictionaries/ca/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/ca/unit_types_numbered.txt +10 -0
- package/resources/libpostal/dictionaries/cs/ambiguous_expansions.txt +6 -0
- package/resources/libpostal/dictionaries/cs/chains.txt +1 -0
- package/resources/libpostal/dictionaries/cs/cross_streets.txt +9 -0
- package/resources/libpostal/dictionaries/cs/directionals.txt +4 -0
- package/resources/libpostal/dictionaries/cs/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/cs/house_numbers.txt +1 -0
- package/resources/libpostal/dictionaries/cs/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/cs/level_types_numbered.txt +3 -0
- package/resources/libpostal/dictionaries/cs/level_types_standalone.txt +1 -0
- package/resources/libpostal/dictionaries/cs/near.txt +12 -0
- package/resources/libpostal/dictionaries/cs/number.txt +1 -0
- package/resources/libpostal/dictionaries/cs/personal_titles.txt +2 -0
- package/resources/libpostal/dictionaries/cs/place_names.txt +47 -0
- package/resources/libpostal/dictionaries/cs/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/cs/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/cs/stopwords.txt +1 -0
- package/resources/libpostal/dictionaries/cs/street_types.txt +6 -0
- package/resources/libpostal/dictionaries/cs/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/cs/unit_types_numbered.txt +3 -0
- package/resources/libpostal/dictionaries/cy/building_types.txt +5 -0
- package/resources/libpostal/dictionaries/cy/directionals.txt +4 -0
- package/resources/libpostal/dictionaries/cy/personal_titles.txt +2 -0
- package/resources/libpostal/dictionaries/cy/place_names.txt +22 -0
- package/resources/libpostal/dictionaries/cy/qualifiers.txt +2 -0
- package/resources/libpostal/dictionaries/cy/stopwords.txt +3 -0
- package/resources/libpostal/dictionaries/cy/street_types.txt +22 -0
- package/resources/libpostal/dictionaries/da/academic_degrees.txt +1 -0
- package/resources/libpostal/dictionaries/da/ambiguous_expansions.txt +7 -0
- package/resources/libpostal/dictionaries/da/building_types.txt +3 -0
- package/resources/libpostal/dictionaries/da/concatenated_suffixes_inseparable.txt +21 -0
- package/resources/libpostal/dictionaries/da/concatenated_suffixes_separable.txt +9 -0
- package/resources/libpostal/dictionaries/da/cross_streets.txt +5 -0
- package/resources/libpostal/dictionaries/da/directionals.txt +13 -0
- package/resources/libpostal/dictionaries/da/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/da/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/da/level_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/da/level_types_standalone.txt +2 -0
- package/resources/libpostal/dictionaries/da/near.txt +14 -0
- package/resources/libpostal/dictionaries/da/number.txt +1 -0
- package/resources/libpostal/dictionaries/da/personal_titles.txt +1 -0
- package/resources/libpostal/dictionaries/da/place_names.txt +7 -0
- package/resources/libpostal/dictionaries/da/post_office.txt +2 -0
- package/resources/libpostal/dictionaries/da/staircases.txt +2 -0
- package/resources/libpostal/dictionaries/da/stopwords.txt +1 -0
- package/resources/libpostal/dictionaries/da/street_types.txt +38 -0
- package/resources/libpostal/dictionaries/da/synonyms.txt +2 -0
- package/resources/libpostal/dictionaries/da/unit_directions.txt +3 -0
- package/resources/libpostal/dictionaries/da/unit_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/de/academic_degrees.txt +5 -0
- package/resources/libpostal/dictionaries/de/ambiguous_expansions.txt +18 -0
- package/resources/libpostal/dictionaries/de/chains.txt +11 -0
- package/resources/libpostal/dictionaries/de/company_types.txt +8 -0
- package/resources/libpostal/dictionaries/de/concatenated_prefixes_separable.txt +17 -0
- package/resources/libpostal/dictionaries/de/concatenated_suffixes_inseparable.txt +5 -0
- package/resources/libpostal/dictionaries/de/concatenated_suffixes_separable.txt +16 -0
- package/resources/libpostal/dictionaries/de/cross_streets.txt +5 -0
- package/resources/libpostal/dictionaries/de/directionals.txt +41 -0
- package/resources/libpostal/dictionaries/de/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/de/house_numbers.txt +1 -0
- package/resources/libpostal/dictionaries/de/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/de/level_types_numbered.txt +3 -0
- package/resources/libpostal/dictionaries/de/level_types_standalone.txt +4 -0
- package/resources/libpostal/dictionaries/de/near.txt +16 -0
- package/resources/libpostal/dictionaries/de/number.txt +1 -0
- package/resources/libpostal/dictionaries/de/personal_suffixes.txt +2 -0
- package/resources/libpostal/dictionaries/de/personal_titles.txt +18 -0
- package/resources/libpostal/dictionaries/de/place_names.txt +123 -0
- package/resources/libpostal/dictionaries/de/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/de/qualifiers.txt +3 -0
- package/resources/libpostal/dictionaries/de/staircases.txt +2 -0
- package/resources/libpostal/dictionaries/de/stopwords.txt +39 -0
- package/resources/libpostal/dictionaries/de/street_types.txt +36 -0
- package/resources/libpostal/dictionaries/de/synonyms.txt +16 -0
- package/resources/libpostal/dictionaries/de/toponyms.txt +28 -0
- package/resources/libpostal/dictionaries/de/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/de/unit_types_numbered.txt +7 -0
- package/resources/libpostal/dictionaries/el/ambiguous_expansions.txt +1 -0
- package/resources/libpostal/dictionaries/el/building_types.txt +2 -0
- package/resources/libpostal/dictionaries/el/entrances.txt +2 -0
- package/resources/libpostal/dictionaries/el/given_names.txt +6 -0
- package/resources/libpostal/dictionaries/el/level_types_basement.txt +2 -0
- package/resources/libpostal/dictionaries/el/level_types_mezzanine.txt +2 -0
- package/resources/libpostal/dictionaries/el/level_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/el/level_types_standalone.txt +2 -0
- package/resources/libpostal/dictionaries/el/personal_titles.txt +12 -0
- package/resources/libpostal/dictionaries/el/place_names.txt +18 -0
- package/resources/libpostal/dictionaries/el/post_office.txt +2 -0
- package/resources/libpostal/dictionaries/el/postcodes.txt +2 -0
- package/resources/libpostal/dictionaries/el/qualifiers.txt +6 -0
- package/resources/libpostal/dictionaries/el/staircases.txt +2 -0
- package/resources/libpostal/dictionaries/el/street_types.txt +6 -0
- package/resources/libpostal/dictionaries/el/synonyms.txt +41 -0
- package/resources/libpostal/dictionaries/el/toponyms.txt +3 -0
- package/resources/libpostal/dictionaries/el/unit_types_numbered.txt +6 -0
- package/resources/libpostal/dictionaries/en/academic_degrees.txt +27 -0
- package/resources/libpostal/dictionaries/en/ambiguous_expansions.txt +178 -0
- package/resources/libpostal/dictionaries/en/building_types.txt +19 -0
- package/resources/libpostal/dictionaries/en/chains.txt +6 -0
- package/resources/libpostal/dictionaries/en/company_types.txt +61 -0
- package/resources/libpostal/dictionaries/en/cross_streets.txt +9 -0
- package/resources/libpostal/dictionaries/en/directionals.txt +20 -0
- package/resources/libpostal/dictionaries/en/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/en/given_names.txt +2 -0
- package/resources/libpostal/dictionaries/en/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/en/level_types_mezzanine.txt +5 -0
- package/resources/libpostal/dictionaries/en/level_types_numbered.txt +4 -0
- package/resources/libpostal/dictionaries/en/level_types_standalone.txt +12 -0
- package/resources/libpostal/dictionaries/en/level_types_sub_basement.txt +1 -0
- package/resources/libpostal/dictionaries/en/near.txt +7 -0
- package/resources/libpostal/dictionaries/en/no_number.txt +1 -0
- package/resources/libpostal/dictionaries/en/nulls.txt +2 -0
- package/resources/libpostal/dictionaries/en/number.txt +1 -0
- package/resources/libpostal/dictionaries/en/personal_suffixes.txt +2 -0
- package/resources/libpostal/dictionaries/en/personal_titles.txt +80 -0
- package/resources/libpostal/dictionaries/en/place_names.txt +315 -0
- package/resources/libpostal/dictionaries/en/post_office.txt +16 -0
- package/resources/libpostal/dictionaries/en/qualifiers.txt +5 -0
- package/resources/libpostal/dictionaries/en/staircases.txt +3 -0
- package/resources/libpostal/dictionaries/en/stopwords.txt +14 -0
- package/resources/libpostal/dictionaries/en/street_names.txt +358 -0
- package/resources/libpostal/dictionaries/en/street_types.txt +410 -0
- package/resources/libpostal/dictionaries/en/synonyms.txt +53 -0
- package/resources/libpostal/dictionaries/en/toponyms.txt +80 -0
- package/resources/libpostal/dictionaries/en/unit_directions.txt +4 -0
- package/resources/libpostal/dictionaries/en/unit_types_numbered.txt +69 -0
- package/resources/libpostal/dictionaries/en/unit_types_standalone.txt +16 -0
- package/resources/libpostal/dictionaries/es/academic_degrees.txt +2 -0
- package/resources/libpostal/dictionaries/es/ambiguous_expansions.txt +45 -0
- package/resources/libpostal/dictionaries/es/building_types.txt +15 -0
- package/resources/libpostal/dictionaries/es/company_types.txt +49 -0
- package/resources/libpostal/dictionaries/es/cross_streets.txt +9 -0
- package/resources/libpostal/dictionaries/es/directionals.txt +13 -0
- package/resources/libpostal/dictionaries/es/entrances.txt +3 -0
- package/resources/libpostal/dictionaries/es/given_names.txt +3 -0
- package/resources/libpostal/dictionaries/es/house_numbers.txt +2 -0
- package/resources/libpostal/dictionaries/es/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/es/level_types_mezzanine.txt +1 -0
- package/resources/libpostal/dictionaries/es/level_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/es/level_types_standalone.txt +7 -0
- package/resources/libpostal/dictionaries/es/level_types_sub_basement.txt +1 -0
- package/resources/libpostal/dictionaries/es/near.txt +10 -0
- package/resources/libpostal/dictionaries/es/no_number.txt +1 -0
- package/resources/libpostal/dictionaries/es/number.txt +1 -0
- package/resources/libpostal/dictionaries/es/personal_suffixes.txt +1 -0
- package/resources/libpostal/dictionaries/es/personal_titles.txt +132 -0
- package/resources/libpostal/dictionaries/es/place_names.txt +234 -0
- package/resources/libpostal/dictionaries/es/post_office.txt +4 -0
- package/resources/libpostal/dictionaries/es/postcodes.txt +1 -0
- package/resources/libpostal/dictionaries/es/qualifiers.txt +34 -0
- package/resources/libpostal/dictionaries/es/staircases.txt +2 -0
- package/resources/libpostal/dictionaries/es/stopwords.txt +29 -0
- package/resources/libpostal/dictionaries/es/street_types.txt +109 -0
- package/resources/libpostal/dictionaries/es/surnames.txt +6 -0
- package/resources/libpostal/dictionaries/es/synonyms.txt +58 -0
- package/resources/libpostal/dictionaries/es/toponyms.txt +39 -0
- package/resources/libpostal/dictionaries/es/unit_directions.txt +4 -0
- package/resources/libpostal/dictionaries/es/unit_types_numbered.txt +15 -0
- package/resources/libpostal/dictionaries/es/unit_types_standalone.txt +5 -0
- package/resources/libpostal/dictionaries/et/ambiguous_expansions.txt +5 -0
- package/resources/libpostal/dictionaries/et/building_types.txt +3 -0
- package/resources/libpostal/dictionaries/et/company_types.txt +10 -0
- package/resources/libpostal/dictionaries/et/cross_streets.txt +4 -0
- package/resources/libpostal/dictionaries/et/directionals.txt +9 -0
- package/resources/libpostal/dictionaries/et/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/et/level_types_basement.txt +2 -0
- package/resources/libpostal/dictionaries/et/level_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/et/near.txt +4 -0
- package/resources/libpostal/dictionaries/et/number.txt +1 -0
- package/resources/libpostal/dictionaries/et/personal_titles.txt +13 -0
- package/resources/libpostal/dictionaries/et/place_names.txt +39 -0
- package/resources/libpostal/dictionaries/et/post_office.txt +2 -0
- package/resources/libpostal/dictionaries/et/qualifiers.txt +6 -0
- package/resources/libpostal/dictionaries/et/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/et/stopwords.txt +1 -0
- package/resources/libpostal/dictionaries/et/street_types.txt +10 -0
- package/resources/libpostal/dictionaries/et/toponyms.txt +1 -0
- package/resources/libpostal/dictionaries/et/unit_directions.txt +4 -0
- package/resources/libpostal/dictionaries/et/unit_types_numbered.txt +3 -0
- package/resources/libpostal/dictionaries/eu/ambiguous_expansions.txt +2 -0
- package/resources/libpostal/dictionaries/eu/cross_streets.txt +4 -0
- package/resources/libpostal/dictionaries/eu/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/eu/level_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/eu/level_types_standalone.txt +2 -0
- package/resources/libpostal/dictionaries/eu/near.txt +5 -0
- package/resources/libpostal/dictionaries/eu/no_number.txt +1 -0
- package/resources/libpostal/dictionaries/eu/place_names.txt +63 -0
- package/resources/libpostal/dictionaries/eu/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/eu/postcodes.txt +1 -0
- package/resources/libpostal/dictionaries/eu/qualifiers.txt +2 -0
- package/resources/libpostal/dictionaries/eu/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/eu/stopwords.txt +1 -0
- package/resources/libpostal/dictionaries/eu/street_types.txt +18 -0
- package/resources/libpostal/dictionaries/eu/unit_directions.txt +3 -0
- package/resources/libpostal/dictionaries/eu/unit_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/fa/personal_titles.txt +6 -0
- package/resources/libpostal/dictionaries/fa/place_names.txt +3 -0
- package/resources/libpostal/dictionaries/fa/street_types.txt +7 -0
- package/resources/libpostal/dictionaries/fi/ambiguous_expansions.txt +5 -0
- package/resources/libpostal/dictionaries/fi/building_types.txt +3 -0
- package/resources/libpostal/dictionaries/fi/chains.txt +1 -0
- package/resources/libpostal/dictionaries/fi/concatenated_suffixes_separable.txt +20 -0
- package/resources/libpostal/dictionaries/fi/cross_streets.txt +3 -0
- package/resources/libpostal/dictionaries/fi/directionals.txt +4 -0
- package/resources/libpostal/dictionaries/fi/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/fi/level_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/fi/near.txt +5 -0
- package/resources/libpostal/dictionaries/fi/number.txt +1 -0
- package/resources/libpostal/dictionaries/fi/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/fi/qualifiers.txt +2 -0
- package/resources/libpostal/dictionaries/fi/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/fi/stopwords.txt +1 -0
- package/resources/libpostal/dictionaries/fi/street_types.txt +20 -0
- package/resources/libpostal/dictionaries/fi/synonyms.txt +1 -0
- package/resources/libpostal/dictionaries/fi/unit_directions.txt +4 -0
- package/resources/libpostal/dictionaries/fi/unit_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/fil/street_types.txt +3 -0
- package/resources/libpostal/dictionaries/fr/ambiguous_expansions.txt +25 -0
- package/resources/libpostal/dictionaries/fr/building_types.txt +4 -0
- package/resources/libpostal/dictionaries/fr/chains.txt +2 -0
- package/resources/libpostal/dictionaries/fr/company_types.txt +40 -0
- package/resources/libpostal/dictionaries/fr/cross_streets.txt +5 -0
- package/resources/libpostal/dictionaries/fr/directionals.txt +12 -0
- package/resources/libpostal/dictionaries/fr/elisions.txt +9 -0
- package/resources/libpostal/dictionaries/fr/entrances.txt +2 -0
- package/resources/libpostal/dictionaries/fr/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/fr/level_types_mezzanine.txt +1 -0
- package/resources/libpostal/dictionaries/fr/level_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/fr/level_types_standalone.txt +8 -0
- package/resources/libpostal/dictionaries/fr/level_types_sub_basement.txt +1 -0
- package/resources/libpostal/dictionaries/fr/near.txt +20 -0
- package/resources/libpostal/dictionaries/fr/no_number.txt +1 -0
- package/resources/libpostal/dictionaries/fr/number.txt +1 -0
- package/resources/libpostal/dictionaries/fr/people.txt +1 -0
- package/resources/libpostal/dictionaries/fr/personal_titles.txt +57 -0
- package/resources/libpostal/dictionaries/fr/place_names.txt +147 -0
- package/resources/libpostal/dictionaries/fr/post_office.txt +3 -0
- package/resources/libpostal/dictionaries/fr/qualifiers.txt +19 -0
- package/resources/libpostal/dictionaries/fr/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/fr/stopwords.txt +28 -0
- package/resources/libpostal/dictionaries/fr/street_types.txt +165 -0
- package/resources/libpostal/dictionaries/fr/synonyms.txt +14 -0
- package/resources/libpostal/dictionaries/fr/toponyms.txt +13 -0
- package/resources/libpostal/dictionaries/fr/unit_directions.txt +4 -0
- package/resources/libpostal/dictionaries/fr/unit_types_numbered.txt +10 -0
- package/resources/libpostal/dictionaries/ga/building_types.txt +16 -0
- package/resources/libpostal/dictionaries/ga/level_types_standalone.txt +1 -0
- package/resources/libpostal/dictionaries/ga/personal_titles.txt +1 -0
- package/resources/libpostal/dictionaries/ga/place_names.txt +10 -0
- package/resources/libpostal/dictionaries/ga/street_types.txt +95 -0
- package/resources/libpostal/dictionaries/ga/unit_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/gd/building_types.txt +8 -0
- package/resources/libpostal/dictionaries/gd/directionals.txt +6 -0
- package/resources/libpostal/dictionaries/gd/place_names.txt +7 -0
- package/resources/libpostal/dictionaries/gd/qualifiers.txt +1 -0
- package/resources/libpostal/dictionaries/gd/stopwords.txt +2 -0
- package/resources/libpostal/dictionaries/gd/street_types.txt +52 -0
- package/resources/libpostal/dictionaries/gl/ambiguous_expansions.txt +6 -0
- package/resources/libpostal/dictionaries/gl/directionals.txt +8 -0
- package/resources/libpostal/dictionaries/gl/personal_titles.txt +2 -0
- package/resources/libpostal/dictionaries/gl/stopwords.txt +39 -0
- package/resources/libpostal/dictionaries/gl/street_types.txt +26 -0
- package/resources/libpostal/dictionaries/gl/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/gsw/ambiguous_expansions.txt +1 -0
- package/resources/libpostal/dictionaries/gsw/concatenated_suffixes_separable.txt +8 -0
- package/resources/libpostal/dictionaries/gsw/street_types.txt +8 -0
- package/resources/libpostal/dictionaries/he/entrances.txt +2 -0
- package/resources/libpostal/dictionaries/he/level_types_basement.txt +2 -0
- package/resources/libpostal/dictionaries/he/level_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/he/level_types_standalone.txt +2 -0
- package/resources/libpostal/dictionaries/he/personal_titles.txt +2 -0
- package/resources/libpostal/dictionaries/he/post_office.txt +2 -0
- package/resources/libpostal/dictionaries/he/street_types.txt +8 -0
- package/resources/libpostal/dictionaries/he/unit_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/hi/street_types.txt +3 -0
- package/resources/libpostal/dictionaries/hr/ambiguous_expansions.txt +6 -0
- package/resources/libpostal/dictionaries/hr/building_types.txt +1 -0
- package/resources/libpostal/dictionaries/hr/cross_streets.txt +6 -0
- package/resources/libpostal/dictionaries/hr/directionals.txt +4 -0
- package/resources/libpostal/dictionaries/hr/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/hr/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/hr/level_types_mezzanine.txt +1 -0
- package/resources/libpostal/dictionaries/hr/level_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/hr/level_types_standalone.txt +2 -0
- package/resources/libpostal/dictionaries/hr/near.txt +5 -0
- package/resources/libpostal/dictionaries/hr/no_number.txt +1 -0
- package/resources/libpostal/dictionaries/hr/personal_titles.txt +6 -0
- package/resources/libpostal/dictionaries/hr/place_names.txt +18 -0
- package/resources/libpostal/dictionaries/hr/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/hr/qualifiers.txt +1 -0
- package/resources/libpostal/dictionaries/hr/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/hr/stopwords.txt +1 -0
- package/resources/libpostal/dictionaries/hr/street_types.txt +12 -0
- package/resources/libpostal/dictionaries/hr/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/hr/unit_types_numbered.txt +4 -0
- package/resources/libpostal/dictionaries/hu/ambiguous_expansions.txt +6 -0
- package/resources/libpostal/dictionaries/hu/cross_streets.txt +5 -0
- package/resources/libpostal/dictionaries/hu/directionals.txt +8 -0
- package/resources/libpostal/dictionaries/hu/level_types_basement.txt +4 -0
- package/resources/libpostal/dictionaries/hu/level_types_mezzanine.txt +2 -0
- package/resources/libpostal/dictionaries/hu/level_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/hu/level_types_standalone.txt +1 -0
- package/resources/libpostal/dictionaries/hu/near.txt +3 -0
- package/resources/libpostal/dictionaries/hu/number.txt +1 -0
- package/resources/libpostal/dictionaries/hu/personal_titles.txt +1 -0
- package/resources/libpostal/dictionaries/hu/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/hu/stopwords.txt +4 -0
- package/resources/libpostal/dictionaries/hu/street_types.txt +21 -0
- package/resources/libpostal/dictionaries/hu/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/hu/unit_types_numbered.txt +3 -0
- package/resources/libpostal/dictionaries/id/academic_degrees.txt +78 -0
- package/resources/libpostal/dictionaries/id/ambiguous_expansions.txt +64 -0
- package/resources/libpostal/dictionaries/id/building_types.txt +7 -0
- package/resources/libpostal/dictionaries/id/chains.txt +5 -0
- package/resources/libpostal/dictionaries/id/company_types.txt +15 -0
- package/resources/libpostal/dictionaries/id/cross_streets.txt +6 -0
- package/resources/libpostal/dictionaries/id/directionals.txt +9 -0
- package/resources/libpostal/dictionaries/id/entrances.txt +3 -0
- package/resources/libpostal/dictionaries/id/level_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/id/level_types_standalone.txt +3 -0
- package/resources/libpostal/dictionaries/id/near.txt +3 -0
- package/resources/libpostal/dictionaries/id/number.txt +1 -0
- package/resources/libpostal/dictionaries/id/personal_titles.txt +34 -0
- package/resources/libpostal/dictionaries/id/place_names.txt +145 -0
- package/resources/libpostal/dictionaries/id/qualifiers.txt +13 -0
- package/resources/libpostal/dictionaries/id/stopwords.txt +9 -0
- package/resources/libpostal/dictionaries/id/street_types.txt +7 -0
- package/resources/libpostal/dictionaries/id/synonyms.txt +22 -0
- package/resources/libpostal/dictionaries/id/toponyms.txt +34 -0
- package/resources/libpostal/dictionaries/id/unit_directions.txt +4 -0
- package/resources/libpostal/dictionaries/id/unit_types_numbered.txt +16 -0
- package/resources/libpostal/dictionaries/id/unit_types_standalone.txt +9 -0
- package/resources/libpostal/dictionaries/is/ambiguous_expansions.txt +6 -0
- package/resources/libpostal/dictionaries/is/concatenated_suffixes_inseparable.txt +29 -0
- package/resources/libpostal/dictionaries/is/cross_streets.txt +4 -0
- package/resources/libpostal/dictionaries/is/directionals.txt +4 -0
- package/resources/libpostal/dictionaries/is/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/is/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/is/level_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/is/level_types_standalone.txt +1 -0
- package/resources/libpostal/dictionaries/is/near.txt +6 -0
- package/resources/libpostal/dictionaries/is/number.txt +1 -0
- package/resources/libpostal/dictionaries/is/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/is/qualifiers.txt +2 -0
- package/resources/libpostal/dictionaries/is/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/is/stopwords.txt +1 -0
- package/resources/libpostal/dictionaries/is/street_types.txt +29 -0
- package/resources/libpostal/dictionaries/is/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/is/unit_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/it/academic_degrees.txt +1 -0
- package/resources/libpostal/dictionaries/it/ambiguous_expansions.txt +8 -0
- package/resources/libpostal/dictionaries/it/building_types.txt +5 -0
- package/resources/libpostal/dictionaries/it/chains.txt +5 -0
- package/resources/libpostal/dictionaries/it/company_types.txt +16 -0
- package/resources/libpostal/dictionaries/it/cross_streets.txt +7 -0
- package/resources/libpostal/dictionaries/it/directionals.txt +11 -0
- package/resources/libpostal/dictionaries/it/elisions.txt +4 -0
- package/resources/libpostal/dictionaries/it/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/it/level_types_basement.txt +2 -0
- package/resources/libpostal/dictionaries/it/level_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/it/level_types_standalone.txt +2 -0
- package/resources/libpostal/dictionaries/it/near.txt +10 -0
- package/resources/libpostal/dictionaries/it/no_number.txt +2 -0
- package/resources/libpostal/dictionaries/it/number.txt +1 -0
- package/resources/libpostal/dictionaries/it/personal_titles.txt +72 -0
- package/resources/libpostal/dictionaries/it/place_names.txt +203 -0
- package/resources/libpostal/dictionaries/it/post_office.txt +2 -0
- package/resources/libpostal/dictionaries/it/qualifiers.txt +16 -0
- package/resources/libpostal/dictionaries/it/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/it/stopwords.txt +47 -0
- package/resources/libpostal/dictionaries/it/street_types.txt +151 -0
- package/resources/libpostal/dictionaries/it/synonyms.txt +115 -0
- package/resources/libpostal/dictionaries/it/toponyms.txt +110 -0
- package/resources/libpostal/dictionaries/it/unit_types_numbered.txt +9 -0
- package/resources/libpostal/dictionaries/ja/ambiguous_expansions.txt +5 -0
- package/resources/libpostal/dictionaries/ja/building_types.txt +6 -0
- package/resources/libpostal/dictionaries/ja/chains.txt +27 -0
- package/resources/libpostal/dictionaries/ja/directionals.txt +16 -0
- package/resources/libpostal/dictionaries/ja/level_types_numbered.txt +3 -0
- package/resources/libpostal/dictionaries/ja/number.txt +2 -0
- package/resources/libpostal/dictionaries/ja/place_names.txt +16 -0
- package/resources/libpostal/dictionaries/ja/post_office.txt +2 -0
- package/resources/libpostal/dictionaries/ja/postcodes.txt +2 -0
- package/resources/libpostal/dictionaries/ja/qualifiers.txt +38 -0
- package/resources/libpostal/dictionaries/ja/street_types.txt +67 -0
- package/resources/libpostal/dictionaries/ka/ambiguous_expansions.txt +2 -0
- package/resources/libpostal/dictionaries/ka/personal_titles.txt +4 -0
- package/resources/libpostal/dictionaries/ka/place_names.txt +7 -0
- package/resources/libpostal/dictionaries/ka/stopwords.txt +1 -0
- package/resources/libpostal/dictionaries/ka/street_types.txt +12 -0
- package/resources/libpostal/dictionaries/ko/directionals.txt +31 -0
- package/resources/libpostal/dictionaries/ko/level_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/ko/number.txt +3 -0
- package/resources/libpostal/dictionaries/ko/post_office.txt +2 -0
- package/resources/libpostal/dictionaries/ko/postcodes.txt +2 -0
- package/resources/libpostal/dictionaries/ko/qualifiers.txt +6 -0
- package/resources/libpostal/dictionaries/ko/street_types.txt +8 -0
- package/resources/libpostal/dictionaries/lb/concatenated_suffixes_separable.txt +3 -0
- package/resources/libpostal/dictionaries/lb/street_types.txt +3 -0
- package/resources/libpostal/dictionaries/lt/ambiguous_expansions.txt +6 -0
- package/resources/libpostal/dictionaries/lt/building_types.txt +1 -0
- package/resources/libpostal/dictionaries/lt/cross_streets.txt +4 -0
- package/resources/libpostal/dictionaries/lt/directionals.txt +4 -0
- package/resources/libpostal/dictionaries/lt/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/lt/level_types_basement.txt +2 -0
- package/resources/libpostal/dictionaries/lt/level_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/lt/level_types_standalone.txt +1 -0
- package/resources/libpostal/dictionaries/lt/number.txt +1 -0
- package/resources/libpostal/dictionaries/lt/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/lt/qualifiers.txt +5 -0
- package/resources/libpostal/dictionaries/lt/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/lt/stopwords.txt +1 -0
- package/resources/libpostal/dictionaries/lt/street_types.txt +7 -0
- package/resources/libpostal/dictionaries/lt/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/lt/unit_types_numbered.txt +3 -0
- package/resources/libpostal/dictionaries/lv/ambiguous_expansions.txt +6 -0
- package/resources/libpostal/dictionaries/lv/cross_streets.txt +5 -0
- package/resources/libpostal/dictionaries/lv/directionals.txt +4 -0
- package/resources/libpostal/dictionaries/lv/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/lv/level_types_basement.txt +2 -0
- package/resources/libpostal/dictionaries/lv/level_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/lv/level_types_standalone.txt +1 -0
- package/resources/libpostal/dictionaries/lv/number.txt +1 -0
- package/resources/libpostal/dictionaries/lv/place_names.txt +2 -0
- package/resources/libpostal/dictionaries/lv/staircases.txt +2 -0
- package/resources/libpostal/dictionaries/lv/stopwords.txt +1 -0
- package/resources/libpostal/dictionaries/lv/street_types.txt +5 -0
- package/resources/libpostal/dictionaries/lv/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/lv/unit_types_numbered.txt +3 -0
- package/resources/libpostal/dictionaries/ms/ambiguous_expansions.txt +1 -0
- package/resources/libpostal/dictionaries/ms/building_types.txt +10 -0
- package/resources/libpostal/dictionaries/ms/company_types.txt +8 -0
- package/resources/libpostal/dictionaries/ms/directionals.txt +9 -0
- package/resources/libpostal/dictionaries/ms/given_names.txt +3 -0
- package/resources/libpostal/dictionaries/ms/level_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/ms/personal_titles.txt +92 -0
- package/resources/libpostal/dictionaries/ms/place_names.txt +145 -0
- package/resources/libpostal/dictionaries/ms/post_office.txt +3 -0
- package/resources/libpostal/dictionaries/ms/qualifiers.txt +6 -0
- package/resources/libpostal/dictionaries/ms/stopwords.txt +1 -0
- package/resources/libpostal/dictionaries/ms/street_types.txt +35 -0
- package/resources/libpostal/dictionaries/ms/synonyms.txt +27 -0
- package/resources/libpostal/dictionaries/mt/ambiguous_expansions.txt +1 -0
- package/resources/libpostal/dictionaries/mt/number.txt +1 -0
- package/resources/libpostal/dictionaries/mt/personal_titles.txt +6 -0
- package/resources/libpostal/dictionaries/mt/place_names.txt +1 -0
- package/resources/libpostal/dictionaries/mt/stopwords.txt +5 -0
- package/resources/libpostal/dictionaries/mt/street_types.txt +6 -0
- package/resources/libpostal/dictionaries/nb/ambiguous_expansions.txt +11 -0
- package/resources/libpostal/dictionaries/nb/building_types.txt +3 -0
- package/resources/libpostal/dictionaries/nb/concatenated_suffixes_inseparable.txt +13 -0
- package/resources/libpostal/dictionaries/nb/concatenated_suffixes_separable.txt +6 -0
- package/resources/libpostal/dictionaries/nb/cross_streets.txt +5 -0
- package/resources/libpostal/dictionaries/nb/directionals.txt +13 -0
- package/resources/libpostal/dictionaries/nb/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/nb/level_types_numbered.txt +5 -0
- package/resources/libpostal/dictionaries/nb/near.txt +7 -0
- package/resources/libpostal/dictionaries/nb/number.txt +1 -0
- package/resources/libpostal/dictionaries/nb/personal_titles.txt +1 -0
- package/resources/libpostal/dictionaries/nb/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/nb/staircases.txt +2 -0
- package/resources/libpostal/dictionaries/nb/stopwords.txt +34 -0
- package/resources/libpostal/dictionaries/nb/street_types.txt +20 -0
- package/resources/libpostal/dictionaries/nb/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/nb/unit_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/nl/ambiguous_expansions.txt +10 -0
- package/resources/libpostal/dictionaries/nl/building_types.txt +1 -0
- package/resources/libpostal/dictionaries/nl/chains.txt +1 -0
- package/resources/libpostal/dictionaries/nl/concatenated_suffixes_inseparable.txt +3 -0
- package/resources/libpostal/dictionaries/nl/concatenated_suffixes_separable.txt +13 -0
- package/resources/libpostal/dictionaries/nl/cross_streets.txt +4 -0
- package/resources/libpostal/dictionaries/nl/directionals.txt +20 -0
- package/resources/libpostal/dictionaries/nl/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/nl/level_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/nl/level_types_standalone.txt +5 -0
- package/resources/libpostal/dictionaries/nl/near.txt +7 -0
- package/resources/libpostal/dictionaries/nl/number.txt +1 -0
- package/resources/libpostal/dictionaries/nl/personal_titles.txt +32 -0
- package/resources/libpostal/dictionaries/nl/place_names.txt +81 -0
- package/resources/libpostal/dictionaries/nl/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/nl/qualifiers.txt +4 -0
- package/resources/libpostal/dictionaries/nl/staircases.txt +2 -0
- package/resources/libpostal/dictionaries/nl/stopwords.txt +38 -0
- package/resources/libpostal/dictionaries/nl/street_types.txt +22 -0
- package/resources/libpostal/dictionaries/nl/synonyms.txt +2 -0
- package/resources/libpostal/dictionaries/nl/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/nl/unit_types_numbered.txt +3 -0
- package/resources/libpostal/dictionaries/oc/elisions.txt +1 -0
- package/resources/libpostal/dictionaries/oc/stopwords.txt +14 -0
- package/resources/libpostal/dictionaries/oc/street_types.txt +5 -0
- package/resources/libpostal/dictionaries/pap/personal_titles.txt +2 -0
- package/resources/libpostal/dictionaries/pap/street_types.txt +2 -0
- package/resources/libpostal/dictionaries/pl/academic_degrees.txt +2 -0
- package/resources/libpostal/dictionaries/pl/ambiguous_expansions.txt +9 -0
- package/resources/libpostal/dictionaries/pl/building_types.txt +1 -0
- package/resources/libpostal/dictionaries/pl/chains.txt +3 -0
- package/resources/libpostal/dictionaries/pl/company_types.txt +4 -0
- package/resources/libpostal/dictionaries/pl/cross_streets.txt +6 -0
- package/resources/libpostal/dictionaries/pl/directionals.txt +8 -0
- package/resources/libpostal/dictionaries/pl/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/pl/house_numbers.txt +1 -0
- package/resources/libpostal/dictionaries/pl/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/pl/level_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/pl/level_types_standalone.txt +1 -0
- package/resources/libpostal/dictionaries/pl/near.txt +11 -0
- package/resources/libpostal/dictionaries/pl/number.txt +1 -0
- package/resources/libpostal/dictionaries/pl/personal_suffixes.txt +2 -0
- package/resources/libpostal/dictionaries/pl/personal_titles.txt +54 -0
- package/resources/libpostal/dictionaries/pl/place_names.txt +31 -0
- package/resources/libpostal/dictionaries/pl/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/pl/qualifiers.txt +9 -0
- package/resources/libpostal/dictionaries/pl/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/pl/stopwords.txt +3 -0
- package/resources/libpostal/dictionaries/pl/street_types.txt +12 -0
- package/resources/libpostal/dictionaries/pl/synonyms.txt +19 -0
- package/resources/libpostal/dictionaries/pl/toponyms.txt +1 -0
- package/resources/libpostal/dictionaries/pl/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/pl/unit_types_numbered.txt +2 -0
- package/resources/libpostal/dictionaries/pt/ambiguous_expansions.txt +12 -0
- package/resources/libpostal/dictionaries/pt/building_types.txt +7 -0
- package/resources/libpostal/dictionaries/pt/company_types.txt +31 -0
- package/resources/libpostal/dictionaries/pt/cross_streets.txt +8 -0
- package/resources/libpostal/dictionaries/pt/directionals.txt +8 -0
- package/resources/libpostal/dictionaries/pt/elisions.txt +1 -0
- package/resources/libpostal/dictionaries/pt/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/pt/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/pt/level_types_mezzanine.txt +1 -0
- package/resources/libpostal/dictionaries/pt/level_types_numbered.txt +3 -0
- package/resources/libpostal/dictionaries/pt/level_types_standalone.txt +5 -0
- package/resources/libpostal/dictionaries/pt/level_types_sub_basement.txt +1 -0
- package/resources/libpostal/dictionaries/pt/near.txt +13 -0
- package/resources/libpostal/dictionaries/pt/no_number.txt +1 -0
- package/resources/libpostal/dictionaries/pt/number.txt +1 -0
- package/resources/libpostal/dictionaries/pt/personal_suffixes.txt +3 -0
- package/resources/libpostal/dictionaries/pt/personal_titles.txt +101 -0
- package/resources/libpostal/dictionaries/pt/place_names.txt +52 -0
- package/resources/libpostal/dictionaries/pt/post_office.txt +2 -0
- package/resources/libpostal/dictionaries/pt/postcodes.txt +2 -0
- package/resources/libpostal/dictionaries/pt/qualifiers.txt +8 -0
- package/resources/libpostal/dictionaries/pt/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/pt/stopwords.txt +35 -0
- package/resources/libpostal/dictionaries/pt/street_types.txt +53 -0
- package/resources/libpostal/dictionaries/pt/synonyms.txt +21 -0
- package/resources/libpostal/dictionaries/pt/toponyms.txt +28 -0
- package/resources/libpostal/dictionaries/pt/unit_directions.txt +4 -0
- package/resources/libpostal/dictionaries/pt/unit_types_numbered.txt +10 -0
- package/resources/libpostal/dictionaries/pt/unit_types_standalone.txt +1 -0
- package/resources/libpostal/dictionaries/ro/ambiguous_expansions.txt +5 -0
- package/resources/libpostal/dictionaries/ro/cross_streets.txt +5 -0
- package/resources/libpostal/dictionaries/ro/directionals.txt +4 -0
- package/resources/libpostal/dictionaries/ro/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/ro/level_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/ro/level_types_standalone.txt +1 -0
- package/resources/libpostal/dictionaries/ro/near.txt +7 -0
- package/resources/libpostal/dictionaries/ro/no_number.txt +1 -0
- package/resources/libpostal/dictionaries/ro/number.txt +1 -0
- package/resources/libpostal/dictionaries/ro/personal_titles.txt +14 -0
- package/resources/libpostal/dictionaries/ro/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/ro/qualifiers.txt +1 -0
- package/resources/libpostal/dictionaries/ro/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/ro/stopwords.txt +2 -0
- package/resources/libpostal/dictionaries/ro/street_types.txt +13 -0
- package/resources/libpostal/dictionaries/ro/unit_types_numbered.txt +4 -0
- package/resources/libpostal/dictionaries/ru/ambiguous_expansions.txt +18 -0
- package/resources/libpostal/dictionaries/ru/building_types.txt +2 -0
- package/resources/libpostal/dictionaries/ru/chains.txt +42 -0
- package/resources/libpostal/dictionaries/ru/company_types.txt +9 -0
- package/resources/libpostal/dictionaries/ru/cross_streets.txt +11 -0
- package/resources/libpostal/dictionaries/ru/directionals.txt +16 -0
- package/resources/libpostal/dictionaries/ru/entrances.txt +2 -0
- package/resources/libpostal/dictionaries/ru/house_numbers.txt +2 -0
- package/resources/libpostal/dictionaries/ru/level_types_basement.txt +4 -0
- package/resources/libpostal/dictionaries/ru/level_types_numbered.txt +4 -0
- package/resources/libpostal/dictionaries/ru/level_types_standalone.txt +4 -0
- package/resources/libpostal/dictionaries/ru/near.txt +26 -0
- package/resources/libpostal/dictionaries/ru/no_number.txt +1 -0
- package/resources/libpostal/dictionaries/ru/number.txt +2 -0
- package/resources/libpostal/dictionaries/ru/personal_titles.txt +6 -0
- package/resources/libpostal/dictionaries/ru/place_names.txt +160 -0
- package/resources/libpostal/dictionaries/ru/post_office.txt +2 -0
- package/resources/libpostal/dictionaries/ru/qualifiers.txt +31 -0
- package/resources/libpostal/dictionaries/ru/staircases.txt +2 -0
- package/resources/libpostal/dictionaries/ru/stopwords.txt +1 -0
- package/resources/libpostal/dictionaries/ru/street_types.txt +28 -0
- package/resources/libpostal/dictionaries/ru/unit_directions.txt +4 -0
- package/resources/libpostal/dictionaries/ru/unit_types_numbered.txt +10 -0
- package/resources/libpostal/dictionaries/si/place_names.txt +8 -0
- package/resources/libpostal/dictionaries/si/qualifiers.txt +4 -0
- package/resources/libpostal/dictionaries/si/street_types.txt +2 -0
- package/resources/libpostal/dictionaries/sk/ambiguous_expansions.txt +6 -0
- package/resources/libpostal/dictionaries/sk/cross_streets.txt +8 -0
- package/resources/libpostal/dictionaries/sk/directionals.txt +21 -0
- package/resources/libpostal/dictionaries/sk/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/sk/house_numbers.txt +1 -0
- package/resources/libpostal/dictionaries/sk/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/sk/level_types_numbered.txt +4 -0
- package/resources/libpostal/dictionaries/sk/level_types_standalone.txt +1 -0
- package/resources/libpostal/dictionaries/sk/near.txt +13 -0
- package/resources/libpostal/dictionaries/sk/number.txt +1 -0
- package/resources/libpostal/dictionaries/sk/personal_titles.txt +16 -0
- package/resources/libpostal/dictionaries/sk/place_names.txt +28 -0
- package/resources/libpostal/dictionaries/sk/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/sk/qualifiers.txt +3 -0
- package/resources/libpostal/dictionaries/sk/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/sk/stopwords.txt +29 -0
- package/resources/libpostal/dictionaries/sk/street_types.txt +20 -0
- package/resources/libpostal/dictionaries/sk/toponyms.txt +1 -0
- package/resources/libpostal/dictionaries/sk/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/sk/unit_types_numbered.txt +3 -0
- package/resources/libpostal/dictionaries/sl/ambiguous_expansions.txt +6 -0
- package/resources/libpostal/dictionaries/sl/chains.txt +1 -0
- package/resources/libpostal/dictionaries/sl/cross_streets.txt +5 -0
- package/resources/libpostal/dictionaries/sl/directionals.txt +4 -0
- package/resources/libpostal/dictionaries/sl/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/sl/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/sl/level_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/sl/level_types_standalone.txt +2 -0
- package/resources/libpostal/dictionaries/sl/near.txt +7 -0
- package/resources/libpostal/dictionaries/sl/no_number.txt +1 -0
- package/resources/libpostal/dictionaries/sl/number.txt +1 -0
- package/resources/libpostal/dictionaries/sl/personal_titles.txt +3 -0
- package/resources/libpostal/dictionaries/sl/place_names.txt +1 -0
- package/resources/libpostal/dictionaries/sl/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/sl/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/sl/stopwords.txt +7 -0
- package/resources/libpostal/dictionaries/sl/street_types.txt +4 -0
- package/resources/libpostal/dictionaries/sl/synonyms.txt +13 -0
- package/resources/libpostal/dictionaries/sl/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/sl/unit_types_numbered.txt +3 -0
- package/resources/libpostal/dictionaries/sr/ambiguous_expansions.txt +9 -0
- package/resources/libpostal/dictionaries/sr/cross_streets.txt +10 -0
- package/resources/libpostal/dictionaries/sr/directionals.txt +8 -0
- package/resources/libpostal/dictionaries/sr/entrances.txt +2 -0
- package/resources/libpostal/dictionaries/sr/level_types_basement.txt +2 -0
- package/resources/libpostal/dictionaries/sr/level_types_numbered.txt +6 -0
- package/resources/libpostal/dictionaries/sr/level_types_standalone.txt +4 -0
- package/resources/libpostal/dictionaries/sr/number.txt +2 -0
- package/resources/libpostal/dictionaries/sr/personal_titles.txt +14 -0
- package/resources/libpostal/dictionaries/sr/place_names.txt +12 -0
- package/resources/libpostal/dictionaries/sr/post_office.txt +6 -0
- package/resources/libpostal/dictionaries/sr/staircases.txt +2 -0
- package/resources/libpostal/dictionaries/sr/stopwords.txt +2 -0
- package/resources/libpostal/dictionaries/sr/street_types.txt +17 -0
- package/resources/libpostal/dictionaries/sr/unit_directions.txt +4 -0
- package/resources/libpostal/dictionaries/sr/unit_types_numbered.txt +8 -0
- package/resources/libpostal/dictionaries/sv/ambiguous_expansions.txt +9 -0
- package/resources/libpostal/dictionaries/sv/company_types.txt +4 -0
- package/resources/libpostal/dictionaries/sv/concatenated_suffixes_inseparable.txt +5 -0
- package/resources/libpostal/dictionaries/sv/concatenated_suffixes_separable.txt +8 -0
- package/resources/libpostal/dictionaries/sv/cross_streets.txt +5 -0
- package/resources/libpostal/dictionaries/sv/directionals.txt +8 -0
- package/resources/libpostal/dictionaries/sv/entrances.txt +2 -0
- package/resources/libpostal/dictionaries/sv/level_types_numbered.txt +7 -0
- package/resources/libpostal/dictionaries/sv/level_types_standalone.txt +5 -0
- package/resources/libpostal/dictionaries/sv/near.txt +11 -0
- package/resources/libpostal/dictionaries/sv/number.txt +1 -0
- package/resources/libpostal/dictionaries/sv/personal_titles.txt +3 -0
- package/resources/libpostal/dictionaries/sv/post_office.txt +2 -0
- package/resources/libpostal/dictionaries/sv/staircases.txt +3 -0
- package/resources/libpostal/dictionaries/sv/stopwords.txt +25 -0
- package/resources/libpostal/dictionaries/sv/street_types.txt +13 -0
- package/resources/libpostal/dictionaries/sv/synonyms.txt +4 -0
- package/resources/libpostal/dictionaries/sv/unit_directions.txt +4 -0
- package/resources/libpostal/dictionaries/sv/unit_types_numbered.txt +5 -0
- package/resources/libpostal/dictionaries/th/chains.txt +2 -0
- package/resources/libpostal/dictionaries/th/street_types.txt +10 -0
- package/resources/libpostal/dictionaries/tr/ambiguous_expansions.txt +5 -0
- package/resources/libpostal/dictionaries/tr/chains.txt +1 -0
- package/resources/libpostal/dictionaries/tr/cross_streets.txt +4 -0
- package/resources/libpostal/dictionaries/tr/directionals.txt +4 -0
- package/resources/libpostal/dictionaries/tr/entrances.txt +1 -0
- package/resources/libpostal/dictionaries/tr/level_types_basement.txt +1 -0
- package/resources/libpostal/dictionaries/tr/level_types_mezzanine.txt +1 -0
- package/resources/libpostal/dictionaries/tr/level_types_numbered.txt +1 -0
- package/resources/libpostal/dictionaries/tr/level_types_standalone.txt +1 -0
- package/resources/libpostal/dictionaries/tr/number.txt +2 -0
- package/resources/libpostal/dictionaries/tr/personal_titles.txt +4 -0
- package/resources/libpostal/dictionaries/tr/place_names.txt +2 -0
- package/resources/libpostal/dictionaries/tr/post_office.txt +1 -0
- package/resources/libpostal/dictionaries/tr/qualifiers.txt +5 -0
- package/resources/libpostal/dictionaries/tr/staircases.txt +1 -0
- package/resources/libpostal/dictionaries/tr/stopwords.txt +1 -0
- package/resources/libpostal/dictionaries/tr/street_types.txt +10 -0
- package/resources/libpostal/dictionaries/tr/unit_directions.txt +2 -0
- package/resources/libpostal/dictionaries/tr/unit_types_numbered.txt +4 -0
- package/resources/libpostal/dictionaries/uk/ambiguous_expansions.txt +8 -0
- package/resources/libpostal/dictionaries/uk/chains.txt +7 -0
- package/resources/libpostal/dictionaries/uk/cross_streets.txt +10 -0
- package/resources/libpostal/dictionaries/uk/directionals.txt +8 -0
- package/resources/libpostal/dictionaries/uk/entrances.txt +2 -0
- package/resources/libpostal/dictionaries/uk/house_numbers.txt +4 -0
- package/resources/libpostal/dictionaries/uk/level_types_basement.txt +4 -0
- package/resources/libpostal/dictionaries/uk/level_types_numbered.txt +4 -0
- package/resources/libpostal/dictionaries/uk/level_types_standalone.txt +4 -0
- package/resources/libpostal/dictionaries/uk/near.txt +24 -0
- package/resources/libpostal/dictionaries/uk/number.txt +2 -0
- package/resources/libpostal/dictionaries/uk/personal_titles.txt +9 -0
- package/resources/libpostal/dictionaries/uk/place_names.txt +161 -0
- package/resources/libpostal/dictionaries/uk/post_office.txt +2 -0
- package/resources/libpostal/dictionaries/uk/qualifiers.txt +8 -0
- package/resources/libpostal/dictionaries/uk/staircases.txt +2 -0
- package/resources/libpostal/dictionaries/uk/stopwords.txt +2 -0
- package/resources/libpostal/dictionaries/uk/street_types.txt +26 -0
- package/resources/libpostal/dictionaries/uk/unit_directions.txt +4 -0
- package/resources/libpostal/dictionaries/uk/unit_types_numbered.txt +10 -0
- package/resources/libpostal/dictionaries/ur/street_types.txt +7 -0
- package/resources/libpostal/dictionaries/vi/ambiguous_expansions.txt +3 -0
- package/resources/libpostal/dictionaries/vi/personal_titles.txt +1 -0
- package/resources/libpostal/dictionaries/vi/place_names.txt +29 -0
- package/resources/libpostal/dictionaries/vi/qualifiers.txt +5 -0
- package/resources/libpostal/dictionaries/vi/street_types.txt +10 -0
- package/resources/libpostal/dictionaries/zh/building_types.txt +2 -0
- package/resources/libpostal/dictionaries/zh/chains.txt +2 -0
- package/resources/libpostal/dictionaries/zh/directionals.txt +20 -0
- package/resources/libpostal/dictionaries/zh/level_types_numbered.txt +5 -0
- package/resources/libpostal/dictionaries/zh/number.txt +3 -0
- package/resources/libpostal/dictionaries/zh/place_names.txt +2 -0
- package/resources/libpostal/dictionaries/zh/post_office.txt +3 -0
- package/resources/libpostal/dictionaries/zh/postcodes.txt +3 -0
- package/resources/libpostal/dictionaries/zh/qualifiers.txt +19 -0
- package/resources/libpostal/dictionaries/zh/stopwords.txt +2 -0
- package/resources/libpostal/dictionaries/zh/street_types.txt +30 -0
- package/resources/libpostal/dictionaries/zh/unit_types_numbered.txt +2 -0
- package/resources/libpostal/libpostal.test.ts +325 -0
- package/resources/libpostal/libpostal.ts +106 -0
- package/resources/libpostal/resources-download.sh +8 -0
- package/resources/pelias/dictionaries/libpostal/af/personal_titles.txt +2 -0
- package/resources/pelias/dictionaries/libpostal/all/surnames.txt +1 -0
- package/resources/pelias/dictionaries/libpostal/de/concatenated_suffixes_separable.txt +3 -0
- package/resources/pelias/dictionaries/libpostal/de/place_names.txt +1 -0
- package/resources/pelias/dictionaries/libpostal/de/street_types.txt +2 -0
- package/resources/pelias/dictionaries/libpostal/en/place_names.txt +7 -0
- package/resources/pelias/dictionaries/libpostal/en/road_types.txt +18 -0
- package/resources/pelias/dictionaries/libpostal/en/street_names.txt +2 -0
- package/resources/pelias/dictionaries/libpostal/en/street_types.txt +16 -0
- package/resources/pelias/dictionaries/libpostal/en/unit_types_numbered.txt +3 -0
- package/resources/pelias/dictionaries/libpostal/es/street_types.txt +2 -0
- package/resources/pelias/dictionaries/libpostal/fr/personal_titles.txt +4 -0
- package/resources/pelias/dictionaries/libpostal/fr/street_types.txt +5 -0
- package/resources/pelias/dictionaries/libpostal/it/street_types.txt +2 -0
- package/resources/pelias/dictionaries/libpostal/ko/street_types.txt +1 -0
- package/resources/pelias/dictionaries/libpostal/nb/concatenated_suffixes_inseparable.txt +40 -0
- package/resources/pelias/dictionaries/libpostal/nb/directionals.txt +8 -0
- package/resources/pelias/dictionaries/libpostal/nb/street_types.txt +36 -0
- package/resources/pelias/dictionaries/libpostal/nl/concatenated_suffixes_inseparable.txt +1 -0
- package/resources/pelias/dictionaries/libpostal/nl/concatenated_suffixes_separable.txt +8 -0
- package/resources/pelias/dictionaries/libpostal/nl/directionals.txt +4 -0
- package/resources/pelias/dictionaries/libpostal/nl/personal_suffixes.txt +4 -0
- package/resources/pelias/dictionaries/libpostal/nl/personal_titles.txt +43 -0
- package/resources/pelias/dictionaries/libpostal/pl/place_names.txt +1 -0
- package/resources/pelias/dictionaries/libpostal/pl/synonyms.txt +1 -0
- package/resources/pelias/dictionaries/libpostal/sv/concatenated_suffixes_separable.txt +1 -0
- package/resources/pelias/dictionaries/whosonfirst/locality/name:eng_x_preferred.txt +81 -0
- package/resources/pelias/dictionaries/whosonfirst/locality/name:fra_x_preferred.txt +2 -0
- package/resources/pelias/dictionaries/whosonfirst/region/name:eng_x_preferred.txt +2 -0
- package/resources/pelias/pelias.ts +12 -0
- package/resources/whosonfirst/dictionaries/country/name:eng_x_preferred.txt +220 -0
- package/resources/whosonfirst/dictionaries/country/wof:country.txt +215 -0
- package/resources/whosonfirst/dictionaries/country/wof:country_alpha3.txt +216 -0
- package/resources/whosonfirst/dictionaries/dependency/name:eng_x_preferred.txt +42 -0
- package/resources/whosonfirst/dictionaries/dependency/wof:shortcode.txt +34 -0
- package/resources/whosonfirst/dictionaries/locality/name:eng_x_preferred.txt +261365 -0
- package/resources/whosonfirst/dictionaries/locality/name:fra_x_preferred.txt +77631 -0
- package/resources/whosonfirst/dictionaries/region/abrv:eng_x_preferred.txt +441 -0
- package/resources/whosonfirst/dictionaries/region/name:eng_x_preferred.txt +4517 -0
- package/resources/whosonfirst/dictionaries/region/wof:shortcode.txt +839 -0
- package/resources/whosonfirst/generate.ts +135 -0
- package/resources/whosonfirst/placetypes.ts +47 -0
- package/resources/whosonfirst/whosonfirst.ts +79 -0
- package/sdk/repo.ts +66 -0
- package/sdk/test/utils/index.ts +42 -0
- package/server/index.ts +111 -0
- package/server/routes/parse.ts +62 -0
- package/server/static/index.html +279 -0
- package/server/types/locals.d.ts +19 -0
- package/solver/ExclusiveCartesianSolver.ts +74 -0
- package/solver/HouseNumberPositionPenalty.ts +80 -0
- package/solver/InvalidSolutionFilter.ts +34 -0
- package/solver/LeadingAreaDeclassifier.ts +41 -0
- package/solver/MultiStreetSolver.ts +142 -0
- package/solver/MustNotFollowFilter.test.ts +38 -0
- package/solver/MustNotFollowFilter.ts +39 -0
- package/solver/MustNotPreceedFilter.test.ts +38 -0
- package/solver/MustNotPreceedFilter.ts +39 -0
- package/solver/OrphanedLevelTypeDeclassifier.ts +30 -0
- package/solver/OrphanedUnitTypeDeclassifier.test.ts +70 -0
- package/solver/OrphanedUnitTypeDeclassifier.ts +32 -0
- package/solver/PostcodePositionPenalty.ts +49 -0
- package/solver/Solution.test.ts +46 -0
- package/solver/Solution.ts +151 -0
- package/solver/SolutionPair.ts +27 -0
- package/solver/SubsetFilter.test.ts +72 -0
- package/solver/SubsetFilter.ts +33 -0
- package/solver/TokenDistanceFilter.ts +38 -0
- package/solver/super/BaseSolver.ts +13 -0
- package/solver/super/HashMapSolver.ts +91 -0
- package/test/functional/address.aus.test.ts +57 -0
- package/test/functional/address.bra.test.ts +16 -0
- package/test/functional/address.cze.test.ts +88 -0
- package/test/functional/address.deu.test.ts +64 -0
- package/test/functional/address.esp.test.ts +14 -0
- package/test/functional/address.fra.test.ts +89 -0
- package/test/functional/address.gbr.test.ts +19 -0
- package/test/functional/address.hrv.test.ts +9 -0
- package/test/functional/address.ind.test.ts +15 -0
- package/test/functional/address.nld.test.ts +79 -0
- package/test/functional/address.nor.test.ts +25 -0
- package/test/functional/address.nzd.test.ts +63 -0
- package/test/functional/address.pol.test.ts +23 -0
- package/test/functional/address.prt.test.ts +47 -0
- package/test/functional/address.rom.test.ts +25 -0
- package/test/functional/address.svk.test.ts +14 -0
- package/test/functional/address.swe.test.ts +18 -0
- package/test/functional/address.usa.test.ts +284 -0
- package/test/functional/addressit.aus.test.ts +62 -0
- package/test/functional/addressit.usa.test.ts +117 -0
- package/test/functional/compound_street.test.ts +16 -0
- package/test/functional/functional.test.ts +80 -0
- package/test/functional/intersection.test.ts +410 -0
- package/test/functional/libpostal.test.ts +15 -0
- package/test/functional/place.fra.test.ts +107 -0
- package/test/functional/transit.test.ts +11 -0
- package/test/functional/venue.usa.test.ts +26 -0
- package/test/openaddresses.ts +136 -0
- package/tokenization/FST.test.ts +275 -0
- package/tokenization/FST.ts +163 -0
- package/tokenization/Graph.test.ts +182 -0
- package/tokenization/Graph.ts +96 -0
- package/tokenization/Span.test.ts +320 -0
- package/tokenization/Span.ts +172 -0
- package/tokenization/Tokenizer.test.ts +156 -0
- package/tokenization/Tokenizer.ts +83 -0
- package/tokenization/index.ts +11 -0
- package/tokenization/normalizer.test.ts +61 -0
- package/tokenization/normalizer.ts +38 -0
- package/tokenization/permutate.test.ts +368 -0
- package/tokenization/permutate.ts +97 -0
- package/tokenization/split.test.ts +84 -0
- package/tokenization/split.ts +54 -0
- package/tokenization/split_funcs.ts +45 -0
- package/tokenization/split_funcs_test.ts +38 -0
- package/tsconfig.json +11 -0
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en" ng-app="demo">
|
|
3
|
+
<head>
|
|
4
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
|
|
5
|
+
<script src="https://code.jquery.com/jquery-3.0.0.js"></script>
|
|
6
|
+
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
|
|
7
|
+
<link href="https://fonts.googleapis.com/css?family=Inconsolata" rel="stylesheet" />
|
|
8
|
+
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
|
9
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
|
|
10
|
+
<script src="https://unpkg.com/ansi_up@4.0.4/ansi_up.js"></script>
|
|
11
|
+
|
|
12
|
+
<style>
|
|
13
|
+
#table,
|
|
14
|
+
#table tbody,
|
|
15
|
+
#table tbody tr,
|
|
16
|
+
#table tbody tr td,
|
|
17
|
+
#table tbody tr th {
|
|
18
|
+
margin: 0;
|
|
19
|
+
padding: 0;
|
|
20
|
+
font-size: 20px;
|
|
21
|
+
font-family: "Inconsolata", monospace;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
#table {
|
|
25
|
+
border-collapse: separate;
|
|
26
|
+
border-spacing: 0.1em 0.4em;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.kb {
|
|
30
|
+
padding: 0.1em 0.4em !important;
|
|
31
|
+
border: 1px solid #ccc;
|
|
32
|
+
/* font-size:11px; */
|
|
33
|
+
/* font-family:Arial,Helvetica,sans-serif; */
|
|
34
|
+
background-color: #f7f7f7;
|
|
35
|
+
color: #333;
|
|
36
|
+
-moz-box-shadow:
|
|
37
|
+
0 1px 0px rgba(0, 0, 0, 0.2),
|
|
38
|
+
0 0 0 2px #ffffff inset;
|
|
39
|
+
-webkit-box-shadow:
|
|
40
|
+
0 1px 0px rgba(0, 0, 0, 0.2),
|
|
41
|
+
0 0 0 2px #ffffff inset;
|
|
42
|
+
box-shadow:
|
|
43
|
+
0 1px 0px rgba(0, 0, 0, 0.2),
|
|
44
|
+
0 0 0 2px #ffffff inset;
|
|
45
|
+
-moz-border-radius: 3px;
|
|
46
|
+
-webkit-border-radius: 3px;
|
|
47
|
+
border-radius: 3px;
|
|
48
|
+
/* display:inline-block; */
|
|
49
|
+
margin: 0 0.1em;
|
|
50
|
+
text-shadow: 0 1px 0 #fff;
|
|
51
|
+
/* line-height:1.4; */
|
|
52
|
+
white-space: nowrap;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
#table tbody tr th,
|
|
56
|
+
#table tbody tr td {
|
|
57
|
+
text-align: center;
|
|
58
|
+
text-overflow: clip;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
#table tbody tr td {
|
|
62
|
+
font-size: 10px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.score {
|
|
66
|
+
width: 80px;
|
|
67
|
+
display: block;
|
|
68
|
+
text-align: left;
|
|
69
|
+
background-color: #dedede;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.span {
|
|
73
|
+
background-color: rgb(223, 223, 223);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.span-street {
|
|
77
|
+
background-color: rgb(238, 193, 95);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.span-housenumber {
|
|
81
|
+
background-color: rgb(230, 134, 222);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.span-postcode {
|
|
85
|
+
background-color: rgb(134, 195, 230);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
#debug {
|
|
89
|
+
white-space: pre-wrap;
|
|
90
|
+
font-family: monospace;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
#debug span {
|
|
94
|
+
color: lightgrey;
|
|
95
|
+
display: inline-block;
|
|
96
|
+
}
|
|
97
|
+
</style>
|
|
98
|
+
|
|
99
|
+
<script>
|
|
100
|
+
function exec(args) {
|
|
101
|
+
$("#input").empty()
|
|
102
|
+
parse(args, function (results) {
|
|
103
|
+
results = results || []
|
|
104
|
+
|
|
105
|
+
// render results
|
|
106
|
+
render(results)
|
|
107
|
+
})
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function render(res) {
|
|
111
|
+
$("#input").empty()
|
|
112
|
+
$("#solutions").empty()
|
|
113
|
+
$("#table").empty()
|
|
114
|
+
$("#debug").empty()
|
|
115
|
+
|
|
116
|
+
// $('#input').html(JSON.stringify(res.input))
|
|
117
|
+
// $('#solutions').html(JSON.stringify(res.solutions))
|
|
118
|
+
|
|
119
|
+
var body = $("<tbody>")
|
|
120
|
+
|
|
121
|
+
// headings
|
|
122
|
+
var row = $("<tr>")
|
|
123
|
+
row.append($("<th>").addClass("score").text(""))
|
|
124
|
+
for (let characterIndex = res.input.start; characterIndex < res.input.end; characterIndex++) {
|
|
125
|
+
const cell = $("<th>")
|
|
126
|
+
let char = res.input.body.charAt(characterIndex)
|
|
127
|
+
if (char.trim().length > 0) {
|
|
128
|
+
cell.addClass("kb")
|
|
129
|
+
} else {
|
|
130
|
+
char = String.fromCharCode(160)
|
|
131
|
+
}
|
|
132
|
+
cell.text(char)
|
|
133
|
+
row.append(cell)
|
|
134
|
+
}
|
|
135
|
+
body.append(row)
|
|
136
|
+
|
|
137
|
+
// solutions
|
|
138
|
+
res.solutions.forEach(function (s) {
|
|
139
|
+
row = $("<tr>")
|
|
140
|
+
row.append(
|
|
141
|
+
$("<th>")
|
|
142
|
+
.addClass("score")
|
|
143
|
+
.text((s.score * 100).toFixed(1) + "%")
|
|
144
|
+
)
|
|
145
|
+
for (let i = res.input.start; i < res.input.end; i++) {
|
|
146
|
+
const cell = $("<td>")
|
|
147
|
+
|
|
148
|
+
var spanStart = false
|
|
149
|
+
var classification
|
|
150
|
+
for (var j = 0; j < s.classifications.length; j++) {
|
|
151
|
+
if (s.classifications[j].start === i) {
|
|
152
|
+
spanStart = true
|
|
153
|
+
classification = s.classifications[j]
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
if (spanStart) {
|
|
158
|
+
var covers = classification.end - classification.start
|
|
159
|
+
cell.attr("colspan", covers)
|
|
160
|
+
cell.addClass("span")
|
|
161
|
+
cell.addClass("span-" + classification.label)
|
|
162
|
+
cell.text(classification.label)
|
|
163
|
+
i += covers - 1
|
|
164
|
+
} else {
|
|
165
|
+
cell.text(String.fromCharCode(160))
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
row.append(cell)
|
|
169
|
+
}
|
|
170
|
+
body.append(row)
|
|
171
|
+
})
|
|
172
|
+
|
|
173
|
+
$("#table").append(body)
|
|
174
|
+
|
|
175
|
+
const debugHtml = new AnsiUp().ansi_to_html(res.debug)
|
|
176
|
+
$("#debug").html(debugHtml)
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
function request(url, params, cb) {
|
|
180
|
+
$.ajax({
|
|
181
|
+
url,
|
|
182
|
+
method: "GET",
|
|
183
|
+
data: params,
|
|
184
|
+
headers: { Accept: "application/json" },
|
|
185
|
+
}).done(cb)
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
function parse(args, cb) {
|
|
189
|
+
saveText(args.text)
|
|
190
|
+
request(
|
|
191
|
+
"/parser/parse",
|
|
192
|
+
{
|
|
193
|
+
...args,
|
|
194
|
+
debug: true,
|
|
195
|
+
},
|
|
196
|
+
cb
|
|
197
|
+
)
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
function saveText(text) {
|
|
201
|
+
if (window.localStorage) {
|
|
202
|
+
window.localStorage.setItem("text", text)
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
function loadText() {
|
|
207
|
+
let hash = window.location.hash
|
|
208
|
+
if (hash && hash.length) {
|
|
209
|
+
if (hash[0] === "#") {
|
|
210
|
+
hash = hash.slice(1)
|
|
211
|
+
}
|
|
212
|
+
if (hash.length) {
|
|
213
|
+
return decodeURIComponent(hash)
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
if (window.localStorage) {
|
|
218
|
+
var text = window.localStorage.getItem("text")
|
|
219
|
+
if (text) {
|
|
220
|
+
return text
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// default text
|
|
225
|
+
return "1389a County Road 42 IA"
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
$(document).ready(function () {
|
|
229
|
+
var liveMode = _.debounce(function () {
|
|
230
|
+
// if (e.which === 13) { return false; } // not for enter key
|
|
231
|
+
|
|
232
|
+
var args = { text: $("#text").val() }
|
|
233
|
+
exec(args)
|
|
234
|
+
|
|
235
|
+
// update location hash
|
|
236
|
+
window.location.hash = encodeURIComponent(args.text)
|
|
237
|
+
|
|
238
|
+
return false
|
|
239
|
+
}, 200)
|
|
240
|
+
|
|
241
|
+
// button / keyup event handlers
|
|
242
|
+
$("#search").on("submit", liveMode)
|
|
243
|
+
$("#search").on("keyup", liveMode)
|
|
244
|
+
|
|
245
|
+
$("#go").on("click", function () {
|
|
246
|
+
$("#search").submit()
|
|
247
|
+
return false
|
|
248
|
+
})
|
|
249
|
+
|
|
250
|
+
$("#text").val(loadText())
|
|
251
|
+
liveMode({})
|
|
252
|
+
})
|
|
253
|
+
</script>
|
|
254
|
+
</head>
|
|
255
|
+
|
|
256
|
+
<body>
|
|
257
|
+
<div style="margin: 20px">
|
|
258
|
+
<form id="search" action="">
|
|
259
|
+
<div class="row">
|
|
260
|
+
<div class="col-md-6">
|
|
261
|
+
<div class="input-group">
|
|
262
|
+
<input id="text" type="text" class="form-control" placeholder="Search for..." />
|
|
263
|
+
<span class="input-group-btn">
|
|
264
|
+
<button id="go" class="btn btn-default" type="button">Parse!</button>
|
|
265
|
+
</span>
|
|
266
|
+
</div>
|
|
267
|
+
|
|
268
|
+
<ul id="input" class="btn-group" role="group" style="margin-top: 10px; list-style: none"></ul>
|
|
269
|
+
<ul id="solutions" class="list-group" style="margin-top: 10px"></ul>
|
|
270
|
+
|
|
271
|
+
<table id="table"></table>
|
|
272
|
+
|
|
273
|
+
<div id="debug"></div>
|
|
274
|
+
</div>
|
|
275
|
+
</div>
|
|
276
|
+
</form>
|
|
277
|
+
</div>
|
|
278
|
+
</body>
|
|
279
|
+
</html>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright OpenISP, Inc.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { AddressParser } from "mailwoman"
|
|
8
|
+
|
|
9
|
+
declare global {
|
|
10
|
+
namespace Express {
|
|
11
|
+
interface Locals {
|
|
12
|
+
parser: {
|
|
13
|
+
address: AddressParser
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export {}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright OpenISP, Inc.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Tokenizer } from "../tokenization/Tokenizer.js"
|
|
8
|
+
import Solution from "./Solution.js"
|
|
9
|
+
import HashMapSolver from "./super/HashMapSolver.js"
|
|
10
|
+
const MAX_RECURSION = 10
|
|
11
|
+
const MAX_SOLUTIONS = 50000
|
|
12
|
+
|
|
13
|
+
class ExclusiveCartesianSolver extends HashMapSolver {
|
|
14
|
+
solve(tokenizer: Tokenizer) {
|
|
15
|
+
const map = this.generateHashMap(tokenizer, false, true)
|
|
16
|
+
const solutions = Array.from(map.values()).reverse()
|
|
17
|
+
|
|
18
|
+
const exclusiveSolutions = ExclusiveCartesianSolver.exclusiveCartesian(...solutions)
|
|
19
|
+
|
|
20
|
+
tokenizer.solutions = tokenizer.solutions.concat(exclusiveSolutions)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// compute the unique cartesian product
|
|
24
|
+
// (all permutations of non-overlapping tokens from different classifications)
|
|
25
|
+
static exclusiveCartesian(...args: Solution[]): Solution[] {
|
|
26
|
+
let r: Solution[] = []
|
|
27
|
+
|
|
28
|
+
const max = args.length - 1
|
|
29
|
+
|
|
30
|
+
if (!args.length) {
|
|
31
|
+
return r
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const helper = (currentSolution: Solution, solutionIndex: number) => {
|
|
35
|
+
const referencedSolution = args[solutionIndex]!
|
|
36
|
+
|
|
37
|
+
for (let pairIndex = 0, l = referencedSolution.pair.length; pairIndex < l; pairIndex++) {
|
|
38
|
+
const copy = currentSolution.copy() // clone solution
|
|
39
|
+
|
|
40
|
+
if (referencedSolution.pair[pairIndex]?.span.body.length) {
|
|
41
|
+
copy.pair.push(referencedSolution.pair[pairIndex]!)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (solutionIndex === max) {
|
|
45
|
+
if (copy.pair.length && r.length < MAX_SOLUTIONS) {
|
|
46
|
+
r.push(copy)
|
|
47
|
+
}
|
|
48
|
+
} else if (solutionIndex < MAX_RECURSION) {
|
|
49
|
+
helper(copy, solutionIndex + 1)
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
helper(new Solution(), 0)
|
|
54
|
+
|
|
55
|
+
// reverse order
|
|
56
|
+
r = r.reverse()
|
|
57
|
+
|
|
58
|
+
// do not add a pair where the span intersects an existing pair
|
|
59
|
+
r = r.filter((s) => {
|
|
60
|
+
return !s.pair.some((p1, i1) => {
|
|
61
|
+
return s.pair.some((p2, i2) => {
|
|
62
|
+
if (i2 <= i1) {
|
|
63
|
+
return false
|
|
64
|
+
}
|
|
65
|
+
return p1.span.intersects(p2.span)
|
|
66
|
+
})
|
|
67
|
+
})
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
return r
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export default ExclusiveCartesianSolver
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright OpenISP, Inc.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import HouseNumberClassification from "../classification/HouseNumberClassification.js"
|
|
8
|
+
import StreetClassification from "../classification/StreetClassification.js"
|
|
9
|
+
import { Tokenizer } from "../tokenization/Tokenizer.js"
|
|
10
|
+
import { Solver } from "./super/BaseSolver.js"
|
|
11
|
+
|
|
12
|
+
const basePenalty = 0.05
|
|
13
|
+
// https://github.com/pelias/api/blob/master/middleware/localNamingConventions.js
|
|
14
|
+
const numberLastLangs = new Map<string, number>([
|
|
15
|
+
["de", basePenalty],
|
|
16
|
+
["sl", basePenalty],
|
|
17
|
+
["pl", basePenalty],
|
|
18
|
+
["bs", basePenalty],
|
|
19
|
+
["hr", basePenalty],
|
|
20
|
+
["nl", basePenalty],
|
|
21
|
+
["cs", basePenalty],
|
|
22
|
+
["da", basePenalty],
|
|
23
|
+
// Guatemala & Honduras do not flip their house numbers
|
|
24
|
+
["es", basePenalty / 2],
|
|
25
|
+
["fi", basePenalty],
|
|
26
|
+
["el", basePenalty],
|
|
27
|
+
["is", basePenalty],
|
|
28
|
+
["it", basePenalty],
|
|
29
|
+
["nb", basePenalty],
|
|
30
|
+
["pt", basePenalty],
|
|
31
|
+
["sv", basePenalty],
|
|
32
|
+
["sk", basePenalty],
|
|
33
|
+
["tr", basePenalty],
|
|
34
|
+
["ro", basePenalty],
|
|
35
|
+
["hu", basePenalty],
|
|
36
|
+
])
|
|
37
|
+
|
|
38
|
+
// const numberFirstLangs = {
|
|
39
|
+
// en: basePenalty,
|
|
40
|
+
// fr: basePenalty / 2, // Switzerland and Andorre has some french streets
|
|
41
|
+
// }
|
|
42
|
+
|
|
43
|
+
const numberFirstLangs = new Map<string, number>([
|
|
44
|
+
["en", basePenalty],
|
|
45
|
+
["fr", basePenalty / 2], // Switzerland and Andorre has some french streets
|
|
46
|
+
])
|
|
47
|
+
|
|
48
|
+
class HouseNumberPositionPenalty implements Solver {
|
|
49
|
+
solve(tokenizer: Tokenizer) {
|
|
50
|
+
tokenizer.solutions.forEach((s) => {
|
|
51
|
+
const housenumber = s.pair.find((p) => p.classification.constructor === HouseNumberClassification)
|
|
52
|
+
const street = s.pair.find((p) => p.classification.constructor === StreetClassification)
|
|
53
|
+
|
|
54
|
+
// Do nothing if there is no street/housenumber or no meta in street classification
|
|
55
|
+
if (!housenumber || !street || !street.classification.meta || !street.classification.meta.langs) {
|
|
56
|
+
return
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const langs = Object.keys(street.classification.meta.langs)
|
|
60
|
+
|
|
61
|
+
// For now, we don't supports multi-lang entries
|
|
62
|
+
if (langs.length !== 1 || langs[0] === "all") {
|
|
63
|
+
return
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const lang = langs[0]!
|
|
67
|
+
const numberLastLangMatch = numberLastLangs.get(lang)
|
|
68
|
+
const numberFirstMatch = numberFirstLangs.get(lang)
|
|
69
|
+
|
|
70
|
+
// Check if the number should be in last position (after street) or first position (before street)
|
|
71
|
+
if (numberLastLangMatch && housenumber.span.start < street.span.start) {
|
|
72
|
+
s.penalty += numberLastLangMatch
|
|
73
|
+
} else if (numberFirstMatch && street.span.start < housenumber.span.start) {
|
|
74
|
+
s.penalty += numberFirstMatch
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export default HouseNumberPositionPenalty
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright OpenISP, Inc.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Tokenizer } from "../tokenization/Tokenizer.js"
|
|
8
|
+
|
|
9
|
+
class InvalidSolutionFilter {
|
|
10
|
+
patterns: string[][]
|
|
11
|
+
|
|
12
|
+
constructor(patterns: string | string[][]) {
|
|
13
|
+
this.patterns = Array.isArray(patterns) ? patterns : []
|
|
14
|
+
|
|
15
|
+
this.patterns.map((p) => p.sort()) // sort alphabetically
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
solve(tokenizer: Tokenizer) {
|
|
19
|
+
tokenizer.solutions = tokenizer.solutions.filter((solution) => {
|
|
20
|
+
// sort alphabetically
|
|
21
|
+
const classifications = solution.pair.map((p) => p.classification.constructor.name).sort()
|
|
22
|
+
|
|
23
|
+
return !this.patterns.some((p) => {
|
|
24
|
+
if (classifications.length !== p.length) {
|
|
25
|
+
return false
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return classifications.every((_, i) => classifications[i] === p[i])
|
|
29
|
+
})
|
|
30
|
+
})
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export default InvalidSolutionFilter
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright OpenISP, Inc.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Tokenizer } from "../tokenization/Tokenizer.js"
|
|
8
|
+
|
|
9
|
+
const NETURAL_CLASSIFICATIONS = ["PostcodeClassification"]
|
|
10
|
+
|
|
11
|
+
const ADMIN_CLASSIFICATIONS = ["LocalityClassification", "RegionClassification", "CountryClassification"]
|
|
12
|
+
|
|
13
|
+
class LeadingAreaDeclassifier {
|
|
14
|
+
solve(tokenizer: Tokenizer) {
|
|
15
|
+
for (const solution of tokenizer.solutions) {
|
|
16
|
+
// record the position of the last non-admin cursor position
|
|
17
|
+
let lastNonAdminCursorPosition = 0
|
|
18
|
+
|
|
19
|
+
for (const solutionPair of solution.pair) {
|
|
20
|
+
const isAdmin = ADMIN_CLASSIFICATIONS.some((c) => solutionPair.classification.constructor.name === c)
|
|
21
|
+
const isNeut = NETURAL_CLASSIFICATIONS.some((c) => solutionPair.classification.constructor.name === c)
|
|
22
|
+
if (!isAdmin && !isNeut) {
|
|
23
|
+
lastNonAdminCursorPosition = solutionPair.span.end
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
solution.pair = solution.pair.filter((p) => {
|
|
28
|
+
const isAdmin = ADMIN_CLASSIFICATIONS.some((c) => p.classification.constructor.name === c)
|
|
29
|
+
if (isAdmin && p.span.end < lastNonAdminCursorPosition) {
|
|
30
|
+
return false
|
|
31
|
+
}
|
|
32
|
+
return true
|
|
33
|
+
})
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
tokenizer.solutions.sort((a, b) => b.score - a.score) // sort results by score desc
|
|
37
|
+
tokenizer.solutions.forEach((s) => s.pair.sort((a, b) => a.span.start - b.span.start)) // sort by span start
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export default LeadingAreaDeclassifier
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright OpenISP, Inc.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Tokenizer } from "../tokenization/Tokenizer.js"
|
|
8
|
+
import HashMapSolver from "./super/HashMapSolver.js"
|
|
9
|
+
|
|
10
|
+
// classifications which are more granular than StreetClassification
|
|
11
|
+
// should not be included in intersection solutions.
|
|
12
|
+
const MORE_GRANULAR_THAN_STREET = [
|
|
13
|
+
"HouseNumberClassification",
|
|
14
|
+
"LevelClassification",
|
|
15
|
+
"LevelTypeClassification",
|
|
16
|
+
"UnitClassification",
|
|
17
|
+
"UnitTypeClassification",
|
|
18
|
+
"VenueClassification",
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* If a 'multistreet' classification was detected then add a new solution which covers all streets
|
|
23
|
+
* included.
|
|
24
|
+
*
|
|
25
|
+
* The ExclusiveCartesianSolver ensures that each public classification can exist only once per
|
|
26
|
+
* solution (ie. we can't have two postalcodes).
|
|
27
|
+
*
|
|
28
|
+
* Intersections are the only exception to this rule, so rather than modifying the
|
|
29
|
+
* ExclusiveCartesianSolver we use this solver to create the missing intersection solutions (those
|
|
30
|
+
* with 2x 'street' labels).
|
|
31
|
+
*
|
|
32
|
+
* One of the challenges is that there could be many different interpretations of the admin tokens,
|
|
33
|
+
* so we need to ensure that each of those permutations is also represented by a distinct
|
|
34
|
+
* intersection solution.
|
|
35
|
+
*
|
|
36
|
+
* The solver works by iterating over existing solutions looking for any which identified a street,
|
|
37
|
+
* it then clones that solution, removes any tokens less granular than street and attempts to add
|
|
38
|
+
* the new street token in its place.
|
|
39
|
+
*
|
|
40
|
+
* Care is taken to ensure that the resulting solution does not contain tokens in overlapping
|
|
41
|
+
* positions.
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
class MultiStreetSolver extends HashMapSolver {
|
|
45
|
+
solve(tokenizer: Tokenizer) {
|
|
46
|
+
const map = this.generateHashMap(tokenizer, true)
|
|
47
|
+
const multistreet = map.get("multistreet")
|
|
48
|
+
const street = map.get("street")
|
|
49
|
+
|
|
50
|
+
// sanity checking
|
|
51
|
+
if (!multistreet || multistreet.pair.length < 1) {
|
|
52
|
+
return
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (!street || street.pair.length < 2) {
|
|
56
|
+
return
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// only currently consider one multistreet parse (for simplicity)
|
|
60
|
+
// @todo: there may be some rare cases where we detect more than one?
|
|
61
|
+
const multi = multistreet.pair[0]
|
|
62
|
+
|
|
63
|
+
if (!multi) return
|
|
64
|
+
|
|
65
|
+
// generate a list of streets which intersect the multistreet
|
|
66
|
+
const streets = street.pair.filter((s) => s.span.intersects(multi.span))
|
|
67
|
+
if (streets.length < 2) {
|
|
68
|
+
return
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// generate a list of candidate solutions which could potentially be
|
|
72
|
+
// cloned to generate new intersection solutions
|
|
73
|
+
let candidates = tokenizer.solutions.filter((solution) => {
|
|
74
|
+
// candidate solution must contain a street and also that street
|
|
75
|
+
// must intersect the multistreet classification.
|
|
76
|
+
return solution.pair.some(
|
|
77
|
+
(s) => s.classification.constructor.name === "StreetClassification" && s.span.intersects(multi.span)
|
|
78
|
+
)
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
// truncate the candidates by making a copy of the current solution and removing all solution
|
|
82
|
+
// pairs which came before the street and also any pairs less granular than street
|
|
83
|
+
// (such as venue, housenumber etc.)
|
|
84
|
+
candidates = candidates.map((solution) => {
|
|
85
|
+
// find the street solution pair (there should be exactly one)
|
|
86
|
+
const candidateStreet = solution.pair.find((s) => s.classification.constructor.name === "StreetClassification")!
|
|
87
|
+
|
|
88
|
+
// remove some pairs from the solution
|
|
89
|
+
const truncated = solution.copy()
|
|
90
|
+
|
|
91
|
+
truncated.pair = truncated.pair.filter((s) => {
|
|
92
|
+
return (
|
|
93
|
+
s.span.start >= candidateStreet.span.start &&
|
|
94
|
+
!MORE_GRANULAR_THAN_STREET.includes(s.classification.constructor.name)
|
|
95
|
+
)
|
|
96
|
+
})
|
|
97
|
+
|
|
98
|
+
return truncated
|
|
99
|
+
})
|
|
100
|
+
|
|
101
|
+
// the truncation step above can generate duplicate solutions so a 'content hash'
|
|
102
|
+
// is generated in order to deduplicate them.
|
|
103
|
+
// note: this is purely a performance optimization as it generates fewer candidates
|
|
104
|
+
|
|
105
|
+
candidates = uniqBy(candidates, (truncated) => {
|
|
106
|
+
return truncated.pair.map((p) => `${p.classification.label}:${p.span.norm}`).join("_")
|
|
107
|
+
})
|
|
108
|
+
|
|
109
|
+
// iterate over candidates and generate new intersection solutions
|
|
110
|
+
candidates.forEach((truncated) => {
|
|
111
|
+
// find all street classsifications which intersect the 'multistreet' span
|
|
112
|
+
// and also do not overlap an existing pair in this solution.
|
|
113
|
+
streets.forEach((candidateStreet) => {
|
|
114
|
+
if (truncated.pair.every((p) => !p.span.intersects(candidateStreet.span))) {
|
|
115
|
+
// make a copy of the truncated solution and add the additional street
|
|
116
|
+
const intersection = truncated.copy()
|
|
117
|
+
intersection.pair.push(candidateStreet)
|
|
118
|
+
|
|
119
|
+
// append this solution
|
|
120
|
+
tokenizer.solutions.push(intersection)
|
|
121
|
+
}
|
|
122
|
+
})
|
|
123
|
+
})
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export default MultiStreetSolver
|
|
128
|
+
|
|
129
|
+
function uniqBy<T>(arr: T[], predicate: (o: T) => any): T[] {
|
|
130
|
+
const pickedObjects = arr
|
|
131
|
+
.filter(Boolean)
|
|
132
|
+
.reduce((map, item) => {
|
|
133
|
+
const key = predicate(item)
|
|
134
|
+
|
|
135
|
+
if (!key) return map
|
|
136
|
+
|
|
137
|
+
return map.has(key) ? map : map.set(key, item)
|
|
138
|
+
}, new Map())
|
|
139
|
+
.values()
|
|
140
|
+
|
|
141
|
+
return Array.from(pickedObjects)
|
|
142
|
+
}
|