@mailwoman/corpus 8.6.0 → 9.1.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.
Files changed (497) hide show
  1. package/README.md +2 -2
  2. package/data/PROVENANCE.md +214 -0
  3. package/data/sub-venue-lexicon.json +18269 -0
  4. package/out/src/adapters/ban/adapter.d.ts +5 -4
  5. package/out/src/adapters/ban/adapter.d.ts.map +1 -1
  6. package/out/src/adapters/ban/adapter.js +62 -69
  7. package/out/src/adapters/ban/adapter.js.map +1 -1
  8. package/out/src/adapters/ban/street-decompose.d.ts.map +1 -1
  9. package/out/src/adapters/ban/street-decompose.js +18 -25
  10. package/out/src/adapters/ban/street-decompose.js.map +1 -1
  11. package/out/src/adapters/fcc-bdc/adapter.d.ts +1 -7
  12. package/out/src/adapters/fcc-bdc/adapter.d.ts.map +1 -1
  13. package/out/src/adapters/fcc-bdc/adapter.js +4 -26
  14. package/out/src/adapters/fcc-bdc/adapter.js.map +1 -1
  15. package/out/src/adapters/geonames/adapter.d.ts +1 -1
  16. package/out/src/adapters/geonames/adapter.d.ts.map +1 -1
  17. package/out/src/adapters/geonames/adapter.js +72 -78
  18. package/out/src/adapters/geonames/adapter.js.map +1 -1
  19. package/out/src/adapters/geonames-postal/adapter.d.ts +1 -1
  20. package/out/src/adapters/geonames-postal/adapter.d.ts.map +1 -1
  21. package/out/src/adapters/geonames-postal/adapter.js +46 -51
  22. package/out/src/adapters/geonames-postal/adapter.js.map +1 -1
  23. package/out/src/adapters/gnaf/adapter.d.ts +1 -1
  24. package/out/src/adapters/gnaf/adapter.d.ts.map +1 -1
  25. package/out/src/adapters/gnaf/adapter.js +6 -9
  26. package/out/src/adapters/gnaf/adapter.js.map +1 -1
  27. package/out/src/adapters/gnaf/assemble.d.ts.map +1 -1
  28. package/out/src/adapters/gnaf/assemble.js +7 -12
  29. package/out/src/adapters/gnaf/assemble.js.map +1 -1
  30. package/out/src/adapters/index.d.ts +1 -1
  31. package/out/src/adapters/index.d.ts.map +1 -1
  32. package/out/src/adapters/index.js +1 -1
  33. package/out/src/adapters/index.js.map +1 -1
  34. package/out/src/adapters/openaddresses/adapter.d.ts +1 -1
  35. package/out/src/adapters/openaddresses/adapter.d.ts.map +1 -1
  36. package/out/src/adapters/openaddresses/adapter.js +5 -10
  37. package/out/src/adapters/openaddresses/adapter.js.map +1 -1
  38. package/out/src/adapters/overture/adapter.d.ts +1 -1
  39. package/out/src/adapters/overture/adapter.d.ts.map +1 -1
  40. package/out/src/adapters/overture/adapter.js +5 -9
  41. package/out/src/adapters/overture/adapter.js.map +1 -1
  42. package/out/src/adapters/state-hi-schools/adapter.d.ts +1 -1
  43. package/out/src/adapters/state-hi-schools/adapter.d.ts.map +1 -1
  44. package/out/src/adapters/state-hi-schools/adapter.js +57 -75
  45. package/out/src/adapters/state-hi-schools/adapter.js.map +1 -1
  46. package/out/src/adapters/state-ia-contractors/adapter.d.ts +1 -1
  47. package/out/src/adapters/state-ia-contractors/adapter.d.ts.map +1 -1
  48. package/out/src/adapters/state-ia-contractors/adapter.js +60 -78
  49. package/out/src/adapters/state-ia-contractors/adapter.js.map +1 -1
  50. package/out/src/adapters/state-ny-notaries/adapter.d.ts +1 -1
  51. package/out/src/adapters/state-ny-notaries/adapter.d.ts.map +1 -1
  52. package/out/src/adapters/state-ny-notaries/adapter.js +69 -87
  53. package/out/src/adapters/state-ny-notaries/adapter.js.map +1 -1
  54. package/out/src/adapters/state-tx-notaries/adapter.d.ts +1 -1
  55. package/out/src/adapters/state-tx-notaries/adapter.d.ts.map +1 -1
  56. package/out/src/adapters/state-tx-notaries/adapter.js +71 -89
  57. package/out/src/adapters/state-tx-notaries/adapter.js.map +1 -1
  58. package/out/src/adapters/synth-po-box/adapter.d.ts +3 -3
  59. package/out/src/adapters/synth-po-box/adapter.d.ts.map +1 -1
  60. package/out/src/adapters/synth-po-box/adapter.js +10 -18
  61. package/out/src/adapters/synth-po-box/adapter.js.map +1 -1
  62. package/out/src/adapters/tiger/adapter.d.ts +1 -1
  63. package/out/src/adapters/tiger/adapter.d.ts.map +1 -1
  64. package/out/src/adapters/tiger/adapter.js +2 -2
  65. package/out/src/adapters/tiger/adapter.js.map +1 -1
  66. package/out/src/adapters/tiger/street-decompose.d.ts.map +1 -1
  67. package/out/src/adapters/tiger/street-decompose.js +18 -27
  68. package/out/src/adapters/tiger/street-decompose.js.map +1 -1
  69. package/out/src/adapters/usgov-hrsa-fqhc/adapter.d.ts +4 -4
  70. package/out/src/adapters/usgov-hrsa-fqhc/adapter.d.ts.map +1 -1
  71. package/out/src/adapters/usgov-hrsa-fqhc/adapter.js +64 -82
  72. package/out/src/adapters/usgov-hrsa-fqhc/adapter.js.map +1 -1
  73. package/out/src/adapters/usgov-imls-pls/adapter.d.ts +1 -1
  74. package/out/src/adapters/usgov-imls-pls/adapter.d.ts.map +1 -1
  75. package/out/src/adapters/usgov-imls-pls/adapter.js +62 -84
  76. package/out/src/adapters/usgov-imls-pls/adapter.js.map +1 -1
  77. package/out/src/adapters/usgov-irs-bmf/adapter.d.ts +1 -1
  78. package/out/src/adapters/usgov-irs-bmf/adapter.d.ts.map +1 -1
  79. package/out/src/adapters/usgov-irs-bmf/adapter.js +59 -66
  80. package/out/src/adapters/usgov-irs-bmf/adapter.js.map +1 -1
  81. package/out/src/adapters/usgov-nad/adapter.d.ts +1 -1
  82. package/out/src/adapters/usgov-nad/adapter.d.ts.map +1 -1
  83. package/out/src/adapters/usgov-nad/adapter.js +6 -9
  84. package/out/src/adapters/usgov-nad/adapter.js.map +1 -1
  85. package/out/src/adapters/usgov-nppes/adapter.d.ts +1 -1
  86. package/out/src/adapters/usgov-nppes/adapter.d.ts.map +1 -1
  87. package/out/src/adapters/usgov-nppes/adapter.js +60 -78
  88. package/out/src/adapters/usgov-nppes/adapter.js.map +1 -1
  89. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.d.ts +1 -1
  90. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.d.ts.map +1 -1
  91. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.js +53 -73
  92. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.js.map +1 -1
  93. package/out/src/{adapter.d.ts → adapters/utils/index.d.ts} +43 -2
  94. package/out/src/adapters/utils/index.d.ts.map +1 -0
  95. package/out/src/{adapter.js → adapters/utils/index.js} +47 -2
  96. package/out/src/adapters/utils/index.js.map +1 -0
  97. package/out/src/adapters/wof-admin-jp/adapter.d.ts +1 -1
  98. package/out/src/adapters/wof-admin-jp/adapter.d.ts.map +1 -1
  99. package/out/src/adapters/wof-admin-jp/adapter.js +24 -6
  100. package/out/src/adapters/wof-admin-jp/adapter.js.map +1 -1
  101. package/out/src/adapters/wof-admin-json/adapter.d.ts +2 -2
  102. package/out/src/adapters/wof-admin-json/adapter.d.ts.map +1 -1
  103. package/out/src/adapters/wof-admin-json/adapter.js +2 -2
  104. package/out/src/adapters/wof-admin-json/adapter.js.map +1 -1
  105. package/out/src/adapters/wof-postalcode-json/adapter.d.ts +2 -2
  106. package/out/src/adapters/wof-postalcode-json/adapter.d.ts.map +1 -1
  107. package/out/src/adapters/wof-postalcode-json/adapter.js +2 -2
  108. package/out/src/adapters/wof-postalcode-json/adapter.js.map +1 -1
  109. package/out/src/build.d.ts +3 -4
  110. package/out/src/build.d.ts.map +1 -1
  111. package/out/src/build.js +6 -8
  112. package/out/src/build.js.map +1 -1
  113. package/out/src/index.d.ts +3 -17
  114. package/out/src/index.d.ts.map +1 -1
  115. package/out/src/index.js +3 -17
  116. package/out/src/index.js.map +1 -1
  117. package/out/src/name-prone-us-suffixes.d.ts +12 -0
  118. package/out/src/name-prone-us-suffixes.d.ts.map +1 -0
  119. package/out/src/name-prone-us-suffixes.js +12 -0
  120. package/out/src/name-prone-us-suffixes.js.map +1 -0
  121. package/out/src/parquet-wrapper/reader.d.ts +8 -0
  122. package/out/src/parquet-wrapper/reader.d.ts.map +1 -1
  123. package/out/src/parquet-wrapper/reader.js +16 -0
  124. package/out/src/parquet-wrapper/reader.js.map +1 -1
  125. package/out/src/parquet-wrapper/schema.d.ts +4 -0
  126. package/out/src/parquet-wrapper/schema.d.ts.map +1 -1
  127. package/out/src/parquet-wrapper/schema.js.map +1 -1
  128. package/out/src/runner.d.ts +2 -2
  129. package/out/src/runner.d.ts.map +1 -1
  130. package/out/src/runner.js +1 -1
  131. package/out/src/runner.js.map +1 -1
  132. package/out/src/shard-recipes/anchor-absorption.d.ts.map +1 -1
  133. package/out/src/shard-recipes/anchor-absorption.js +5 -4
  134. package/out/src/shard-recipes/anchor-absorption.js.map +1 -1
  135. package/out/src/shard-recipes/boundary-stress.d.ts.map +1 -1
  136. package/out/src/shard-recipes/boundary-stress.js +2 -2
  137. package/out/src/shard-recipes/boundary-stress.js.map +1 -1
  138. package/out/src/shard-recipes/country-balanced.d.ts.map +1 -1
  139. package/out/src/shard-recipes/country-balanced.js +75 -75
  140. package/out/src/shard-recipes/country-balanced.js.map +1 -1
  141. package/out/src/shard-recipes/fr-admin-split.js +2 -2
  142. package/out/src/shard-recipes/fr-admin-split.js.map +1 -1
  143. package/out/src/shard-recipes/fr-fragment.d.ts.map +1 -1
  144. package/out/src/shard-recipes/fr-fragment.js +8 -5
  145. package/out/src/shard-recipes/fr-fragment.js.map +1 -1
  146. package/out/src/shard-recipes/fr-lieudit.js +2 -2
  147. package/out/src/shard-recipes/fr-lieudit.js.map +1 -1
  148. package/out/src/shard-recipes/fr-order.d.ts.map +1 -1
  149. package/out/src/shard-recipes/fr-order.js +18 -72
  150. package/out/src/shard-recipes/fr-order.js.map +1 -1
  151. package/out/src/shard-recipes/german.d.ts.map +1 -1
  152. package/out/src/shard-recipes/german.js +17 -70
  153. package/out/src/shard-recipes/german.js.map +1 -1
  154. package/out/src/shard-recipes/house-venue.d.ts.map +1 -1
  155. package/out/src/shard-recipes/house-venue.js +1 -1
  156. package/out/src/shard-recipes/house-venue.js.map +1 -1
  157. package/out/src/shard-recipes/index.d.ts.map +1 -1
  158. package/out/src/shard-recipes/index.js +4 -1
  159. package/out/src/shard-recipes/index.js.map +1 -1
  160. package/out/src/shard-recipes/intersection.d.ts +2 -2
  161. package/out/src/shard-recipes/intersection.d.ts.map +1 -1
  162. package/out/src/shard-recipes/intersection.js +28 -72
  163. package/out/src/shard-recipes/intersection.js.map +1 -1
  164. package/out/src/shard-recipes/locale.d.ts +5 -5
  165. package/out/src/shard-recipes/locale.d.ts.map +1 -1
  166. package/out/src/shard-recipes/locale.js +25 -35
  167. package/out/src/shard-recipes/locale.js.map +1 -1
  168. package/out/src/shard-recipes/no-fragment.d.ts.map +1 -1
  169. package/out/src/shard-recipes/no-fragment.js +8 -5
  170. package/out/src/shard-recipes/no-fragment.js.map +1 -1
  171. package/out/src/shard-recipes/no-street-led.d.ts.map +1 -1
  172. package/out/src/shard-recipes/no-street-led.js +8 -5
  173. package/out/src/shard-recipes/no-street-led.js.map +1 -1
  174. package/out/src/shard-recipes/no-street.d.ts.map +1 -1
  175. package/out/src/shard-recipes/no-street.js +1 -1
  176. package/out/src/shard-recipes/no-street.js.map +1 -1
  177. package/out/src/shard-recipes/po-box-cedex.d.ts +3 -3
  178. package/out/src/shard-recipes/po-box-cedex.d.ts.map +1 -1
  179. package/out/src/shard-recipes/po-box-cedex.js +101 -127
  180. package/out/src/shard-recipes/po-box-cedex.js.map +1 -1
  181. package/out/src/shard-recipes/po-box.d.ts.map +1 -1
  182. package/out/src/shard-recipes/po-box.js +1 -1
  183. package/out/src/shard-recipes/po-box.js.map +1 -1
  184. package/out/src/shard-recipes/scaffold.d.ts +58 -9
  185. package/out/src/shard-recipes/scaffold.d.ts.map +1 -1
  186. package/out/src/shard-recipes/scaffold.js +87 -29
  187. package/out/src/shard-recipes/scaffold.js.map +1 -1
  188. package/out/src/shard-recipes/street-affix.d.ts +54 -0
  189. package/out/src/shard-recipes/street-affix.d.ts.map +1 -1
  190. package/out/src/shard-recipes/street-affix.js +253 -111
  191. package/out/src/shard-recipes/street-affix.js.map +1 -1
  192. package/out/src/shard-recipes/street-bare.d.ts.map +1 -1
  193. package/out/src/shard-recipes/street-bare.js +3 -3
  194. package/out/src/shard-recipes/street-bare.js.map +1 -1
  195. package/out/src/shard-recipes/street.d.ts.map +1 -1
  196. package/out/src/shard-recipes/street.js +2 -2
  197. package/out/src/shard-recipes/street.js.map +1 -1
  198. package/out/src/shard-recipes/sub-venue-sources.d.ts +228 -0
  199. package/out/src/shard-recipes/sub-venue-sources.d.ts.map +1 -0
  200. package/out/src/shard-recipes/sub-venue-sources.js +664 -0
  201. package/out/src/shard-recipes/sub-venue-sources.js.map +1 -0
  202. package/out/src/shard-recipes/sub-venue.d.ts +269 -0
  203. package/out/src/shard-recipes/sub-venue.d.ts.map +1 -0
  204. package/out/src/shard-recipes/sub-venue.js +709 -0
  205. package/out/src/shard-recipes/sub-venue.js.map +1 -0
  206. package/out/src/shard-recipes/unit.d.ts +1 -1
  207. package/out/src/shard-recipes/unit.d.ts.map +1 -1
  208. package/out/src/shard-recipes/unit.js +26 -74
  209. package/out/src/shard-recipes/unit.js.map +1 -1
  210. package/out/src/{synthesize-anchor-absorption.d.ts → synthesizers/anchor-absorption.d.ts} +1 -1
  211. package/out/src/synthesizers/anchor-absorption.d.ts.map +1 -0
  212. package/out/src/{synthesize-anchor-absorption.js → synthesizers/anchor-absorption.js} +1 -1
  213. package/out/src/synthesizers/anchor-absorption.js.map +1 -0
  214. package/out/src/{synthesize-boundary-stress.d.ts → synthesizers/boundary-stress.d.ts} +3 -3
  215. package/out/src/synthesizers/boundary-stress.d.ts.map +1 -0
  216. package/out/src/{synthesize-boundary-stress.js → synthesizers/boundary-stress.js} +2 -2
  217. package/out/src/synthesizers/boundary-stress.js.map +1 -0
  218. package/out/src/{synthesize-german.d.ts → synthesizers/german.d.ts} +2 -2
  219. package/out/src/synthesizers/german.d.ts.map +1 -0
  220. package/out/src/{synthesize-german.js → synthesizers/german.js} +2 -2
  221. package/out/src/synthesizers/german.js.map +1 -0
  222. package/out/src/{synthesize-house-venue.d.ts → synthesizers/house-venue.d.ts} +4 -4
  223. package/out/src/synthesizers/house-venue.d.ts.map +1 -0
  224. package/out/src/{synthesize-house-venue.js → synthesizers/house-venue.js} +4 -4
  225. package/out/src/synthesizers/house-venue.js.map +1 -0
  226. package/out/src/{synthesize-intersection.d.ts → synthesizers/intersection.d.ts} +2 -2
  227. package/out/src/synthesizers/intersection.d.ts.map +1 -0
  228. package/out/src/{synthesize-intersection.js → synthesizers/intersection.js} +1 -1
  229. package/out/src/synthesizers/intersection.js.map +1 -0
  230. package/out/src/{synthesize-no-street.d.ts → synthesizers/no-street.d.ts} +3 -3
  231. package/out/src/synthesizers/no-street.d.ts.map +1 -0
  232. package/out/src/{synthesize-no-street.js → synthesizers/no-street.js} +2 -2
  233. package/out/src/synthesizers/no-street.js.map +1 -0
  234. package/out/src/{synthesize-po-box.d.ts → synthesizers/po-box.d.ts} +2 -2
  235. package/out/src/synthesizers/po-box.d.ts.map +1 -0
  236. package/out/src/{synthesize-po-box.js → synthesizers/po-box.js} +1 -1
  237. package/out/src/synthesizers/po-box.js.map +1 -0
  238. package/out/src/{synthesize-street.d.ts → synthesizers/street.d.ts} +2 -2
  239. package/out/src/synthesizers/street.d.ts.map +1 -0
  240. package/out/src/{synthesize-street.js → synthesizers/street.js} +2 -2
  241. package/out/src/synthesizers/street.js.map +1 -0
  242. package/out/src/{synthesize.d.ts → synthesizers/utils.d.ts} +3 -3
  243. package/out/src/synthesizers/utils.d.ts.map +1 -0
  244. package/out/src/{synthesize.js → synthesizers/utils.js} +4 -15
  245. package/out/src/synthesizers/utils.js.map +1 -0
  246. package/out/src/tools/align-shard.d.ts.map +1 -1
  247. package/out/src/tools/align-shard.js +4 -8
  248. package/out/src/tools/align-shard.js.map +1 -1
  249. package/out/src/tools/audit.d.ts.map +1 -1
  250. package/out/src/tools/audit.js +4 -4
  251. package/out/src/tools/audit.js.map +1 -1
  252. package/out/src/tools/corpus-stats.d.ts +2 -2
  253. package/out/src/tools/corpus-stats.d.ts.map +1 -1
  254. package/out/src/tools/corpus-stats.js +18 -31
  255. package/out/src/tools/corpus-stats.js.map +1 -1
  256. package/out/src/tools/fetch/download.d.ts.map +1 -1
  257. package/out/src/tools/fetch/download.js +5 -6
  258. package/out/src/tools/fetch/download.js.map +1 -1
  259. package/out/src/tools/fetch/imls-pls.d.ts.map +1 -1
  260. package/out/src/tools/fetch/imls-pls.js +3 -15
  261. package/out/src/tools/fetch/imls-pls.js.map +1 -1
  262. package/out/src/tools/fetch/index.d.ts +14 -1
  263. package/out/src/tools/fetch/index.d.ts.map +1 -1
  264. package/out/src/tools/fetch/index.js +14 -1
  265. package/out/src/tools/fetch/index.js.map +1 -1
  266. package/out/src/tools/fetch/nad.d.ts +1 -1
  267. package/out/src/tools/fetch/nad.js +1 -1
  268. package/out/src/tools/fetch/nppes.d.ts.map +1 -1
  269. package/out/src/tools/fetch/nppes.js +8 -14
  270. package/out/src/tools/fetch/nppes.js.map +1 -1
  271. package/out/src/tools/fetch/openaddresses.d.ts +1 -1
  272. package/out/src/tools/fetch/openaddresses.js +1 -1
  273. package/out/src/tools/fetch/ourairports.d.ts +45 -0
  274. package/out/src/tools/fetch/ourairports.d.ts.map +1 -0
  275. package/out/src/tools/fetch/ourairports.js +123 -0
  276. package/out/src/tools/fetch/ourairports.js.map +1 -0
  277. package/out/src/tools/fetch/wikidata-subvenue.d.ts +171 -0
  278. package/out/src/tools/fetch/wikidata-subvenue.d.ts.map +1 -0
  279. package/out/src/tools/fetch/wikidata-subvenue.js +275 -0
  280. package/out/src/tools/fetch/wikidata-subvenue.js.map +1 -0
  281. package/out/src/tools/golden-expand.d.ts.map +1 -1
  282. package/out/src/tools/golden-expand.js +18 -16
  283. package/out/src/tools/golden-expand.js.map +1 -1
  284. package/out/src/tools/golden-promote.d.ts.map +1 -1
  285. package/out/src/tools/golden-promote.js +12 -6
  286. package/out/src/tools/golden-promote.js.map +1 -1
  287. package/out/src/tools/golden-relabel-street.d.ts +196 -0
  288. package/out/src/tools/golden-relabel-street.d.ts.map +1 -0
  289. package/out/src/tools/golden-relabel-street.js +440 -0
  290. package/out/src/tools/golden-relabel-street.js.map +1 -0
  291. package/out/src/tools/index.d.ts +4 -0
  292. package/out/src/tools/index.d.ts.map +1 -1
  293. package/out/src/tools/index.js +4 -0
  294. package/out/src/tools/index.js.map +1 -1
  295. package/out/src/tools/jsonl-to-parquet.d.ts.map +1 -1
  296. package/out/src/tools/jsonl-to-parquet.js +3 -2
  297. package/out/src/tools/jsonl-to-parquet.js.map +1 -1
  298. package/out/src/tools/lint-shard-vocab.d.ts.map +1 -1
  299. package/out/src/tools/lint-shard-vocab.js +3 -2
  300. package/out/src/tools/lint-shard-vocab.js.map +1 -1
  301. package/out/src/tools/lint-shard.d.ts +3 -3
  302. package/out/src/tools/lint-shard.d.ts.map +1 -1
  303. package/out/src/tools/lint-shard.js +23 -32
  304. package/out/src/tools/lint-shard.js.map +1 -1
  305. package/out/src/tools/overlay-manifest.d.ts.map +1 -1
  306. package/out/src/tools/overlay-manifest.js +2 -1
  307. package/out/src/tools/overlay-manifest.js.map +1 -1
  308. package/out/src/tools/overture-subvenue.d.ts +112 -0
  309. package/out/src/tools/overture-subvenue.d.ts.map +1 -0
  310. package/out/src/tools/overture-subvenue.js +144 -0
  311. package/out/src/tools/overture-subvenue.js.map +1 -0
  312. package/out/src/tools/shard-kryptonite.d.ts +1 -1
  313. package/out/src/tools/shard-kryptonite.d.ts.map +1 -1
  314. package/out/src/tools/shard-kryptonite.js +6 -6
  315. package/out/src/tools/shard-kryptonite.js.map +1 -1
  316. package/out/src/tools/shard-translit.d.ts +6 -3
  317. package/out/src/tools/shard-translit.d.ts.map +1 -1
  318. package/out/src/tools/shard-translit.js +9 -8
  319. package/out/src/tools/shard-translit.js.map +1 -1
  320. package/out/src/tools/sub-venue-lexicon.d.ts +507 -0
  321. package/out/src/tools/sub-venue-lexicon.d.ts.map +1 -0
  322. package/out/src/tools/sub-venue-lexicon.js +817 -0
  323. package/out/src/tools/sub-venue-lexicon.js.map +1 -0
  324. package/out/src/tools/sub-venue-promotions.d.ts +94 -0
  325. package/out/src/tools/sub-venue-promotions.d.ts.map +1 -0
  326. package/out/src/tools/sub-venue-promotions.js +266 -0
  327. package/out/src/tools/sub-venue-promotions.js.map +1 -0
  328. package/out/src/{align.d.ts → utils/align.d.ts} +1 -1
  329. package/out/src/utils/align.d.ts.map +1 -0
  330. package/out/src/utils/align.js.map +1 -0
  331. package/out/src/{golden.d.ts → utils/golden.d.ts} +5 -0
  332. package/out/src/utils/golden.d.ts.map +1 -0
  333. package/out/src/{golden.js → utils/golden.js} +24 -10
  334. package/out/src/utils/golden.js.map +1 -0
  335. package/out/src/utils/index.d.ts +14 -0
  336. package/out/src/utils/index.d.ts.map +1 -0
  337. package/out/src/utils/index.js +14 -0
  338. package/out/src/utils/index.js.map +1 -0
  339. package/out/src/utils/license.d.ts.map +1 -0
  340. package/out/src/utils/license.js.map +1 -0
  341. package/out/src/{parquet.d.ts → utils/parquet.d.ts} +2 -2
  342. package/out/src/utils/parquet.d.ts.map +1 -0
  343. package/out/src/{parquet.js → utils/parquet.js} +3 -15
  344. package/out/src/utils/parquet.js.map +1 -0
  345. package/out/src/{split.d.ts → utils/split.d.ts} +8 -1
  346. package/out/src/utils/split.d.ts.map +1 -0
  347. package/out/src/{split.js → utils/split.js} +7 -0
  348. package/out/src/utils/split.js.map +1 -0
  349. package/out/src/utils/tokenize.d.ts.map +1 -0
  350. package/out/src/utils/tokenize.js.map +1 -0
  351. package/out/src/{wof-json.d.ts → utils/wof-json.d.ts} +2 -2
  352. package/out/src/utils/wof-json.d.ts.map +1 -0
  353. package/out/src/{wof-json.js → utils/wof-json.js} +5 -8
  354. package/out/src/utils/wof-json.js.map +1 -0
  355. package/package.json +66 -20
  356. package/src/adapters/ban/adapter.ts +58 -68
  357. package/src/adapters/ban/street-decompose.ts +17 -25
  358. package/src/adapters/fcc-bdc/adapter.ts +5 -36
  359. package/src/adapters/geonames/adapter.ts +67 -76
  360. package/src/adapters/geonames-postal/adapter.ts +45 -54
  361. package/src/adapters/gnaf/adapter.ts +7 -11
  362. package/src/adapters/gnaf/assemble.ts +7 -11
  363. package/src/adapters/index.ts +3 -2
  364. package/src/adapters/openaddresses/adapter.ts +6 -12
  365. package/src/adapters/overture/adapter.ts +6 -10
  366. package/src/adapters/state-hi-schools/adapter.ts +53 -77
  367. package/src/adapters/state-ia-contractors/adapter.ts +55 -80
  368. package/src/adapters/state-ny-notaries/adapter.ts +64 -89
  369. package/src/adapters/state-tx-notaries/adapter.ts +63 -88
  370. package/src/adapters/synth-po-box/adapter.ts +12 -23
  371. package/src/adapters/tiger/adapter.ts +4 -3
  372. package/src/adapters/tiger/street-decompose.ts +21 -31
  373. package/src/adapters/usgov-hrsa-fqhc/adapter.ts +64 -88
  374. package/src/adapters/usgov-imls-pls/adapter.ts +57 -86
  375. package/src/adapters/usgov-irs-bmf/adapter.ts +55 -66
  376. package/src/adapters/usgov-nad/adapter.ts +7 -11
  377. package/src/adapters/usgov-nppes/adapter.ts +54 -79
  378. package/src/adapters/usgov-samhsa-treatment-locator/adapter.ts +48 -75
  379. package/src/{adapter.ts → adapters/utils/index.ts} +59 -3
  380. package/src/adapters/wof-admin-jp/adapter.ts +35 -9
  381. package/src/adapters/wof-admin-json/adapter.ts +3 -4
  382. package/src/adapters/wof-postalcode-json/adapter.ts +3 -4
  383. package/src/build.ts +12 -11
  384. package/src/index.ts +3 -17
  385. package/src/name-prone-us-suffixes.ts +12 -0
  386. package/src/parquet-wrapper/reader.ts +19 -0
  387. package/src/parquet-wrapper/schema.ts +4 -0
  388. package/src/runner.ts +7 -2
  389. package/src/shard-recipes/anchor-absorption.ts +5 -4
  390. package/src/shard-recipes/boundary-stress.ts +6 -2
  391. package/src/shard-recipes/country-balanced.ts +77 -91
  392. package/src/shard-recipes/fr-admin-split.ts +3 -3
  393. package/src/shard-recipes/fr-fragment.ts +10 -7
  394. package/src/shard-recipes/fr-lieudit.ts +3 -3
  395. package/src/shard-recipes/fr-order.ts +18 -83
  396. package/src/shard-recipes/german.ts +17 -80
  397. package/src/shard-recipes/house-venue.ts +2 -1
  398. package/src/shard-recipes/index.ts +4 -1
  399. package/src/shard-recipes/intersection.ts +37 -74
  400. package/src/shard-recipes/locale.ts +31 -39
  401. package/src/shard-recipes/no-fragment.ts +10 -7
  402. package/src/shard-recipes/no-street-led.ts +10 -7
  403. package/src/shard-recipes/no-street.ts +2 -1
  404. package/src/shard-recipes/po-box-cedex.ts +127 -161
  405. package/src/shard-recipes/po-box.ts +6 -1
  406. package/src/shard-recipes/scaffold.ts +125 -27
  407. package/src/shard-recipes/street-affix.ts +335 -134
  408. package/src/shard-recipes/street-bare.ts +4 -3
  409. package/src/shard-recipes/street.ts +3 -2
  410. package/src/shard-recipes/sub-venue-sources.ts +895 -0
  411. package/src/shard-recipes/sub-venue.ts +982 -0
  412. package/src/shard-recipes/unit.ts +27 -85
  413. package/src/{synthesize-boundary-stress.ts → synthesizers/boundary-stress.ts} +2 -2
  414. package/src/{synthesize-german.ts → synthesizers/german.ts} +2 -2
  415. package/src/{synthesize-house-venue.ts → synthesizers/house-venue.ts} +4 -4
  416. package/src/{synthesize-intersection.ts → synthesizers/intersection.ts} +1 -1
  417. package/src/{synthesize-no-street.ts → synthesizers/no-street.ts} +2 -2
  418. package/src/{synthesize-po-box.ts → synthesizers/po-box.ts} +1 -1
  419. package/src/{synthesize-street.ts → synthesizers/street.ts} +2 -2
  420. package/src/{synthesize.ts → synthesizers/utils.ts} +4 -18
  421. package/src/tools/align-shard.ts +4 -7
  422. package/src/tools/audit.ts +6 -5
  423. package/src/tools/corpus-stats.ts +25 -33
  424. package/src/tools/fetch/download.ts +7 -5
  425. package/src/tools/fetch/imls-pls.ts +4 -18
  426. package/src/tools/fetch/index.ts +14 -1
  427. package/src/tools/fetch/nad.ts +1 -1
  428. package/src/tools/fetch/nppes.ts +9 -16
  429. package/src/tools/fetch/openaddresses.ts +1 -1
  430. package/src/tools/fetch/ourairports.ts +166 -0
  431. package/src/tools/fetch/wikidata-subvenue.ts +386 -0
  432. package/src/tools/golden-expand.ts +18 -13
  433. package/src/tools/golden-promote.ts +15 -6
  434. package/src/tools/golden-relabel-street.ts +685 -0
  435. package/src/tools/index.ts +4 -0
  436. package/src/tools/jsonl-to-parquet.ts +3 -2
  437. package/src/tools/lint-shard-vocab.ts +3 -2
  438. package/src/tools/lint-shard.ts +33 -36
  439. package/src/tools/overlay-manifest.ts +2 -1
  440. package/src/tools/overture-subvenue.ts +215 -0
  441. package/src/tools/shard-kryptonite.ts +8 -9
  442. package/src/tools/shard-translit.ts +22 -11
  443. package/src/tools/sub-venue-lexicon.ts +1250 -0
  444. package/src/tools/sub-venue-promotions.ts +330 -0
  445. package/src/{align.ts → utils/align.ts} +1 -1
  446. package/src/{golden.ts → utils/golden.ts} +25 -11
  447. package/src/utils/index.ts +14 -0
  448. package/src/{parquet.ts → utils/parquet.ts} +5 -19
  449. package/src/{split.ts → utils/split.ts} +8 -2
  450. package/src/{wof-json.ts → utils/wof-json.ts} +5 -8
  451. package/out/src/adapter.d.ts.map +0 -1
  452. package/out/src/adapter.js.map +0 -1
  453. package/out/src/align.d.ts.map +0 -1
  454. package/out/src/align.js.map +0 -1
  455. package/out/src/format.d.ts +0 -14
  456. package/out/src/format.d.ts.map +0 -1
  457. package/out/src/format.js +0 -14
  458. package/out/src/format.js.map +0 -1
  459. package/out/src/golden.d.ts.map +0 -1
  460. package/out/src/golden.js.map +0 -1
  461. package/out/src/license.d.ts.map +0 -1
  462. package/out/src/license.js.map +0 -1
  463. package/out/src/parquet.d.ts.map +0 -1
  464. package/out/src/parquet.js.map +0 -1
  465. package/out/src/split.d.ts.map +0 -1
  466. package/out/src/split.js.map +0 -1
  467. package/out/src/synthesize-anchor-absorption.d.ts.map +0 -1
  468. package/out/src/synthesize-anchor-absorption.js.map +0 -1
  469. package/out/src/synthesize-boundary-stress.d.ts.map +0 -1
  470. package/out/src/synthesize-boundary-stress.js.map +0 -1
  471. package/out/src/synthesize-german.d.ts.map +0 -1
  472. package/out/src/synthesize-german.js.map +0 -1
  473. package/out/src/synthesize-house-venue.d.ts.map +0 -1
  474. package/out/src/synthesize-house-venue.js.map +0 -1
  475. package/out/src/synthesize-intersection.d.ts.map +0 -1
  476. package/out/src/synthesize-intersection.js.map +0 -1
  477. package/out/src/synthesize-no-street.d.ts.map +0 -1
  478. package/out/src/synthesize-no-street.js.map +0 -1
  479. package/out/src/synthesize-po-box.d.ts.map +0 -1
  480. package/out/src/synthesize-po-box.js.map +0 -1
  481. package/out/src/synthesize-street.d.ts.map +0 -1
  482. package/out/src/synthesize-street.js.map +0 -1
  483. package/out/src/synthesize.d.ts.map +0 -1
  484. package/out/src/synthesize.js.map +0 -1
  485. package/out/src/tokenize.d.ts.map +0 -1
  486. package/out/src/tokenize.js.map +0 -1
  487. package/out/src/wof-json.d.ts.map +0 -1
  488. package/out/src/wof-json.js.map +0 -1
  489. package/src/format.ts +0 -14
  490. /package/out/src/{align.js → utils/align.js} +0 -0
  491. /package/out/src/{license.d.ts → utils/license.d.ts} +0 -0
  492. /package/out/src/{license.js → utils/license.js} +0 -0
  493. /package/out/src/{tokenize.d.ts → utils/tokenize.d.ts} +0 -0
  494. /package/out/src/{tokenize.js → utils/tokenize.js} +0 -0
  495. /package/src/{synthesize-anchor-absorption.ts → synthesizers/anchor-absorption.ts} +0 -0
  496. /package/src/{license.ts → utils/license.ts} +0 -0
  497. /package/src/{tokenize.ts → utils/tokenize.ts} +0 -0
@@ -28,11 +28,10 @@
28
28
  *
29
29
  * License: stamped `"Public Domain"` per Hawaii state government open-data terms.
30
30
  */
31
- import { createReadStream } from "node:fs";
32
- import { parse as csvParse } from "csv-parse";
33
- import { stableSourceID } from "../../adapter.js";
34
- import { lookupStateAbbreviation } from "../../codex/us-fips-state.js";
35
- import { reconcileComponents } from "../../format.js";
31
+ import { splitStreetLine, stableSourceID } from "@mailwoman/corpus/adapters/utils";
32
+ import { lookupStateAbbreviation } from "@mailwoman/corpus/codex/us-fips-state";
33
+ import { reconcileComponents } from "@mailwoman/formatter";
34
+ import { CSVSpliterator } from "spliterator";
36
35
  /**
37
36
  * Registry id for this adapter. Stamped into every row it emits, so a corpus record can be traced back to the dataset
38
37
  * it came from.
@@ -43,17 +42,7 @@ export const STATE_HI_SCHOOLS_ADAPTER_ID = "state-hi-schools";
43
42
  * than having to look them up.
44
43
  */
45
44
  export const STATE_HI_SCHOOLS_DEFAULT_LICENSE = "Public Domain";
46
- const HOUSE_NUMBER_PREFIX = /^(\d+(?:-\d+)?[A-Za-z]?)\s+(.+)$/;
47
45
  const HI_STATE_ABBR = "HI";
48
- function splitAddress(address) {
49
- const trimmed = address.trim();
50
- if (!trimmed)
51
- return null;
52
- const m = HOUSE_NUMBER_PREFIX.exec(trimmed);
53
- if (m)
54
- return { house_number: m[1], street: m[2].trim() };
55
- return { street: trimmed };
56
- }
57
46
  function normalizeZip(raw) {
58
47
  const trimmed = raw.trim();
59
48
  if (!trimmed)
@@ -74,71 +63,64 @@ export function createStateHiSchoolsAdapter() {
74
63
  if (opts.country && opts.country !== "US") {
75
64
  throw new Error(`state-hi-schools adapter: only US supported, got country=${opts.country}`);
76
65
  }
77
- const stream = createReadStream(opts.inputPath, { encoding: "utf8" });
78
- const parser = stream.pipe(csvParse({
79
- columns: true,
80
- skip_empty_lines: true,
81
- relax_quotes: true,
82
- relax_column_count: true,
83
- }));
66
+ const rows = CSVSpliterator.fromAsync(opts.inputPath, {
67
+ mode: "object",
68
+ normalizeKeys: false,
69
+ enableQuoteHandling: true,
70
+ });
84
71
  const state = lookupStateAbbreviation(HI_STATE_ABBR);
85
72
  if (!state) {
86
73
  throw new Error(`state-hi-schools adapter: HI not found in state codex (corpus bug)`);
87
74
  }
88
75
  let emitted = 0;
89
- try {
90
- for await (const record of parser) {
91
- if (opts.signal?.aborted)
92
- break;
93
- if (opts.limit !== undefined && emitted >= opts.limit)
94
- break;
95
- const name = (record.name ?? "").trim();
96
- const address = (record.address ?? "").trim();
97
- const city = (record.city ?? "").trim();
98
- const zip = normalizeZip(record.zip ?? "");
99
- if (!name || !address || !city || !zip)
100
- continue;
101
- const split = splitAddress(address);
102
- if (!split)
103
- continue;
104
- const components = {
105
- venue: name,
106
- ...(split.house_number ? { house_number: split.house_number } : {}),
107
- street: split.street,
108
- locality: city,
109
- region: state.abbreviation,
110
- postcode: zip,
111
- };
112
- const streetPart = [split.house_number, split.street].filter(Boolean).join(" ").trim();
113
- const raw = [
114
- name,
115
- streetPart,
116
- [city, [HI_STATE_ABBR, zip].filter(Boolean).join(" ")].filter(Boolean).join(", "),
117
- ]
118
- .filter(Boolean)
119
- .join(", ");
120
- const aligned = reconcileComponents(components, raw);
121
- if (Object.keys(aligned).length <= 2)
122
- continue;
123
- const code = (record.code ?? "").toString().trim();
124
- const sourceID = code
125
- ? `${STATE_HI_SCHOOLS_ADAPTER_ID}-${code}`
126
- : stableSourceID(STATE_HI_SCHOOLS_ADAPTER_ID, aligned);
127
- yield {
128
- raw,
129
- components: aligned,
130
- country: "US",
131
- locale: "en-US",
132
- source: STATE_HI_SCHOOLS_ADAPTER_ID,
133
- source_id: sourceID,
134
- corpus_version: "",
135
- license: STATE_HI_SCHOOLS_DEFAULT_LICENSE,
136
- };
137
- emitted++;
138
- }
139
- }
140
- finally {
141
- stream.destroy();
76
+ for await (const record of rows) {
77
+ if (opts.signal?.aborted)
78
+ break;
79
+ if (opts.limit !== undefined && emitted >= opts.limit)
80
+ break;
81
+ const name = (record.name ?? "").trim();
82
+ const address = (record.address ?? "").trim();
83
+ const city = (record.city ?? "").trim();
84
+ const zip = normalizeZip(record.zip ?? "");
85
+ if (!name || !address || !city || !zip)
86
+ continue;
87
+ const split = splitStreetLine(address);
88
+ if (!split)
89
+ continue;
90
+ const components = {
91
+ venue: name,
92
+ ...(split.house_number ? { house_number: split.house_number } : {}),
93
+ street: split.street,
94
+ locality: city,
95
+ region: state.abbreviation,
96
+ postcode: zip,
97
+ };
98
+ const streetPart = [split.house_number, split.street].filter(Boolean).join(" ").trim();
99
+ const raw = [
100
+ name,
101
+ streetPart,
102
+ [city, [HI_STATE_ABBR, zip].filter(Boolean).join(" ")].filter(Boolean).join(", "),
103
+ ]
104
+ .filter(Boolean)
105
+ .join(", ");
106
+ const aligned = reconcileComponents(components, raw);
107
+ if (Object.keys(aligned).length <= 2)
108
+ continue;
109
+ const code = (record.code ?? "").toString().trim();
110
+ const sourceID = code
111
+ ? `${STATE_HI_SCHOOLS_ADAPTER_ID}-${code}`
112
+ : stableSourceID(STATE_HI_SCHOOLS_ADAPTER_ID, aligned);
113
+ yield {
114
+ raw,
115
+ components: aligned,
116
+ country: "US",
117
+ locale: "en-US",
118
+ source: STATE_HI_SCHOOLS_ADAPTER_ID,
119
+ source_id: sourceID,
120
+ corpus_version: "",
121
+ license: STATE_HI_SCHOOLS_DEFAULT_LICENSE,
122
+ };
123
+ emitted++;
142
124
  }
143
125
  },
144
126
  };
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/adapters/state-hi-schools/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/adapters/state-hi-schools/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAA;AAC7D;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,eAAe,CAAA;AAE/D,MAAM,aAAa,GAAG,IAAI,CAAA;AAU1B,SAAS,YAAY,CAAC,GAAW;IAChC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAE1B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IAEvB,uFAAuF;IACvF,wFAAwF;IACxF,2EAA2E;IAC3E,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,OAAO,EAAE,CAAA;IAEjD,OAAO,OAAO,CAAA;AACf,CAAC;AAED,MAAM,UAAU,2BAA2B;IAC1C,OAAO;QACN,EAAE,EAAE,2BAA2B;QAC/B,cAAc,EAAE,gCAAgC;QAChD,WAAW,EAAE,sGAAsG;QAEnH,KAAK,CAAC,CAAC,IAAI,CAAC,IAAoB;YAC/B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;YAC5F,CAAC;YAED,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE;gBACrD,IAAI,EAAE,QAAQ;gBACd,aAAa,EAAE,KAAK;gBACpB,mBAAmB,EAAE,IAAI;aACzB,CAAC,CAAA;YAEF,MAAM,KAAK,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAA;YAEpD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;YACtF,CAAC;YAED,IAAI,OAAO,GAAG,CAAC,CAAA;YAEf,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,IAAkC,EAAE,CAAC;gBAC/D,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;oBAAE,MAAK;gBAE/B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK;oBAAE,MAAK;gBAE5D,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC7C,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;gBAE1C,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG;oBAAE,SAAQ;gBAEhD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;gBAEtC,IAAI,CAAC,KAAK;oBAAE,SAAQ;gBAEpB,MAAM,UAAU,GAA+B;oBAC9C,KAAK,EAAE,IAAI;oBACX,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,KAAK,CAAC,YAAY;oBAC1B,QAAQ,EAAE,GAAG;iBACb,CAAA;gBAED,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;gBAEtF,MAAM,GAAG,GAAG;oBACX,IAAI;oBACJ,UAAU;oBACV,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;iBACjF;qBACC,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,IAAI,CAAC,CAAA;gBAEZ,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;gBAEpD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC;oBAAE,SAAQ;gBAE9C,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAA;gBAElD,MAAM,QAAQ,GAAG,IAAI;oBACpB,CAAC,CAAC,GAAG,2BAA2B,IAAI,IAAI,EAAE;oBAC1C,CAAC,CAAC,cAAc,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAA;gBAEvD,MAAM;oBACL,GAAG;oBACH,UAAU,EAAE,OAAO;oBACnB,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,2BAA2B;oBACnC,SAAS,EAAE,QAAQ;oBACnB,cAAc,EAAE,EAAE;oBAClB,OAAO,EAAE,gCAAgC;iBACzC,CAAA;gBAED,OAAO,EAAE,CAAA;YACV,CAAC;QACF,CAAC;KACD,CAAA;AACF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,EAAE,CAAA"}
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * License: stamped `"Public Domain"` per Iowa state government open-data terms.
17
17
  */
18
- import type { CorpusAdapter } from "../../types.ts";
18
+ import type { CorpusAdapter } from "@mailwoman/corpus/types";
19
19
  /**
20
20
  * Registry id for this adapter. Stamped into every row it emits, so a corpus record can be traced back to the dataset
21
21
  * it came from.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/state-ia-contractors/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,OAAO,KAAK,EAAgC,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,yBAAyB,CAAA;AACrE;;;GAGG;AACH,eAAO,MAAM,oCAAoC,kBAAkB,CAAA;AA2BnE,wBAAgB,+BAA+B,IAAI,aAAa,CA8F/D;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAAoC,CAAA"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/state-ia-contractors/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAgC,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAI1F;;;GAGG;AACH,eAAO,MAAM,+BAA+B,yBAAyB,CAAA;AACrE;;;GAGG;AACH,eAAO,MAAM,oCAAoC,kBAAkB,CAAA;AAcnE,wBAAgB,+BAA+B,IAAI,aAAa,CAqF/D;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAAoC,CAAA"}
@@ -15,11 +15,10 @@
15
15
  *
16
16
  * License: stamped `"Public Domain"` per Iowa state government open-data terms.
17
17
  */
18
- import { createReadStream } from "node:fs";
19
- import { parse as csvParse } from "csv-parse";
20
- import { stableSourceID } from "../../adapter.js";
21
- import { lookupStateAbbreviation } from "../../codex/us-fips-state.js";
22
- import { reconcileComponents } from "../../format.js";
18
+ import { splitStreetLine, stableSourceID } from "@mailwoman/corpus/adapters/utils";
19
+ import { lookupStateAbbreviation } from "@mailwoman/corpus/codex/us-fips-state";
20
+ import { reconcileComponents } from "@mailwoman/formatter";
21
+ import { CSVSpliterator } from "spliterator";
23
22
  /**
24
23
  * Registry id for this adapter. Stamped into every row it emits, so a corpus record can be traced back to the dataset
25
24
  * it came from.
@@ -30,16 +29,6 @@ export const STATE_IA_CONTRACTORS_ADAPTER_ID = "state-ia-contractors";
30
29
  * than having to look them up.
31
30
  */
32
31
  export const STATE_IA_CONTRACTORS_DEFAULT_LICENSE = "Public Domain";
33
- const HOUSE_NUMBER_PREFIX = /^(\d+(?:-\d+)?[A-Za-z]?)\s+(.+)$/;
34
- function splitAddress(address) {
35
- const trimmed = address.trim();
36
- if (!trimmed)
37
- return null;
38
- const m = HOUSE_NUMBER_PREFIX.exec(trimmed);
39
- if (m)
40
- return { house_number: m[1], street: m[2].trim() };
41
- return { street: trimmed };
42
- }
43
32
  export function createStateIaContractorsAdapter() {
44
33
  return {
45
34
  id: STATE_IA_CONTRACTORS_ADAPTER_ID,
@@ -49,70 +38,63 @@ export function createStateIaContractorsAdapter() {
49
38
  if (opts.country && opts.country !== "US") {
50
39
  throw new Error(`state-ia-contractors adapter: only US supported, got country=${opts.country}`);
51
40
  }
52
- const stream = createReadStream(opts.inputPath, { encoding: "utf8" });
53
- const parser = stream.pipe(csvParse({
54
- columns: true,
55
- skip_empty_lines: true,
56
- relax_quotes: true,
57
- relax_column_count: true,
58
- }));
41
+ const rows = CSVSpliterator.fromAsync(opts.inputPath, {
42
+ mode: "object",
43
+ normalizeKeys: false,
44
+ enableQuoteHandling: true,
45
+ });
59
46
  let emitted = 0;
60
- try {
61
- for await (const record of parser) {
62
- if (opts.signal?.aborted)
63
- break;
64
- if (opts.limit !== undefined && emitted >= opts.limit)
65
- break;
66
- const businessName = (record["Business Name"] ?? "").trim();
67
- const address1 = (record["Address 1"] ?? "").trim();
68
- const address2 = (record["Address 2"] ?? "").trim();
69
- const city = (record.City ?? "").trim();
70
- const stateAbbr = (record.State ?? "").trim();
71
- const zip = (record["Zip Code"] ?? "").trim();
72
- if (!city || !zip)
73
- continue;
74
- const state = lookupStateAbbreviation(stateAbbr);
75
- if (!state)
76
- continue;
77
- const fullAddress = [address1, address2].filter(Boolean).join(" ");
78
- const split = splitAddress(fullAddress);
79
- if (!split)
80
- continue;
81
- const venue = businessName || undefined;
82
- const components = {
83
- ...(venue ? { venue } : {}),
84
- ...(split.house_number ? { house_number: split.house_number } : {}),
85
- street: split.street,
86
- locality: city,
87
- region: state.abbreviation,
88
- postcode: zip,
89
- };
90
- const streetPart = [split.house_number, split.street].filter(Boolean).join(" ").trim();
91
- const raw = [venue, streetPart, [city, [stateAbbr, zip].filter(Boolean).join(" ")].filter(Boolean).join(", ")]
92
- .filter(Boolean)
93
- .join(", ");
94
- const aligned = reconcileComponents(components, raw);
95
- if (Object.keys(aligned).length <= 2)
96
- continue;
97
- const regNum = (record["Registration #"] ?? "").trim();
98
- const sourceID = regNum
99
- ? `${STATE_IA_CONTRACTORS_ADAPTER_ID}-${regNum}`
100
- : stableSourceID(STATE_IA_CONTRACTORS_ADAPTER_ID, aligned);
101
- yield {
102
- raw,
103
- components: aligned,
104
- country: "US",
105
- locale: "en-US",
106
- source: STATE_IA_CONTRACTORS_ADAPTER_ID,
107
- source_id: sourceID,
108
- corpus_version: "",
109
- license: STATE_IA_CONTRACTORS_DEFAULT_LICENSE,
110
- };
111
- emitted++;
112
- }
113
- }
114
- finally {
115
- stream.destroy();
47
+ for await (const record of rows) {
48
+ if (opts.signal?.aborted)
49
+ break;
50
+ if (opts.limit !== undefined && emitted >= opts.limit)
51
+ break;
52
+ const businessName = (record["Business Name"] ?? "").trim();
53
+ const address1 = (record["Address 1"] ?? "").trim();
54
+ const address2 = (record["Address 2"] ?? "").trim();
55
+ const city = (record.City ?? "").trim();
56
+ const stateAbbr = (record.State ?? "").trim();
57
+ const zip = (record["Zip Code"] ?? "").trim();
58
+ if (!city || !zip)
59
+ continue;
60
+ const state = lookupStateAbbreviation(stateAbbr);
61
+ if (!state)
62
+ continue;
63
+ const fullAddress = [address1, address2].filter(Boolean).join(" ");
64
+ const split = splitStreetLine(fullAddress);
65
+ if (!split)
66
+ continue;
67
+ const venue = businessName || undefined;
68
+ const components = {
69
+ ...(venue ? { venue } : {}),
70
+ ...(split.house_number ? { house_number: split.house_number } : {}),
71
+ street: split.street,
72
+ locality: city,
73
+ region: state.abbreviation,
74
+ postcode: zip,
75
+ };
76
+ const streetPart = [split.house_number, split.street].filter(Boolean).join(" ").trim();
77
+ const raw = [venue, streetPart, [city, [stateAbbr, zip].filter(Boolean).join(" ")].filter(Boolean).join(", ")]
78
+ .filter(Boolean)
79
+ .join(", ");
80
+ const aligned = reconcileComponents(components, raw);
81
+ if (Object.keys(aligned).length <= 2)
82
+ continue;
83
+ const regNum = (record["Registration #"] ?? "").trim();
84
+ const sourceID = regNum
85
+ ? `${STATE_IA_CONTRACTORS_ADAPTER_ID}-${regNum}`
86
+ : stableSourceID(STATE_IA_CONTRACTORS_ADAPTER_ID, aligned);
87
+ yield {
88
+ raw,
89
+ components: aligned,
90
+ country: "US",
91
+ locale: "en-US",
92
+ source: STATE_IA_CONTRACTORS_ADAPTER_ID,
93
+ source_id: sourceID,
94
+ corpus_version: "",
95
+ license: STATE_IA_CONTRACTORS_DEFAULT_LICENSE,
96
+ };
97
+ emitted++;
116
98
  }
117
99
  },
118
100
  };
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/adapters/state-ia-contractors/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/adapters/state-ia-contractors/adapter.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * License: stamped `"Public Domain"` per New York state government open-data terms.
15
15
  */
16
- import type { CorpusAdapter } from "../../types.ts";
16
+ import type { CorpusAdapter } from "@mailwoman/corpus/types";
17
17
  /**
18
18
  * Registry id for this adapter. Stamped into every row it emits, so a corpus record can be traced back to the dataset
19
19
  * it came from.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/state-ny-notaries/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAgC,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,sBAAsB,CAAA;AAC/D;;;GAGG;AACH,eAAO,MAAM,iCAAiC,kBAAkB,CAAA;AAuChE,wBAAgB,4BAA4B,IAAI,aAAa,CAyG5D;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,eAAiC,CAAA"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/state-ny-notaries/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAgC,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAI1F;;;GAGG;AACH,eAAO,MAAM,4BAA4B,sBAAsB,CAAA;AAC/D;;;GAGG;AACH,eAAO,MAAM,iCAAiC,kBAAkB,CAAA;AA0BhE,wBAAgB,4BAA4B,IAAI,aAAa,CAgG5D;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,eAAiC,CAAA"}
@@ -13,11 +13,10 @@
13
13
  *
14
14
  * License: stamped `"Public Domain"` per New York state government open-data terms.
15
15
  */
16
- import { createReadStream } from "node:fs";
17
- import { parse as csvParse } from "csv-parse";
18
- import { stableSourceID } from "../../adapter.js";
19
- import { lookupStateAbbreviation } from "../../codex/us-fips-state.js";
20
- import { reconcileComponents } from "../../format.js";
16
+ import { splitStreetLine, stableSourceID } from "@mailwoman/corpus/adapters/utils";
17
+ import { lookupStateAbbreviation } from "@mailwoman/corpus/codex/us-fips-state";
18
+ import { reconcileComponents } from "@mailwoman/formatter";
19
+ import { CSVSpliterator } from "spliterator";
21
20
  /**
22
21
  * Registry id for this adapter. Stamped into every row it emits, so a corpus record can be traced back to the dataset
23
22
  * it came from.
@@ -28,16 +27,6 @@ export const STATE_NY_NOTARIES_ADAPTER_ID = "state-ny-notaries";
28
27
  * than having to look them up.
29
28
  */
30
29
  export const STATE_NY_NOTARIES_DEFAULT_LICENSE = "Public Domain";
31
- const HOUSE_NUMBER_PREFIX = /^(\d+(?:-\d+)?[A-Za-z]?)\s+(.+)$/;
32
- function splitAddress(address) {
33
- const trimmed = address.trim();
34
- if (!trimmed)
35
- return null;
36
- const m = HOUSE_NUMBER_PREFIX.exec(trimmed);
37
- if (m)
38
- return { house_number: m[1], street: m[2].trim() };
39
- return { street: trimmed };
40
- }
41
30
  const RAW_NY_COLUMNS = [
42
31
  "Commission Holder Name",
43
32
  "Commission Number (UID)",
@@ -58,80 +47,73 @@ export function createStateNyNotariesAdapter() {
58
47
  if (opts.country && opts.country !== "US") {
59
48
  throw new Error(`state-ny-notaries adapter: only US supported, got country=${opts.country}`);
60
49
  }
61
- const stream = createReadStream(opts.inputPath, { encoding: "utf8" });
62
- const parser = stream.pipe(csvParse({
63
- columns: true,
64
- skip_empty_lines: true,
65
- relax_quotes: true,
66
- relax_column_count: true,
67
- }));
50
+ const rows = CSVSpliterator.fromAsync(opts.inputPath, {
51
+ mode: "object",
52
+ normalizeKeys: false,
53
+ enableQuoteHandling: true,
54
+ });
68
55
  let emitted = 0;
69
- try {
70
- for await (const rawRecord of parser) {
71
- if (opts.signal?.aborted)
72
- break;
73
- if (opts.limit !== undefined && emitted >= opts.limit)
74
- break;
75
- // NY CSV has columns with leading spaces, so we normalize by trimming keys.
76
- const record = {};
77
- for (const key of Object.keys(rawRecord)) {
78
- record[key.trim()] = rawRecord[key] ?? "";
79
- }
80
- const holderName = (record["Commission Holder Name"] ?? "").trim();
81
- const businessName = (record["Business Name (if available)"] ?? "").trim();
82
- const address1 = (record["Business Address 1 (if available)"] ?? "").trim();
83
- const address2 = (record["Business Address 2 (if available)"] ?? "").trim();
84
- const city = (record["Business City (if available)"] ?? "").trim();
85
- const stateAbbr = (record["Business State (if available)"] ?? "").trim();
86
- const zip = (record["Business Zip (if available)"] ?? "").trim();
87
- const county = (record["Commissioned County"] ?? "").trim();
88
- if (!city || !stateAbbr || !zip)
89
- continue;
90
- if (!address1 && !address2)
91
- continue;
92
- const state = lookupStateAbbreviation(stateAbbr);
93
- if (!state)
94
- continue;
95
- const fullAddress = [address1, address2].filter(Boolean).join(" ");
96
- const split = splitAddress(fullAddress);
97
- if (!split)
98
- continue;
99
- const venue = businessName || holderName || undefined;
100
- const components = {
101
- ...(venue ? { venue } : {}),
102
- ...(split.house_number ? { house_number: split.house_number } : {}),
103
- street: split.street,
104
- locality: city,
105
- region: state.abbreviation,
106
- postcode: zip,
107
- ...(county ? { subregion: county } : {}),
108
- };
109
- const streetPart = [split.house_number, split.street].filter(Boolean).join(" ").trim();
110
- const raw = [venue, streetPart, [city, [stateAbbr, zip].filter(Boolean).join(" ")].filter(Boolean).join(", ")]
111
- .filter(Boolean)
112
- .join(", ");
113
- const aligned = reconcileComponents(components, raw);
114
- if (Object.keys(aligned).length <= 2)
115
- continue;
116
- const commNum = (record["Commission Number (UID)"] ?? "").trim();
117
- const sourceID = commNum
118
- ? `${STATE_NY_NOTARIES_ADAPTER_ID}-${commNum}`
119
- : stableSourceID(STATE_NY_NOTARIES_ADAPTER_ID, aligned);
120
- yield {
121
- raw,
122
- components: aligned,
123
- country: "US",
124
- locale: "en-US",
125
- source: STATE_NY_NOTARIES_ADAPTER_ID,
126
- source_id: sourceID,
127
- corpus_version: "",
128
- license: STATE_NY_NOTARIES_DEFAULT_LICENSE,
129
- };
130
- emitted++;
56
+ for await (const rawRecord of rows) {
57
+ if (opts.signal?.aborted)
58
+ break;
59
+ if (opts.limit !== undefined && emitted >= opts.limit)
60
+ break;
61
+ // NY CSV has columns with leading spaces, so we normalize by trimming keys.
62
+ const record = {};
63
+ for (const key of Object.keys(rawRecord)) {
64
+ record[key.trim()] = rawRecord[key] ?? "";
131
65
  }
132
- }
133
- finally {
134
- stream.destroy();
66
+ const holderName = (record["Commission Holder Name"] ?? "").trim();
67
+ const businessName = (record["Business Name (if available)"] ?? "").trim();
68
+ const address1 = (record["Business Address 1 (if available)"] ?? "").trim();
69
+ const address2 = (record["Business Address 2 (if available)"] ?? "").trim();
70
+ const city = (record["Business City (if available)"] ?? "").trim();
71
+ const stateAbbr = (record["Business State (if available)"] ?? "").trim();
72
+ const zip = (record["Business Zip (if available)"] ?? "").trim();
73
+ const county = (record["Commissioned County"] ?? "").trim();
74
+ if (!city || !stateAbbr || !zip)
75
+ continue;
76
+ if (!address1 && !address2)
77
+ continue;
78
+ const state = lookupStateAbbreviation(stateAbbr);
79
+ if (!state)
80
+ continue;
81
+ const fullAddress = [address1, address2].filter(Boolean).join(" ");
82
+ const split = splitStreetLine(fullAddress);
83
+ if (!split)
84
+ continue;
85
+ const venue = businessName || holderName || undefined;
86
+ const components = {
87
+ ...(venue ? { venue } : {}),
88
+ ...(split.house_number ? { house_number: split.house_number } : {}),
89
+ street: split.street,
90
+ locality: city,
91
+ region: state.abbreviation,
92
+ postcode: zip,
93
+ ...(county ? { subregion: county } : {}),
94
+ };
95
+ const streetPart = [split.house_number, split.street].filter(Boolean).join(" ").trim();
96
+ const raw = [venue, streetPart, [city, [stateAbbr, zip].filter(Boolean).join(" ")].filter(Boolean).join(", ")]
97
+ .filter(Boolean)
98
+ .join(", ");
99
+ const aligned = reconcileComponents(components, raw);
100
+ if (Object.keys(aligned).length <= 2)
101
+ continue;
102
+ const commNum = (record["Commission Number (UID)"] ?? "").trim();
103
+ const sourceID = commNum
104
+ ? `${STATE_NY_NOTARIES_ADAPTER_ID}-${commNum}`
105
+ : stableSourceID(STATE_NY_NOTARIES_ADAPTER_ID, aligned);
106
+ yield {
107
+ raw,
108
+ components: aligned,
109
+ country: "US",
110
+ locale: "en-US",
111
+ source: STATE_NY_NOTARIES_ADAPTER_ID,
112
+ source_id: sourceID,
113
+ corpus_version: "",
114
+ license: STATE_NY_NOTARIES_DEFAULT_LICENSE,
115
+ };
116
+ emitted++;
135
117
  }
136
118
  },
137
119
  };
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/adapters/state-ny-notaries/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/adapters/state-ny-notaries/adapter.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * License: stamped `"Public Domain"` per Texas state government open-data terms.
16
16
  */
17
- import type { CorpusAdapter } from "../../types.ts";
17
+ import type { CorpusAdapter } from "@mailwoman/corpus/types";
18
18
  /**
19
19
  * Registry id for this adapter. Stamped into every row it emits, so a corpus record can be traced back to the dataset
20
20
  * it came from.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/state-tx-notaries/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,KAAK,EAAgC,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,sBAAsB,CAAA;AAC/D;;;GAGG;AACH,eAAO,MAAM,iCAAiC,kBAAkB,CAAA;AA2BhE,wBAAgB,4BAA4B,IAAI,aAAa,CA4G5D;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,eAAiC,CAAA"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/state-tx-notaries/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAgC,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAI1F;;;GAGG;AACH,eAAO,MAAM,4BAA4B,sBAAsB,CAAA;AAC/D;;;GAGG;AACH,eAAO,MAAM,iCAAiC,kBAAkB,CAAA;AAchE,wBAAgB,4BAA4B,IAAI,aAAa,CAmG5D;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,eAAiC,CAAA"}