@mailwoman/record 4.16.2 → 5.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.
- package/out/address.d.ts +8 -9
- package/out/address.d.ts.map +1 -1
- package/out/address.js +2 -3
- package/out/address.js.map +1 -1
- package/out/name.d.ts +2 -2
- package/out/name.d.ts.map +1 -1
- package/out/name.js +4 -4
- package/out/name.js.map +1 -1
- package/out/organization.d.ts +14 -16
- package/out/organization.d.ts.map +1 -1
- package/out/organization.js +23 -27
- package/out/organization.js.map +1 -1
- package/package.json +11 -11
package/out/address.d.ts
CHANGED
|
@@ -23,16 +23,16 @@ export interface GeoCoordinate {
|
|
|
23
23
|
longitude: number;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
* The resolution tier that produced a coordinate, mirroring mailwoman's geocoder (`address_point` >
|
|
27
|
-
* `
|
|
28
|
-
*
|
|
26
|
+
* The resolution tier that produced a coordinate, mirroring mailwoman's geocoder (`address_point` > `interpolated` >
|
|
27
|
+
* `admin`). Kept as a local plain union so this package stays decoupled from the heavy geocoder runtime; a
|
|
28
|
+
* `GeocodeResult.resolution_tier` maps in directly.
|
|
29
29
|
*/
|
|
30
30
|
export type ResolutionTier = "address_point" | "interpolated" | "admin";
|
|
31
31
|
/** One resolved admin-hierarchy ancestor (most specific first), for spelling-invariant blocking. */
|
|
32
32
|
export interface HierarchyNode {
|
|
33
33
|
tag: string;
|
|
34
34
|
value: string;
|
|
35
|
-
|
|
35
|
+
placeID?: string;
|
|
36
36
|
}
|
|
37
37
|
/** A resolved geocode attached to an address record — the location signal the matcher scores on. */
|
|
38
38
|
export interface AddressGeocode {
|
|
@@ -48,8 +48,8 @@ export interface AddressGeocode {
|
|
|
48
48
|
multiUnit?: boolean;
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
|
-
* The canonical address record. Composes the parser's components, the formatter's match key, an
|
|
52
|
-
*
|
|
51
|
+
* The canonical address record. Composes the parser's components, the formatter's match key, an optional human-readable
|
|
52
|
+
* form, and an optional resolved geocode. Plain data — no behavior.
|
|
53
53
|
*/
|
|
54
54
|
export interface PostalAddress {
|
|
55
55
|
/** Parsed address components (`ComponentTag`-keyed). */
|
|
@@ -75,9 +75,8 @@ export interface ToPostalAddressOptions {
|
|
|
75
75
|
formatOptions?: FormatAddressOptions;
|
|
76
76
|
}
|
|
77
77
|
/**
|
|
78
|
-
* Build a canonical {@linkcode PostalAddress} from parsed components: fills the match key (always)
|
|
79
|
-
*
|
|
80
|
-
* {@linkcode withGeocode} once the address is resolved.
|
|
78
|
+
* Build a canonical {@linkcode PostalAddress} from parsed components: fills the match key (always) and a human-readable
|
|
79
|
+
* form (unless disabled). Attach a geocode separately with {@linkcode withGeocode} once the address is resolved.
|
|
81
80
|
*/
|
|
82
81
|
export declare function toPostalAddress(components: ComponentDict, opts?: ToPostalAddressOptions): PostalAddress;
|
|
83
82
|
/** Attach (or replace) a resolved geocode on an address record, returning a new record. */
|
package/out/address.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../address.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAA+B,MAAM,sBAAsB,CAAA;AAEjH,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,cAAc,GAAG,OAAO,CAAA;AAEvE,oGAAoG;AACpG,MAAM,WAAW,aAAa;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,oGAAoG;AACpG,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,aAAa,CAAA;IACzB,IAAI,EAAE,cAAc,CAAA;IACpB,qGAAqG;IACrG,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,0EAA0E;IAC1E,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;IAC3B,kGAAkG;IAClG,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,oGAAoG;IACpG,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,wDAAwD;IACxD,UAAU,EAAE,aAAa,CAAA;IACzB,sFAAsF;IACtF,YAAY,EAAE,MAAM,CAAA;IACpB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wCAAwC;IACxC,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,+CAA+C;AAC/C,MAAM,WAAW,sBAAsB;IACtC,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,uFAAuF;IACvF,aAAa,CAAC,EAAE,oBAAoB,CAAA;CACpC;AAED
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../address.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAA+B,MAAM,sBAAsB,CAAA;AAEjH,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,cAAc,GAAG,OAAO,CAAA;AAEvE,oGAAoG;AACpG,MAAM,WAAW,aAAa;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,oGAAoG;AACpG,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,aAAa,CAAA;IACzB,IAAI,EAAE,cAAc,CAAA;IACpB,qGAAqG;IACrG,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,0EAA0E;IAC1E,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;IAC3B,kGAAkG;IAClG,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,oGAAoG;IACpG,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,wDAAwD;IACxD,UAAU,EAAE,aAAa,CAAA;IACzB,sFAAsF;IACtF,YAAY,EAAE,MAAM,CAAA;IACpB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wCAAwC;IACxC,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,+CAA+C;AAC/C,MAAM,WAAW,sBAAsB;IACtC,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,uFAAuF;IACvF,aAAa,CAAC,EAAE,oBAAoB,CAAA;CACpC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,GAAE,sBAA2B,GAAG,aAAa,CAiB3G;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,CAEzF"}
|
package/out/address.js
CHANGED
|
@@ -18,9 +18,8 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import { canonicalKey, formatAddress } from "@mailwoman/formatter";
|
|
20
20
|
/**
|
|
21
|
-
* Build a canonical {@linkcode PostalAddress} from parsed components: fills the match key (always)
|
|
22
|
-
*
|
|
23
|
-
* {@linkcode withGeocode} once the address is resolved.
|
|
21
|
+
* Build a canonical {@linkcode PostalAddress} from parsed components: fills the match key (always) and a human-readable
|
|
22
|
+
* form (unless disabled). Attach a geocode separately with {@linkcode withGeocode} once the address is resolved.
|
|
24
23
|
*/
|
|
25
24
|
export function toPostalAddress(components, opts = {}) {
|
|
26
25
|
const country = opts.country ?? components.country ?? "";
|
package/out/address.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.js","sourceRoot":"","sources":["../address.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAiD,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAiEjH
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../address.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAiD,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAiEjH;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,UAAyB,EAAE,OAA+B,EAAE;IAC3F,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,EAAE,CAAA;IAExD,MAAM,MAAM,GAAkB;QAC7B,UAAU;QACV,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC;KACtC,CAAA;IAED,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;QAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IAEjD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAE/F,IAAI,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5C,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,WAAW,CAAC,MAAqB,EAAE,OAAuB;IACzE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAA;AAC9B,CAAC"}
|
package/out/name.d.ts
CHANGED
|
@@ -42,8 +42,8 @@ export interface PersonName {
|
|
|
42
42
|
nickname?: string;
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
-
* Parse a full name into components. Returns `null` for empty input. Best-effort and non-throwing —
|
|
46
|
-
*
|
|
45
|
+
* Parse a full name into components. Returns `null` for empty input. Best-effort and non-throwing — ambiguous input
|
|
46
|
+
* degrades gracefully rather than erroring.
|
|
47
47
|
*/
|
|
48
48
|
export declare function parsePersonName(input: string | null | undefined): PersonName | null;
|
|
49
49
|
//# sourceMappingURL=name.d.ts.map
|
package/out/name.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,yFAAyF;AACzF,MAAM,WAAW,UAAU;IAC1B,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AA8ID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,yFAAyF;AACzF,MAAM,WAAW,UAAU;IAC1B,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AA8ID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAqGnF"}
|
package/out/name.js
CHANGED
|
@@ -120,8 +120,8 @@ const SUFFIXES = new Set([
|
|
|
120
120
|
"pharmd",
|
|
121
121
|
]);
|
|
122
122
|
/**
|
|
123
|
-
* Surname particles. Consecutive particles fold together (`de` + `la` → `de la`), and the next
|
|
124
|
-
*
|
|
123
|
+
* Surname particles. Consecutive particles fold together (`de` + `la` → `de la`), and the next non-particle token
|
|
124
|
+
* begins the bare surname.
|
|
125
125
|
*/
|
|
126
126
|
const PARTICLES = new Set([
|
|
127
127
|
"al",
|
|
@@ -161,8 +161,8 @@ const isPresent = (s) => typeof s === "string" && s.trim().length > 0;
|
|
|
161
161
|
const norm = (token) => token.replace(/\.$/, "").toLowerCase();
|
|
162
162
|
const countChar = (s, c) => s.split(c).length - 1;
|
|
163
163
|
/**
|
|
164
|
-
* Parse a full name into components. Returns `null` for empty input. Best-effort and non-throwing —
|
|
165
|
-
*
|
|
164
|
+
* Parse a full name into components. Returns `null` for empty input. Best-effort and non-throwing — ambiguous input
|
|
165
|
+
* degrades gracefully rather than erroring.
|
|
166
166
|
*/
|
|
167
167
|
export function parsePersonName(input) {
|
|
168
168
|
if (!isPresent(input))
|
package/out/name.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"name.js","sourceRoot":"","sources":["../name.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"name.js","sourceRoot":"","sources":["../name.ts"],"names":[],"mappings":"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"}
|
package/out/organization.d.ts
CHANGED
|
@@ -49,36 +49,34 @@ export interface OrganizationName {
|
|
|
49
49
|
dba?: string;
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
|
-
* A domain pack name. Each protects the abbreviations that are meaningful in that domain from being
|
|
53
|
-
*
|
|
54
|
-
*
|
|
52
|
+
* A domain pack name. Each protects the abbreviations that are meaningful in that domain from being stripped as legal
|
|
53
|
+
* forms (see {@link DOMAIN_PROTECTED}). `general` protects nothing — the explicit "no domain" choice. Add a pack here
|
|
54
|
+
* (and to {@link DOMAIN_PROTECTED}) per ingest domain.
|
|
55
55
|
*/
|
|
56
56
|
export type DesignationDomain = "general" | "healthcare";
|
|
57
57
|
/**
|
|
58
|
-
* Context for {@link canonicalizeOrganizationName}. Omit both fields for the universal base
|
|
59
|
-
* behavior.
|
|
58
|
+
* Context for {@link canonicalizeOrganizationName}. Omit both fields for the universal base behavior.
|
|
60
59
|
*/
|
|
61
60
|
export interface CanonicalizeOptions {
|
|
62
61
|
/**
|
|
63
|
-
* ISO 3166-1 alpha-2 country code of the org's jurisdiction (typically the resolved address
|
|
64
|
-
* country
|
|
65
|
-
*
|
|
62
|
+
* ISO 3166-1 alpha-2 country code of the org's jurisdiction (typically the resolved address country). Adds that
|
|
63
|
+
* country's legal forms — including collision-prone ones gated out of the base — to the strip-set. Case-insensitive;
|
|
64
|
+
* unknown codes add nothing.
|
|
66
65
|
*/
|
|
67
66
|
jurisdiction?: string;
|
|
68
67
|
/**
|
|
69
|
-
* Ingest domain. Protects domain-meaningful abbreviations (e.g. `healthcare` protects `pt` /
|
|
70
|
-
*
|
|
68
|
+
* Ingest domain. Protects domain-meaningful abbreviations (e.g. `healthcare` protects `pt` / `sca` / `scs`) from
|
|
69
|
+
* being stripped, overriding any jurisdiction pack that would add them.
|
|
71
70
|
*/
|
|
72
71
|
domain?: DesignationDomain;
|
|
73
72
|
}
|
|
74
73
|
/**
|
|
75
|
-
* Canonicalize an organization name: split off any `doing business as` clause, then reduce the
|
|
76
|
-
*
|
|
74
|
+
* Canonicalize an organization name: split off any `doing business as` clause, then reduce the legal name to a
|
|
75
|
+
* designation-stripped key. Returns `null` for empty input.
|
|
77
76
|
*
|
|
78
|
-
* Pass {@link CanonicalizeOptions} to resolve the jurisdiction × domain collision (#668): a
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* behavior.
|
|
77
|
+
* Pass {@link CanonicalizeOptions} to resolve the jurisdiction × domain collision (#668): a `jurisdiction` adds that
|
|
78
|
+
* country's legal forms, a `domain` protects its meaningful abbreviations. With no options the universal base set is
|
|
79
|
+
* used and the result is byte-for-byte the legacy behavior.
|
|
82
80
|
*/
|
|
83
81
|
export declare function canonicalizeOrganizationName(input: string | null | undefined, options?: CanonicalizeOptions): OrganizationName | null;
|
|
84
82
|
//# sourceMappingURL=organization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../organization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAChC,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,wFAAwF;IACxF,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,wFAAwF;IACxF,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,CAAA;AAExD
|
|
1
|
+
{"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../organization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAChC,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,wFAAwF;IACxF,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,wFAAwF;IACxF,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,CAAA;AAExD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC1B;AAsJD;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE,mBAAmB,GAC3B,gBAAgB,GAAG,IAAI,CAkBzB"}
|
package/out/organization.js
CHANGED
|
@@ -38,12 +38,12 @@
|
|
|
38
38
|
* epic).
|
|
39
39
|
*/
|
|
40
40
|
/**
|
|
41
|
-
* Universal legal-entity designations — the forms that are safe to strip regardless of jurisdiction
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
41
|
+
* Universal legal-entity designations — the forms that are safe to strip regardless of jurisdiction or domain because
|
|
42
|
+
* they don't collide with common domain abbreviations. Normalized to lowercase with punctuation removed (so `L.L.C.` →
|
|
43
|
+
* `llc`). Drawn from the ISO 20275 register + `cleanco`'s common set. Stripped as whole tokens wherever they occur.
|
|
44
|
+
* Deliberately excludes name-meaningful words (`group`, `holdings`, `partners`, `associates`) AND the collision-prone
|
|
45
|
+
* forms (`pt`, `sca`, `scs`) — those last live in {@link JURISDICTION_DESIGNATIONS}, gated behind a known
|
|
46
|
+
* jurisdiction.
|
|
47
47
|
*/
|
|
48
48
|
const BASE_DESIGNATIONS = new Set([
|
|
49
49
|
"inc",
|
|
@@ -100,11 +100,10 @@ const BASE_DESIGNATIONS = new Set([
|
|
|
100
100
|
"sprl",
|
|
101
101
|
]);
|
|
102
102
|
/**
|
|
103
|
-
* Jurisdiction-gated legal forms (ISO 3166-1 alpha-2 → forms), added only when the jurisdiction is
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
* 20275.
|
|
103
|
+
* Jurisdiction-gated legal forms (ISO 3166-1 alpha-2 → forms), added only when the jurisdiction is known. This is where
|
|
104
|
+
* the collision-prone tokens live: `pt` (Indonesia), `sca` / `scs` (French/Belgian/Luxembourg commandite forms).
|
|
105
|
+
* Stripping these is correct ONLY when we know the org's country — never in the universal base. Grounded seeds, not
|
|
106
|
+
* exhaustive; extend per ISO 20275.
|
|
108
107
|
*/
|
|
109
108
|
const JURISDICTION_DESIGNATIONS = {
|
|
110
109
|
ID: ["pt", "tbk", "ud"], // Perseroan Terbatas / Terbuka (listed) / Usaha Dagang
|
|
@@ -115,11 +114,10 @@ const JURISDICTION_DESIGNATIONS = {
|
|
|
115
114
|
IT: ["sapa", "snc"], // S.a.p.a. (commandite par actions) / società in nome collettivo
|
|
116
115
|
};
|
|
117
116
|
/**
|
|
118
|
-
* Domain protect-sets (domain → tokens never stripped). Overrides any jurisdiction pack: a token
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
* of always-clinical ones for future-proofing.
|
|
117
|
+
* Domain protect-sets (domain → tokens never stripped). Overrides any jurisdiction pack: a token here stays in the name
|
|
118
|
+
* even if the org's jurisdiction would treat it as a legal form. `healthcare` guards the clinical abbreviations that
|
|
119
|
+
* collide with gated legal forms — `pt` (Physical Therapy), `sca` (Sudden Cardiac Arrest), `scs` (Spinal Cord
|
|
120
|
+
* Stimulator) — plus a couple of always-clinical ones for future-proofing.
|
|
123
121
|
*/
|
|
124
122
|
const DOMAIN_PROTECTED = {
|
|
125
123
|
general: [],
|
|
@@ -127,8 +125,8 @@ const DOMAIN_PROTECTED = {
|
|
|
127
125
|
};
|
|
128
126
|
/**
|
|
129
127
|
* Compute the effective designation strip-set for the given context: `(base ∪ jurisdiction-pack) −
|
|
130
|
-
* domain-protect-pack`. Returns the shared base set unchanged when no context is given (the
|
|
131
|
-
*
|
|
128
|
+
* domain-protect-pack`. Returns the shared base set unchanged when no context is given (the byte-stable default), so
|
|
129
|
+
* the common path allocates nothing.
|
|
132
130
|
*/
|
|
133
131
|
function resolveDesignations(options) {
|
|
134
132
|
const jurisdiction = options?.jurisdiction?.trim().toUpperCase();
|
|
@@ -148,9 +146,8 @@ function resolveDesignations(options) {
|
|
|
148
146
|
/** Splits a `doing business as` / trade-name clause from a legal name. */
|
|
149
147
|
const DBA_PATTERN = /\s+(?:d\/b\/a|dba|doing business as|t\/a|trading as|a\/k\/a|aka|fka|f\/k\/a)\s+/i;
|
|
150
148
|
/**
|
|
151
|
-
* Canonicalize one name fragment: lowercase, strip accents, connectives → `and`, drop punctuation,
|
|
152
|
-
*
|
|
153
|
-
* designations it removed.
|
|
149
|
+
* Canonicalize one name fragment: lowercase, strip accents, connectives → `and`, drop punctuation, remove a leading
|
|
150
|
+
* `the`, strip legal designations, collapse whitespace. Returns the key plus the designations it removed.
|
|
154
151
|
*/
|
|
155
152
|
function canonicalizeFragment(fragment, designationSet) {
|
|
156
153
|
const normalized = fragment
|
|
@@ -179,13 +176,12 @@ function canonicalizeFragment(fragment, designationSet) {
|
|
|
179
176
|
return { canonical: kept.join(" "), designations };
|
|
180
177
|
}
|
|
181
178
|
/**
|
|
182
|
-
* Canonicalize an organization name: split off any `doing business as` clause, then reduce the
|
|
183
|
-
*
|
|
179
|
+
* Canonicalize an organization name: split off any `doing business as` clause, then reduce the legal name to a
|
|
180
|
+
* designation-stripped key. Returns `null` for empty input.
|
|
184
181
|
*
|
|
185
|
-
* Pass {@link CanonicalizeOptions} to resolve the jurisdiction × domain collision (#668): a
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
* behavior.
|
|
182
|
+
* Pass {@link CanonicalizeOptions} to resolve the jurisdiction × domain collision (#668): a `jurisdiction` adds that
|
|
183
|
+
* country's legal forms, a `domain` protects its meaningful abbreviations. With no options the universal base set is
|
|
184
|
+
* used and the result is byte-for-byte the legacy behavior.
|
|
189
185
|
*/
|
|
190
186
|
export function canonicalizeOrganizationName(input, options) {
|
|
191
187
|
if (typeof input !== "string" || !input.trim())
|
package/out/organization.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization.js","sourceRoot":"","sources":["../organization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;
|
|
1
|
+
{"version":3,"file":"organization.js","sourceRoot":"","sources":["../organization.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mailwoman/record",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "Lean, plain-TypeScript record schema + per-field normalizers for the geocode-first matcher. Address-first: the canonical PostalAddress record composes parser components, the formatter's match key, and a resolved geocode; organization + contact records build on the same canonical record.",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
@@ -8,6 +8,12 @@
|
|
|
8
8
|
"url": "https://github.com/sister-software/mailwoman.git",
|
|
9
9
|
"directory": "record"
|
|
10
10
|
},
|
|
11
|
+
"files": [
|
|
12
|
+
"out/**/*.js",
|
|
13
|
+
"out/**/*.js.map",
|
|
14
|
+
"out/**/*.d.ts",
|
|
15
|
+
"out/**/*.d.ts.map"
|
|
16
|
+
],
|
|
11
17
|
"type": "module",
|
|
12
18
|
"exports": {
|
|
13
19
|
"./package.json": "./package.json",
|
|
@@ -16,19 +22,13 @@
|
|
|
16
22
|
"./name": "./out/name.js",
|
|
17
23
|
"./organization": "./out/organization.js"
|
|
18
24
|
},
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"access": "public"
|
|
27
|
+
},
|
|
19
28
|
"dependencies": {
|
|
20
|
-
"@mailwoman/formatter": "
|
|
29
|
+
"@mailwoman/formatter": "5.1.0"
|
|
21
30
|
},
|
|
22
31
|
"devDependencies": {
|
|
23
32
|
"@types/node": ">=26.0.1"
|
|
24
|
-
},
|
|
25
|
-
"files": [
|
|
26
|
-
"out/**/*.js",
|
|
27
|
-
"out/**/*.js.map",
|
|
28
|
-
"out/**/*.d.ts",
|
|
29
|
-
"out/**/*.d.ts.map"
|
|
30
|
-
],
|
|
31
|
-
"publishConfig": {
|
|
32
|
-
"access": "public"
|
|
33
33
|
}
|
|
34
34
|
}
|