@mailwoman/codex 4.0.0 → 4.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.
Files changed (45) hide show
  1. package/out/country/codes.d.ts +528 -0
  2. package/out/country/codes.d.ts.map +1 -0
  3. package/out/country/codes.js +520 -0
  4. package/out/country/codes.js.map +1 -0
  5. package/out/country/country.d.ts +65 -0
  6. package/out/country/country.d.ts.map +1 -0
  7. package/out/country/country.js +91 -0
  8. package/out/country/country.js.map +1 -0
  9. package/out/country/index.d.ts +11 -0
  10. package/out/country/index.d.ts.map +1 -0
  11. package/out/country/index.js +11 -0
  12. package/out/country/index.js.map +1 -0
  13. package/out/country/names.d.ts +23 -0
  14. package/out/country/names.d.ts.map +1 -0
  15. package/out/country/names.js +264 -0
  16. package/out/country/names.js.map +1 -0
  17. package/out/us/index.d.ts +5 -2
  18. package/out/us/index.d.ts.map +1 -1
  19. package/out/us/index.js +5 -2
  20. package/out/us/index.js.map +1 -1
  21. package/out/us/po-box.d.ts +46 -0
  22. package/out/us/po-box.d.ts.map +1 -0
  23. package/out/us/po-box.js +66 -0
  24. package/out/us/po-box.js.map +1 -0
  25. package/out/us/state.d.ts +66 -0
  26. package/out/us/state.d.ts.map +1 -1
  27. package/out/us/state.js +66 -0
  28. package/out/us/state.js.map +1 -1
  29. package/out/us/street-directional.d.ts +102 -0
  30. package/out/us/street-directional.d.ts.map +1 -0
  31. package/out/us/street-directional.js +159 -0
  32. package/out/us/street-directional.js.map +1 -0
  33. package/out/us/street-suffix.d.ts +5 -8
  34. package/out/us/street-suffix.d.ts.map +1 -1
  35. package/out/us/street-suffix.js +1 -9
  36. package/out/us/street-suffix.js.map +1 -1
  37. package/out/us/unit-designator.d.ts +92 -0
  38. package/out/us/unit-designator.d.ts.map +1 -0
  39. package/out/us/unit-designator.js +104 -0
  40. package/out/us/unit-designator.js.map +1 -0
  41. package/out/us/zipcode.d.ts +1 -6
  42. package/out/us/zipcode.d.ts.map +1 -1
  43. package/out/us/zipcode.js +0 -5
  44. package/out/us/zipcode.js.map +1 -1
  45. package/package.json +3 -2
@@ -0,0 +1,104 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * USPS Publication 28, Appendix C2 — Secondary Unit Designators.
7
+ *
8
+ * The sibling of {@link ./street-suffix.ts}: where that table standardizes the trailing street
9
+ * _type_ (AVENUE → AVE), this one standardizes the _secondary unit_ designator that introduces an
10
+ * apartment / suite / floor / room (APARTMENT → APT, SUITE → STE). For each canonical designator
11
+ * the value lists recognized variants in USPS order; the first is the approved USPS abbreviation
12
+ * (what the post office prints).
13
+ *
14
+ * Used by `@mailwoman/corpus`'s synthesis layer (the `unit-{expand,abbreviate}` augmentations) to
15
+ * vary the designator in a `unit` component while preserving the identifier — the data-generation
16
+ * counterpart to the runtime `UnitDesignatorClassifier` (which matches the broader libpostal
17
+ * `unit_types` lexicon). Designators are LEADING ("Apt 4B"), unlike street suffixes which trail.
18
+ *
19
+ * Data is verbatim USPS Pub-28 C2.
20
+ * @see {@link https://pe.usps.com/text/pub28/28apc_003.htm USPS Secondary Unit Designators}
21
+ */
22
+ /**
23
+ * Canonical USPS secondary unit designator → recognized variants. The first variant is the approved
24
+ * USPS abbreviation. Keys + values uppercase per the publication. The designators marked by USPS as
25
+ * "requires a secondary number" (APT, BLDG, FL, …) and the standalone ones (BSMT, LBBY, PH, …) are
26
+ * both included — synthesis treats them uniformly.
27
+ */
28
+ export const US_UNIT_DESIGNATOR_VARIANTS = {
29
+ APARTMENT: ["APT", "APRT", "APMT"],
30
+ BASEMENT: ["BSMT"],
31
+ BUILDING: ["BLDG", "BLD"],
32
+ DEPARTMENT: ["DEPT"],
33
+ FLOOR: ["FL", "FLR"],
34
+ FRONT: ["FRNT"],
35
+ HANGAR: ["HNGR"],
36
+ KEY: ["KEY"],
37
+ LOBBY: ["LBBY"],
38
+ LOT: ["LOT"],
39
+ LOWER: ["LOWR"],
40
+ OFFICE: ["OFC"],
41
+ PENTHOUSE: ["PH"],
42
+ PIER: ["PIER"],
43
+ REAR: ["REAR"],
44
+ ROOM: ["RM"],
45
+ SIDE: ["SIDE"],
46
+ SLIP: ["SLIP"],
47
+ SPACE: ["SPC"],
48
+ STOP: ["STOP"],
49
+ SUITE: ["STE", "SUIT"],
50
+ TRAILER: ["TRLR"],
51
+ UNIT: ["UNIT"],
52
+ UPPER: ["UPPR"],
53
+ };
54
+ /**
55
+ * Inverse lookup: every variant abbreviation OR full canonical word → its canonical key, built once
56
+ * at module load, lowercase-keyed for case-insensitive matching (`apt` → `"APARTMENT"`, `ste` →
57
+ * `"SUITE"`, `suite` → `"SUITE"`).
58
+ */
59
+ export const US_UNIT_DESIGNATOR_LOOKUP = (() => {
60
+ const out = new Map();
61
+ for (const canonical of Object.keys(US_UNIT_DESIGNATOR_VARIANTS)) {
62
+ out.set(canonical.toLowerCase(), canonical);
63
+ for (const variant of US_UNIT_DESIGNATOR_VARIANTS[canonical]) {
64
+ // First canonical that claims a variant wins (matches the publication's ordering).
65
+ if (!out.has(variant.toLowerCase()))
66
+ out.set(variant.toLowerCase(), canonical);
67
+ }
68
+ }
69
+ return out;
70
+ })();
71
+ /** Approved USPS abbreviation per canonical (`APARTMENT → "APT"`, `SUITE → "STE"`). */
72
+ export const US_UNIT_DESIGNATOR_PREFERRED_ABBR = Object.fromEntries(Object.keys(US_UNIT_DESIGNATOR_VARIANTS).map((k) => [k, US_UNIT_DESIGNATOR_VARIANTS[k][0]]));
73
+ /**
74
+ * If the FIRST whitespace-separated word of `unit` is a known USPS designator variant, return the
75
+ * canonical key and the matched word. Returns null if the leading word isn't a known designator
76
+ * (e.g. a bare `"4B"` or `"#210"`). Leading-word-only — designators introduce the unit, unlike
77
+ * street suffixes which trail.
78
+ */
79
+ export function matchLeadingDesignator(unit) {
80
+ const trimmed = unit.trim();
81
+ if (!trimmed)
82
+ return null;
83
+ const first = trimmed.split(/\s+/)[0];
84
+ const canonical = US_UNIT_DESIGNATOR_LOOKUP.get(first.toLowerCase());
85
+ if (!canonical)
86
+ return null;
87
+ return { canonical, matched: first };
88
+ }
89
+ export function lookupUnitDesignator(input) {
90
+ if (!input || typeof input !== "string")
91
+ return null;
92
+ const designator = US_UNIT_DESIGNATOR_LOOKUP.get(input.trim().toLowerCase());
93
+ if (!designator)
94
+ return null;
95
+ return { designator, abbreviation: US_UNIT_DESIGNATOR_VARIANTS[designator][0] };
96
+ }
97
+ /**
98
+ * True when a token is any USPS secondary unit designator or abbreviation (case-insensitive) —
99
+ * `"Apt"`, `"STE"`, `"floor"`.
100
+ */
101
+ export function isUnitDesignatorToken(input) {
102
+ return typeof input === "string" && US_UNIT_DESIGNATOR_LOOKUP.has(input.trim().toLowerCase());
103
+ }
104
+ //# sourceMappingURL=unit-designator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-designator.js","sourceRoot":"","sources":["../../us/unit-designator.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,6 @@
5
5
  *
6
6
  * US ZIP (Zone Improvement Plan) codes: branded string types, the shape patterns, the first-digit →
7
7
  * state geographic prior, and a state-plus-ZIP plucker.
8
- *
9
- * Salvaged 2026-06-03 from `isp-nexus/universe@6eeb7bd99643a6d62a8b8abbd50968a1e492b90b`
10
- * `mailwoman/postal/zipcode.ts` (originally copyright Sister Software; both projects are
11
- * AGPL-3.0). The only adaptation: the state abbreviation type comes from this package's own
12
- * {@link state.js} rather than `@isp.nexus/tiger`, so the codex stays dependency-free.
13
8
  */
14
9
  import type { Tagged } from "type-fest";
15
10
  import { type UsStateAbbreviation } from "./state.js";
@@ -151,7 +146,7 @@ export declare const StateAbbreviationZipCodePrefixRecord: {
151
146
  /**
152
147
  * Map of ZIP code prefixes to their corresponding US state abbreviations.
153
148
  */
154
- declare const ZipCodePrefixAbbreviationMap: Map<ZipCodeDigit, ("AL" | "AK" | "AZ" | "AR" | "CA" | "CO" | "CT" | "DE" | "DC" | "FL" | "GA" | "HI" | "ID" | "IL" | "IN" | "IA" | "KS" | "KY" | "LA" | "ME" | "MD" | "MA" | "MI" | "MN" | "MS" | "MO" | "MT" | "NE" | "NV" | "NH" | "NJ" | "NM" | "NY" | "NC" | "ND" | "OH" | "OK" | "OR" | "PA" | "RI" | "SC" | "SD" | "TN" | "TX" | "UT" | "VT" | "VA" | "WA" | "WV" | "WI" | "WY" | "PR" | "GU" | "VI" | "MP" | "AS")[]>;
149
+ declare const ZipCodePrefixAbbreviationMap: Map<ZipCodeDigit, ("KY" | "PA" | "AL" | "AK" | "AZ" | "AR" | "CA" | "CO" | "CT" | "DE" | "DC" | "FL" | "GA" | "HI" | "ID" | "IL" | "IN" | "IA" | "KS" | "LA" | "ME" | "MD" | "MA" | "MI" | "MN" | "MS" | "MO" | "MT" | "NE" | "NV" | "NH" | "NJ" | "NM" | "NY" | "NC" | "ND" | "OH" | "OK" | "OR" | "RI" | "SC" | "SD" | "TN" | "TX" | "UT" | "VT" | "VA" | "WA" | "WV" | "WI" | "WY" | "PR" | "GU" | "VI" | "MP" | "AS")[]>;
155
150
  export { ZipCodePrefixAbbreviationMap };
156
151
  /**
157
152
  * Regex patterns for ZIP codes.
@@ -1 +1 @@
1
- {"version":3,"file":"zipcode.d.ts","sourceRoot":"","sources":["../../us/zipcode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAE5E;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAE/D;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,CAAC,GAAG,SAAS,OAAO,GAAG,eAAe,IACxE,GAAG,SAAS,GAAG,MAAM,SAAS,GAAG,MAAM,KAAK,EAAE,GAAG,SAAS,GAAG,KAAK,CAAA;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDa,CAAA;AAE9D;;GAEG;AACH,QAAA,MAAM,4BAA4B,8ZAAiD,CAAA;AAUnF,OAAO,EAAE,4BAA4B,EAAE,CAAA;AAEvC;;GAEG;AACH,eAAO,MAAM,eAAe;IAC3B;;OAEG;;IAGH;;OAEG;;CAEM,CAAA;AAEV;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,GAAG,eAAe,CAE5E;AAED,MAAM,WAAW,yBAAyB;IACzC,iBAAiB,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAC7C,OAAO,EAAE,OAAO,GAAG,eAAe,CAAA;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,yBAAyB,GAAG,IAAI,CAalF"}
1
+ {"version":3,"file":"zipcode.d.ts","sourceRoot":"","sources":["../../us/zipcode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAE5E;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAE/D;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,CAAC,GAAG,SAAS,OAAO,GAAG,eAAe,IACxE,GAAG,SAAS,GAAG,MAAM,SAAS,GAAG,MAAM,KAAK,EAAE,GAAG,SAAS,GAAG,KAAK,CAAA;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDa,CAAA;AAE9D;;GAEG;AACH,QAAA,MAAM,4BAA4B,8ZAAiD,CAAA;AAUnF,OAAO,EAAE,4BAA4B,EAAE,CAAA;AAEvC;;GAEG;AACH,eAAO,MAAM,eAAe;IAC3B;;OAEG;;IAGH;;OAEG;;CAEM,CAAA;AAEV;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,GAAG,eAAe,CAE5E;AAED,MAAM,WAAW,yBAAyB;IACzC,iBAAiB,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAC7C,OAAO,EAAE,OAAO,GAAG,eAAe,CAAA;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,yBAAyB,GAAG,IAAI,CAalF"}
package/out/us/zipcode.js CHANGED
@@ -5,11 +5,6 @@
5
5
  *
6
6
  * US ZIP (Zone Improvement Plan) codes: branded string types, the shape patterns, the first-digit →
7
7
  * state geographic prior, and a state-plus-ZIP plucker.
8
- *
9
- * Salvaged 2026-06-03 from `isp-nexus/universe@6eeb7bd99643a6d62a8b8abbd50968a1e492b90b`
10
- * `mailwoman/postal/zipcode.ts` (originally copyright Sister Software; both projects are
11
- * AGPL-3.0). The only adaptation: the state abbreviation type comes from this package's own
12
- * {@link state.js} rather than `@isp.nexus/tiger`, so the codex stays dependency-free.
13
8
  */
14
9
  import { isUsStateAbbreviation } from "./state.js";
15
10
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"zipcode.js","sourceRoot":"","sources":["../../us/zipcode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zipcode.js","sourceRoot":"","sources":["../../us/zipcode.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailwoman/codex",
3
- "version": "4.0.0",
3
+ "version": "4.2.0",
4
4
  "description": "Per-address-system postal reference data + branded types (USPS street suffixes, US ZIP codes). Pure, zero-runtime-dep — the shared canonical home for postal-system primitives the parser, resolver, and synthesis layers all reach for.",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
@@ -12,6 +12,7 @@
12
12
  "exports": {
13
13
  "./package.json": "./package.json",
14
14
  ".": "./out/index.js",
15
+ "./country": "./out/country/index.js",
15
16
  "./us": "./out/us/index.js",
16
17
  "./de": "./out/de/index.js",
17
18
  "./fr": "./out/fr/index.js",
@@ -20,7 +21,7 @@
20
21
  "./jp": "./out/jp/index.js"
21
22
  },
22
23
  "dependencies": {
23
- "type-fest": "^5.6.0"
24
+ "type-fest": "^5.7.0"
24
25
  },
25
26
  "files": [
26
27
  "out/**/*.js",