@finbheara/names 0.15.0 → 0.17.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 (42) hide show
  1. package/README.md +45 -6
  2. package/dist/chunks/{index-7vvt5hhy.js → index-0wpvbdgh.js} +2631 -1395
  3. package/dist/chunks/{index-7vvt5hhy.js.map → index-0wpvbdgh.js.map} +4 -4
  4. package/dist/chunks/{index-pncn9y2r.js → index-a6f2y4aa.js} +2 -2
  5. package/dist/chunks/{index-2565cn5x.js → index-ky754nsf.js} +3 -3
  6. package/dist/chunks/{index-kw69ry3j.js → index-n6fpj92s.js} +11 -367
  7. package/dist/chunks/{index-kw69ry3j.js.map → index-n6fpj92s.js.map} +4 -5
  8. package/dist/chunks/index-qmn87bdh.js +1697 -0
  9. package/dist/chunks/index-qmn87bdh.js.map +11 -0
  10. package/dist/chunks/{index-ka8nzreg.js → index-tk01chxw.js} +2 -2
  11. package/dist/chunks/{index-kw6gbrnq.js → index-tqdbxd92.js} +2 -2
  12. package/dist/chunks/{index-a15g2gp6.js → index-ye6j60jn.js} +3 -3
  13. package/dist/chunks/phrase-2hj26asc.js +11 -0
  14. package/dist/classifier/index.js +3 -3
  15. package/dist/cli/bin.js +109 -0
  16. package/dist/cli/bin.js.map +11 -0
  17. package/dist/cli/census.js +4 -4
  18. package/dist/index.js +18 -10
  19. package/dist/index.js.map +1 -1
  20. package/dist/lexicon/index.js +4 -2
  21. package/dist/lexicon/index.js.map +1 -1
  22. package/dist/measure/index.js +4 -4
  23. package/dist/normalize/index.js +13 -7
  24. package/dist/normalize/index.js.map +1 -1
  25. package/dist/types/cli/bin.d.ts +10 -0
  26. package/dist/types/cli/tables.d.ts +13 -0
  27. package/dist/types/lexicon/flags.d.ts +13 -5
  28. package/dist/types/normalize/given-diminutives.d.ts +15 -6
  29. package/dist/types/normalize/given-families.d.ts +53 -0
  30. package/dist/types/normalize/index.d.ts +1 -0
  31. package/dist/types/normalize/name-kinship.d.ts +12 -8
  32. package/docs/NAME-NORMALIZATION.md +36 -7
  33. package/names.txt +2624 -1389
  34. package/package.json +4 -2
  35. package/src/normalize/given-families.MANIFEST.json +46 -0
  36. package/dist/chunks/phrase-2nmvkrc5.js +0 -11
  37. /package/dist/chunks/{index-pncn9y2r.js.map → index-a6f2y4aa.js.map} +0 -0
  38. /package/dist/chunks/{index-2565cn5x.js.map → index-ky754nsf.js.map} +0 -0
  39. /package/dist/chunks/{index-ka8nzreg.js.map → index-tk01chxw.js.map} +0 -0
  40. /package/dist/chunks/{index-kw6gbrnq.js.map → index-tqdbxd92.js.map} +0 -0
  41. /package/dist/chunks/{index-a15g2gp6.js.map → index-ye6j60jn.js.map} +0 -0
  42. /package/dist/chunks/{phrase-2nmvkrc5.js.map → phrase-2hj26asc.js.map} +0 -0
@@ -3,10 +3,14 @@ import {
3
3
  isGiven2,
4
4
  isAmbiguous2,
5
5
  Lexicon2
6
- } from "./index-7vvt5hhy.js";
6
+ } from "./index-0wpvbdgh.js";
7
+ import {
8
+ givenFamilyTable2,
9
+ givenFamilyList2
10
+ } from "./index-qmn87bdh.js";
7
11
  import {
8
12
  isPlaceWordFlags
9
- } from "./index-kw6gbrnq.js";
13
+ } from "./index-tqdbxd92.js";
10
14
  import {
11
15
  doubleMetaphone2
12
16
  } from "./index-ebebeamh.js";
@@ -19,7 +23,7 @@ import {
19
23
  commaReading2,
20
24
  levelOf2,
21
25
  defaultPersonNameFactory2
22
- } from "./index-ka8nzreg.js";
26
+ } from "./index-tk01chxw.js";
23
27
  import {
24
28
  isTeamPrint2
25
29
  } from "./index-0phgwy52.js";
@@ -82,366 +86,6 @@ function repairMojibake2(v) {
82
86
  return v;
83
87
  }
84
88
  }
85
- // src/normalize/given-diminutives.json
86
- var given_diminutives_default = {
87
- $comment: [
88
- "THE ONE GIVEN-NAME DIMINUTIVE TABLE. Read by `given-diminutives.ts` in this directory; a consumer in",
89
- "another language reads this file rather than keeping a copy. Keys and forms are NN3 upper case,",
90
- "letters only.",
91
- "`variants`: one name's SPELLINGS, canonical -> the other spellings (`CONNOR` / `CONOR`). A spelling",
92
- "is read as its canonical before `families` is consulted, so `families` and `notAtGate` hold canonical",
93
- "spellings only. A transposition or a typo (`OLIVA`, `CAILTIN`, `NAIMH`) is not a variant.",
94
- "`families`: root -> its familiar forms. A form may sit under SEVERAL roots and meets EVERY one of",
95
- "them (`ELLIE` is ELEANOR's, ELIZABETH's and ELLEN's); two names meet when they share a root, a root",
96
- "belonging to itself. Nothing is transitive: ELEANOR and ELIZABETH share no root.",
97
- "`notAtGate`: forms read as one family for a comparison level BELOW exact, but which are names in",
98
- "their own right, translations, another gender's name, or forms of more than one root (every such",
99
- "form is listed). An identity gate must never equate a pair through one of these AS A FORM: `Megan`",
100
- "is not `Margaret`, `Sean` is not `John`, `Michelle` is not `Michael`. A listed form that is also a",
101
- "root still meets its own forms at a gate (`CAITLIN` / `CAIT`). A form belongs here when two",
102
- "different people plausibly carry the two names."
103
- ],
104
- variants: {
105
- AIDAN: ["AIDEN"],
106
- AISLING: ["ASHLING", "AISHLING"],
107
- ALANNA: ["ALANNAH", "ALANA"],
108
- ALEXANDRA: ["ALEXANDRIA"],
109
- ALLISON: ["ALISON"],
110
- AOIBHINN: ["AOIBHIN"],
111
- BRIANNA: ["BRIANA"],
112
- BRIGID: ["BRIDGID", "BRIGHID"],
113
- CAITLIN: ["CAITLYN", "KAITLIN", "KAITLYN", "KATELYN"],
114
- CAITRIONA: ["CATRIONA"],
115
- CATHERINE: ["KATHERINE", "KATHRYN", "CATHRYN"],
116
- CECILIA: ["CECELIA"],
117
- CIARA: ["KIERA", "KEIRA", "CIARRA"],
118
- CIARAN: ["KIERAN", "KEIRAN"],
119
- CLAIRE: ["CLARE"],
120
- COLLEEN: ["COLEEN"],
121
- CONNOR: ["CONOR"],
122
- DEBORAH: ["DEBRA"],
123
- EMER: ["EIMEAR"],
124
- FIONNUALA: ["FIONNULA"],
125
- GABRIELLE: ["GABRIELLA"],
126
- GRAINNE: ["GRAINE"],
127
- HALEY: ["HAILEY"],
128
- HANNAH: ["HANNA", "HANAH"],
129
- ISABEL: ["ISABELLE"],
130
- JEN: ["JENN"],
131
- JENNY: ["JENNIE"],
132
- JONATHAN: ["JONATHON"],
133
- JULIANNA: ["JULIANA"],
134
- KATE: ["CATE"],
135
- KATHLEEN: ["CATHLEEN"],
136
- KATIE: ["CATIE"],
137
- KAYLEIGH: ["KALEIGH"],
138
- KERRY: ["KERRI"],
139
- KIMBERLY: ["KIMBERLEY"],
140
- KRISTIN: ["KRISTEN"],
141
- LILY: ["LILLY"],
142
- LINDSAY: ["LINDSEY"],
143
- MADELINE: ["MADELEINE"],
144
- MADISON: ["MADDISON"],
145
- MATTHEW: ["MATHEW"],
146
- MEGAN: ["MEGHAN", "MEAGAN", "MEAGHAN"],
147
- MOLLY: ["MOLLIE"],
148
- RACHEL: ["RACHAEL"],
149
- SARAH: ["SARA"],
150
- SHANNON: ["SHANNAN", "SHANNEN"],
151
- SIOBHAN: ["SIOBHAIN"],
152
- SOPHIA: ["SOFIA"],
153
- STEPHEN: ["STEVEN"],
154
- SYDNEY: ["SIDNEY"],
155
- TERESA: ["THERESA"],
156
- TRISTAN: ["TRISTEN"],
157
- VICKY: ["VICKI"],
158
- ZACH: ["ZACK"]
159
- },
160
- families: {
161
- ABIGAIL: ["ABBY", "ABBIE", "ABBEY", "ABI"],
162
- ADDISON: ["ADDIE"],
163
- AIDAN: ["AODHAN", "AIDY"],
164
- ALEXANDER: ["ALEX", "ALEC", "SANDY", "XANDER", "ALEXANDRA", "ALEXA", "LEXI", "LEXIE"],
165
- ALEXANDRA: ["ALLY"],
166
- ALLISON: ["ALLY", "ALLIE"],
167
- AMANDA: ["MANDY"],
168
- ANDREW: ["ANDY"],
169
- ANGELA: ["ANGIE"],
170
- ANNE: ["ANN", "ANNA", "ANNIE", "NANCY", "NAN", "ANYA"],
171
- ANTHONY: ["TONY"],
172
- BARBARA: ["BARB"],
173
- BENJAMIN: ["BEN", "BENNY"],
174
- BRIDGET: ["BRIDIE", "BRID", "BRIGID", "BREDA", "BREEDA", "BIDDY"],
175
- CAITLIN: ["CAIT"],
176
- CASSANDRA: ["CASSIE"],
177
- CATHERINE: [
178
- "KATE",
179
- "KATIE",
180
- "KATY",
181
- "CATHY",
182
- "KATHY",
183
- "KIT",
184
- "KITTY",
185
- "CAITRIONA",
186
- "KATHLEEN",
187
- "CAITLIN"
188
- ],
189
- CHARLES: ["CHARLIE"],
190
- CHRISTOPHER: ["CHRIS", "KIT", "TOPHER"],
191
- CIARA: [],
192
- CIARAN: [],
193
- CONSTANCE: ["CONNIE"],
194
- CYNTHIA: ["CINDY"],
195
- DANIEL: ["DAN", "DANNY", "DANIELLE", "DANI"],
196
- DEBORAH: ["DEBBIE", "DEB"],
197
- DEIRDRE: ["DEE", "DIDI"],
198
- DOROTHY: ["DOT", "DOTTIE"],
199
- DOUGLAS: ["DOUG"],
200
- EDWARD: ["ED", "EDDIE", "TED", "TEDDY", "NED"],
201
- EILEEN: ["EILISH", "EILIS", "AILEEN"],
202
- ELEANOR: ["ELLIE"],
203
- ELIJAH: ["ELI"],
204
- ELIZABETH: [
205
- "LIZ",
206
- "LIZZIE",
207
- "BETH",
208
- "BETSY",
209
- "BETTY",
210
- "ELIZA",
211
- "LIBBY",
212
- "ELSIE",
213
- "ELISE",
214
- "ELLIE"
215
- ],
216
- ELLEN: ["ELLIE"],
217
- EOIN: ["OWEN", "EOGHAN"],
218
- EVA: ["EVIE"],
219
- EVANGELINE: ["EVIE"],
220
- EVE: ["EVIE"],
221
- EVELYN: ["EVIE"],
222
- FIONNUALA: ["FINOLA", "NUALA"],
223
- FLORENCE: ["FLO"],
224
- FRANCES: ["FRANCIE"],
225
- FRANCESCA: ["FRANKIE"],
226
- FRANCIS: ["FRANK", "FRANKIE", "FRAN", "FRANCES"],
227
- GABRIEL: ["GABE"],
228
- GABRIELLE: ["GABBY", "GABY"],
229
- GENEVIEVE: ["EVIE"],
230
- GEOFFREY: ["GEOFF"],
231
- GILLIAN: ["GILL"],
232
- GRACE: ["GRACIE"],
233
- GRAINNE: ["GRANIA", "GRACE"],
234
- GREGORY: ["GREG"],
235
- GWENDOLYN: ["GWEN"],
236
- ISABEL: ["IZZY", "ISSY"],
237
- JACOB: ["JAKE"],
238
- JACQUELINE: ["JACKIE"],
239
- JAMES: ["JIM", "JIMMY", "JAMIE", "SEAMUS", "JAY"],
240
- JEFFREY: ["JEFF"],
241
- JENNIFER: ["JEN", "JENNY"],
242
- JESSICA: ["JESSIE", "JESS"],
243
- JILLIAN: ["JILL"],
244
- JOHN: ["JACK", "JOHNNY", "SEAN", "SHANE", "JOHNNIE", "EOIN"],
245
- JOSEPH: ["JOE", "JOEY", "JOSEPHINE", "JO"],
246
- JOSEPHINE: ["JOSIE"],
247
- JOSHUA: ["JOSH"],
248
- JUDITH: ["JUDY"],
249
- KIMBERLY: ["KIM"],
250
- LILLIAN: ["LILY"],
251
- MADELINE: ["MADDIE", "MADDY"],
252
- MADISON: ["MADDIE"],
253
- MARGARET: [
254
- "MAGGIE",
255
- "PEGGY",
256
- "PEG",
257
- "MEG",
258
- "MEGAN",
259
- "MAIREAD",
260
- "GRETA",
261
- "MADGE",
262
- "MARGE",
263
- "MARGIE"
264
- ],
265
- MARY: ["MAIRE", "MOLLY", "MAY", "POLLY", "MAIREAD", "MARIE", "MARIA", "MOIRA", "MAUREEN"],
266
- MATTHEW: ["MATT", "MATTIE"],
267
- MAXIMILIAN: ["MAX"],
268
- MICHAEL: ["MIKE", "MICK", "MICKEY", "MICHEAL", "MICHELLE", "MICHAELA", "MIKEY"],
269
- MITCHELL: ["MITCH"],
270
- NATHAN: ["NATE"],
271
- NATHANIEL: ["NATE"],
272
- NIAMH: ["NEVE", "NEEVE"],
273
- NICHOLAS: ["NICK", "NICKY", "NICOLE", "NICOLA", "NIKKI"],
274
- PAMELA: ["PAM"],
275
- PATRICK: ["PAT", "PADDY", "PADRAIG", "PATSY", "PATRICIA", "TRICIA", "TRISH", "PATTY"],
276
- PENELOPE: ["PENNY"],
277
- PETER: ["PETE", "PEADAR"],
278
- PHILIPPA: ["PIPPA"],
279
- RAYMOND: ["RAY"],
280
- REBECCA: ["BECKY", "BECCA", "BEX"],
281
- RICHARD: ["RICK", "RICKY", "DICK", "RICH", "RICHIE"],
282
- ROBERT: ["ROB", "BOB", "BOBBY", "ROBBIE", "ROBERTA"],
283
- SAMANTHA: ["SAM", "SAMMY", "SAMMIE"],
284
- SAMUEL: ["SAM", "SAMMY", "SAMMIE"],
285
- SAOIRSE: ["SEERSHA"],
286
- SIOBHAN: ["SHIVAUN", "CHEVONNE"],
287
- SOPHIA: ["SOPHIE"],
288
- STEPHEN: ["STEVE", "STEPHANIE", "STEPH"],
289
- SUSAN: ["SUE", "SUSIE", "SUZANNE", "SUZY"],
290
- TABITHA: ["TABBY"],
291
- TERENCE: ["TERRY"],
292
- TERESA: ["TESS"],
293
- THOMAS: ["TOM", "TOMMY", "TOMAS", "THOM"],
294
- TIMOTHY: ["TIM", "TIMMY"],
295
- VICTORIA: ["VICKY"],
296
- VINCENT: ["VINNIE"],
297
- WILLIAM: ["WILL", "BILL", "BILLY", "WILLIE", "LIAM"],
298
- ZACHARY: ["ZACH"]
299
- },
300
- notAtGate: [
301
- "ABBEY",
302
- "ABBIE",
303
- "ABBY",
304
- "ADDIE",
305
- "ALEXA",
306
- "ALEXANDRA",
307
- "ALLIE",
308
- "ALLY",
309
- "ANNA",
310
- "ANYA",
311
- "CAITLIN",
312
- "CAITRIONA",
313
- "CHARLIE",
314
- "DANI",
315
- "DANIELLE",
316
- "DEE",
317
- "EILIS",
318
- "EILISH",
319
- "ELI",
320
- "ELISE",
321
- "ELLIE",
322
- "ELSIE",
323
- "EOGHAN",
324
- "EOIN",
325
- "EVIE",
326
- "FRANCES",
327
- "FRANKIE",
328
- "GRACE",
329
- "GRACIE",
330
- "GWEN",
331
- "JACK",
332
- "JAY",
333
- "JESSIE",
334
- "JILL",
335
- "JO",
336
- "JOSEPHINE",
337
- "JOSIE",
338
- "KATHLEEN",
339
- "KIM",
340
- "KIT",
341
- "LEXI",
342
- "LEXIE",
343
- "LIAM",
344
- "LILY",
345
- "MADDIE",
346
- "MAIRE",
347
- "MAIREAD",
348
- "MARIA",
349
- "MARIE",
350
- "MAUREEN",
351
- "MAX",
352
- "MAY",
353
- "MEGAN",
354
- "MICHAELA",
355
- "MICHEAL",
356
- "MICHELLE",
357
- "MOIRA",
358
- "MOLLY",
359
- "NANCY",
360
- "NATE",
361
- "NICOLA",
362
- "NICOLE",
363
- "NIKKI",
364
- "NUALA",
365
- "OWEN",
366
- "PADRAIG",
367
- "PATRICIA",
368
- "PATSY",
369
- "PATTY",
370
- "PEADAR",
371
- "PENNY",
372
- "POLLY",
373
- "ROBERTA",
374
- "SAM",
375
- "SAMMIE",
376
- "SAMMY",
377
- "SANDY",
378
- "SEAMUS",
379
- "SEAN",
380
- "SHANE",
381
- "SOPHIE",
382
- "STEPH",
383
- "STEPHANIE",
384
- "SUZANNE",
385
- "TERRY",
386
- "TESS",
387
- "TOMAS",
388
- "TRICIA",
389
- "TRISH"
390
- ]
391
- };
392
-
393
- // src/normalize/given-diminutives.ts
394
- var TABLE = given_diminutives_default;
395
- var CANONICAL = (() => {
396
- const out = new Map;
397
- for (const [canonical, spellings] of Object.entries(TABLE.variants))
398
- for (const s of spellings)
399
- out.set(s, canonical);
400
- return out;
401
- })();
402
- var ROOTS = (() => {
403
- const out = new Map;
404
- const add = (form, root) => {
405
- let roots = out.get(form);
406
- if (roots === undefined)
407
- out.set(form, roots = new Set);
408
- roots.add(root);
409
- };
410
- for (const [root, forms] of Object.entries(TABLE.families)) {
411
- add(root, root);
412
- for (const f of forms)
413
- add(f, root);
414
- }
415
- return out;
416
- })();
417
- var NOT_AT_GATE = new Set(TABLE.notAtGate);
418
- var canonical = (name) => CANONICAL.get(name) ?? name;
419
- var gateThrough = (name, root) => name === root || !NOT_AT_GATE.has(name);
420
- function sameGivenFamily2(a, b) {
421
- const via = givenFamilyTable2(a, b);
422
- return via === "given-variant" || via === "given-family";
423
- }
424
- function givenFamilyTable2(a, b) {
425
- if (a === b)
426
- return null;
427
- const ca = canonical(a);
428
- const cb = canonical(b);
429
- if (ca === cb)
430
- return "given-variant";
431
- const ra = ROOTS.get(ca);
432
- const rb = ROOTS.get(cb);
433
- if (ra === undefined || rb === undefined)
434
- return null;
435
- let shared = false;
436
- for (const root of ra) {
437
- if (!rb.has(root))
438
- continue;
439
- if (gateThrough(ca, root) && gateThrough(cb, root))
440
- return "given-family";
441
- shared = true;
442
- }
443
- return shared ? "given-family-not-gate" : null;
444
- }
445
89
  // src/normalize/multiset.ts
446
90
  function subMultiset(outer, inner) {
447
91
  const left = [...inner];
@@ -893,7 +537,7 @@ function surnamePartOf(a, b) {
893
537
  }
894
538
  function createNameKinship2(options = {}) {
895
539
  const providers = Object.freeze([
896
- ...options.given ?? [givenFamilyTable2]
540
+ ...options.given ?? [givenFamilyTable2, givenFamilyList2]
897
541
  ]);
898
542
  const givenVia = (x, y) => {
899
543
  const [lo, hi] = x < y ? [x, y] : [y, x];
@@ -1768,7 +1412,7 @@ function deriveNameFormat2(prints, options = {}) {
1768
1412
  return first;
1769
1413
  return scoreReadings(cells.map((c) => readNameCell2(c, { ...options, placeColumn: true })), NAME_FORMAT_MODEL, threshold, schoolRead);
1770
1414
  }
1771
- export { repairMojibake2, sameGivenFamily2, givenFamilyTable2, comparePosition2, nameRelation2, MAX_READINGS2, surnameParts2, printAttestsOrder2, nameReadings2, meetReading2, refinesReading2, sameReading2, chooseReadingPair2, composeReadings2, composeNames2, meetReadings2, nameMeet2, showReading2, blockKeysOfReadings2, nameBlockKeys2, namesFeasible2, KINSHIP_VIAS2, createNameKinship2, nameKinship2, nameCompare2, probablySame2, createNameSet2, createNameMap2, createNameIndex2, createNameClusters2, INFEASIBLE_CLASSES2, editDistance2, nearSpelling2, compoundGiven2, middleForm2, infeasibleClass2, isListJoiner2, personList2, surnameBlock2, initialsBlock2, metaphoneBlocks2, NAME_LEVEL_COLUMNS2, NAME_COLUMNS2, nameColumns2, NAME_FORMATS2, nameFormatOrder2, ORDER_READINGS2, readNameCell2, DEFAULT_NAME_FORMAT_THRESHOLD2, deriveNameFormat2 };
1415
+ export { repairMojibake2, comparePosition2, nameRelation2, MAX_READINGS2, surnameParts2, printAttestsOrder2, nameReadings2, meetReading2, refinesReading2, sameReading2, chooseReadingPair2, composeReadings2, composeNames2, meetReadings2, nameMeet2, showReading2, blockKeysOfReadings2, nameBlockKeys2, namesFeasible2, KINSHIP_VIAS2, createNameKinship2, nameKinship2, nameCompare2, probablySame2, createNameSet2, createNameMap2, createNameIndex2, createNameClusters2, INFEASIBLE_CLASSES2, editDistance2, nearSpelling2, compoundGiven2, middleForm2, infeasibleClass2, isListJoiner2, personList2, surnameBlock2, initialsBlock2, metaphoneBlocks2, NAME_LEVEL_COLUMNS2, NAME_COLUMNS2, nameColumns2, NAME_FORMATS2, nameFormatOrder2, ORDER_READINGS2, readNameCell2, DEFAULT_NAME_FORMAT_THRESHOLD2, deriveNameFormat2 };
1772
1416
 
1773
- //# debugId=37DF635DD383940A64756E2164756E21
1774
- //# sourceMappingURL=index-kw69ry3j.js.map
1417
+ //# debugId=3A882E8BB4656FA364756E2164756E21
1418
+ //# sourceMappingURL=index-n6fpj92s.js.map