@mailwoman/record 4.11.0 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  **Record schema and per-field normalizers** for the geocode-first entity
4
4
  resolution matcher. Address-first design: the canonical `PostalAddress` record
5
5
  composes parsed address components, the formatter's match key, and a resolved
6
- geocode. Organization and contact records build on the same spine.
6
+ geocode. Organization and contact records build on the same canonical record.
7
7
 
8
8
  ```ts
9
9
  import { PostalAddress, parsePersonName, canonicalizeOrganizationName } from "@mailwoman/record";
@@ -30,7 +30,7 @@ canonicalizeOrganizationName("Baylor Univ. Med. Ctr.");
30
30
  ## API
31
31
 
32
32
  ```ts
33
- // Address record (the spine of the record system)
33
+ // Address record (the core of the record system)
34
34
  import { PostalAddress, createPostalAddress } from "@mailwoman/record/address"
35
35
 
36
36
  // Person name parsing → structured components
@@ -52,7 +52,7 @@ import { canonicalizeOrganizationName, type CanonicalizeOrgOpts } from "@mailwom
52
52
 
53
53
  - **Plain data, no classes.** Records are plain TypeScript objects with
54
54
  branded types where needed.
55
- - **Address-first.** The `PostalAddress` is the spine — the geocode-first
55
+ - **Address-first.** The `PostalAddress` is the canonical record — the geocode-first
56
56
  matcher resolves places, not strings.
57
57
  - **Domain-scoped.** Organization canonicalization supports jurisdiction and
58
58
  domain context (e.g., `{jurisdiction: "ID"}` for Indonesian legal designations,
package/out/address.d.ts CHANGED
@@ -3,8 +3,8 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * The canonical address record — the matcher's unit of address identity, and the spine the
7
- * organization and contact records build on.
6
+ * The canonical address record — the matcher's unit of address identity, and the canonical record
7
+ * the organization and contact records build on.
8
8
  *
9
9
  * It is plain data: parser components + the formatter's match key + an optional resolved geocode,
10
10
  * composed into one object. No ORM, no decorators, no schema-generation machinery — if we need a
package/out/address.js CHANGED
@@ -3,8 +3,8 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * The canonical address record — the matcher's unit of address identity, and the spine the
7
- * organization and contact records build on.
6
+ * The canonical address record — the matcher's unit of address identity, and the canonical record
7
+ * the organization and contact records build on.
8
8
  *
9
9
  * It is plain data: parser components + the formatter's match key + an optional resolved geocode,
10
10
  * composed into one object. No ORM, no decorators, no schema-generation machinery — if we need a
package/out/index.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * `@mailwoman/record` — the canonicalize layer for the geocode-first matcher.
7
7
  *
8
- * Address-first: {@linkcode PostalAddress} is the spine. The per-field normalizers
8
+ * Address-first: {@linkcode PostalAddress} is the canonical record. The per-field normalizers
9
9
  * ({@linkcode parsePersonName}, {@linkcode canonicalizeOrganizationName}) build on the same
10
10
  * plain-data pattern. Contact records and the comparator/Fellegi-Sunter layer land in the
11
11
  * matcher.
package/out/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * `@mailwoman/record` — the canonicalize layer for the geocode-first matcher.
7
7
  *
8
- * Address-first: {@linkcode PostalAddress} is the spine. The per-field normalizers
8
+ * Address-first: {@linkcode PostalAddress} is the canonical record. The per-field normalizers
9
9
  * ({@linkcode parsePersonName}, {@linkcode canonicalizeOrganizationName}) build on the same
10
10
  * plain-data pattern. Contact records and the comparator/Fellegi-Sunter layer land in the
11
11
  * matcher.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mailwoman/record",
3
- "version": "4.11.0",
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 spine.",
3
+ "version": "4.12.0",
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": {
7
7
  "type": "git",
@@ -17,7 +17,7 @@
17
17
  "./organization": "./out/organization.js"
18
18
  },
19
19
  "dependencies": {
20
- "@mailwoman/formatter": "4.11.0"
20
+ "@mailwoman/formatter": "4.12.0"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/node": "^25.9.2"