vietnamese-phonetic-transcript 1.0.0 → 1.0.1

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/dist/index.cjs CHANGED
@@ -1,273 +1,770 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // lib/index.ts
21
- var index_exports = {};
22
- __export(index_exports, {
23
- phoneticTranscriptSentence: () => phoneticTranscriptSentence,
24
- phoneticTranscriptWord: () => phoneticTranscriptWord
25
- });
26
- module.exports = __toCommonJS(index_exports);
27
-
28
- // lib/phonetic_transcript/phonetic_transcript.ts
29
- var initialList = [
30
- { phoneme: "b-", character: "b" },
31
- { phoneme: "m-", character: "m" },
32
- { phoneme: "f-", character: "ph" },
33
- { phoneme: "v-", character: "v" },
34
- { phoneme: "t\u02BC-", character: "th" },
35
- { phoneme: "\u0288-", character: "tr" },
36
- { phoneme: "t-", character: "t" },
37
- { phoneme: "d-", character: "\u0111" },
38
- { phoneme: "\u0272-", character: "nh" },
39
- { phoneme: "\u014B-", character: "ngh", main: ["-i-", "-e-", "-\u025B-", "-ie-"] },
40
- { phoneme: "\u014B-", character: "ng" },
41
- { phoneme: "n-", character: "n" },
42
- { phoneme: "z-", character: "d" },
43
- { phoneme: "z-", character: "gi" },
44
- { phoneme: "\u0290-", character: "r" },
45
- { phoneme: "s-", character: "x" },
46
- { phoneme: "\u0282-", character: "s" },
47
- { phoneme: "l-", character: "l" },
48
- { phoneme: "\u03C7-", character: "kh" },
49
- { phoneme: "c-", character: "ch" },
50
- { phoneme: "k-", character: "k", main: ["-i-", "-e-", "-\u025B-", "-ie-"] },
51
- { phoneme: "k-", character: "q", medial: ["-u\uE608-"] },
52
- { phoneme: "k-", character: "c" },
53
- { phoneme: "\u0263-", character: "gh", main: ["-i-", "-e-", "-\u025B-", "-ie-"] },
54
- { phoneme: "\u0263-", character: "g" },
55
- { phoneme: "h-", character: "h" }
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/phonetic_transcript/phonetic_transcript.ts
3
+ const initialList = [
4
+ {
5
+ phoneme: "b-",
6
+ character: "b"
7
+ },
8
+ {
9
+ phoneme: "m-",
10
+ character: "m"
11
+ },
12
+ {
13
+ phoneme: "f-",
14
+ character: "ph"
15
+ },
16
+ {
17
+ phoneme: "v-",
18
+ character: "v"
19
+ },
20
+ {
21
+ phoneme: "tʼ-",
22
+ character: "th"
23
+ },
24
+ {
25
+ phoneme: "ʈ-",
26
+ character: "tr"
27
+ },
28
+ {
29
+ phoneme: "t-",
30
+ character: "t"
31
+ },
32
+ {
33
+ phoneme: "d-",
34
+ character: "đ"
35
+ },
36
+ {
37
+ phoneme: "ɲ-",
38
+ character: "nh"
39
+ },
40
+ {
41
+ phoneme: "ŋ-",
42
+ character: "ngh",
43
+ main: [
44
+ "-i-",
45
+ "-e-",
46
+ "-ɛ-",
47
+ "-ie-"
48
+ ]
49
+ },
50
+ {
51
+ phoneme: "ŋ-",
52
+ character: "ng"
53
+ },
54
+ {
55
+ phoneme: "n-",
56
+ character: "n"
57
+ },
58
+ {
59
+ phoneme: "z-",
60
+ character: "d"
61
+ },
62
+ {
63
+ phoneme: "z-",
64
+ character: "gi"
65
+ },
66
+ {
67
+ phoneme: "ʐ-",
68
+ character: "r"
69
+ },
70
+ {
71
+ phoneme: "s-",
72
+ character: "x"
73
+ },
74
+ {
75
+ phoneme: "ʂ-",
76
+ character: "s"
77
+ },
78
+ {
79
+ phoneme: "l-",
80
+ character: "l"
81
+ },
82
+ {
83
+ phoneme: "χ-",
84
+ character: "kh"
85
+ },
86
+ {
87
+ phoneme: "c-",
88
+ character: "ch"
89
+ },
90
+ {
91
+ phoneme: "k-",
92
+ character: "k",
93
+ main: [
94
+ "-i-",
95
+ "-e-",
96
+ "-ɛ-",
97
+ "-ie-"
98
+ ]
99
+ },
100
+ {
101
+ phoneme: "k-",
102
+ character: "q",
103
+ medial: ["-u-"]
104
+ },
105
+ {
106
+ phoneme: "k-",
107
+ character: "c"
108
+ },
109
+ {
110
+ phoneme: "ɣ-",
111
+ character: "gh",
112
+ main: [
113
+ "-i-",
114
+ "-e-",
115
+ "-ɛ-",
116
+ "-ie-"
117
+ ]
118
+ },
119
+ {
120
+ phoneme: "ɣ-",
121
+ character: "g"
122
+ },
123
+ {
124
+ phoneme: "h-",
125
+ character: "h"
126
+ }
56
127
  ];
57
- var medialList = [
58
- {
59
- phoneme: "-u\uE608-",
60
- character: "u",
61
- initial: ["k-"],
62
- main: ["-i-", "-e-", "-\u0264-", "-\u0264\uE60C-", "-ie-"]
63
- },
64
- {
65
- phoneme: "-u\uE608-",
66
- character: "o"
67
- }
128
+ const medialList = [{
129
+ phoneme: "-u-",
130
+ character: "u",
131
+ initial: ["k-"],
132
+ main: [
133
+ "-i-",
134
+ "-e-",
135
+ "-ɤ-",
136
+ "-ɤ-",
137
+ "-ie-"
138
+ ]
139
+ }, {
140
+ phoneme: "-u-",
141
+ character: "o"
142
+ }];
143
+ const mainList = [
144
+ {
145
+ phoneme: "-i-",
146
+ character: "y",
147
+ medial: ["-u-", "zero"],
148
+ initial: ["zero"],
149
+ final: ["zero"]
150
+ },
151
+ {
152
+ phoneme: "-i-",
153
+ character: "i"
154
+ },
155
+ {
156
+ phoneme: "-e-",
157
+ character: "ê"
158
+ },
159
+ {
160
+ phoneme: "-ɛ-",
161
+ character: "e"
162
+ },
163
+ {
164
+ phoneme: "-ɯ-",
165
+ character: "ư"
166
+ },
167
+ {
168
+ phoneme: "-ɤ-",
169
+ character: "ơ"
170
+ },
171
+ {
172
+ phoneme: "-a-",
173
+ character: "a"
174
+ },
175
+ {
176
+ phoneme: "-u-",
177
+ character: "u"
178
+ },
179
+ {
180
+ phoneme: "-o-",
181
+ character: "ô"
182
+ },
183
+ {
184
+ phoneme: "-o-",
185
+ character: "ôô"
186
+ },
187
+ {
188
+ phoneme: "-ɔ-",
189
+ character: "o"
190
+ },
191
+ {
192
+ phoneme: "-ɔ-",
193
+ character: "oo"
194
+ },
195
+ {
196
+ phoneme: "-ɤ-",
197
+ character: "â"
198
+ },
199
+ {
200
+ phoneme: "-ɛ-",
201
+ character: "a"
202
+ },
203
+ {
204
+ phoneme: "-ă-",
205
+ character: "a",
206
+ final: ["-w", "-j"]
207
+ },
208
+ {
209
+ phoneme: "-ă-",
210
+ character: "ă"
211
+ },
212
+ {
213
+ phoneme: "-ɔ-",
214
+ character: "o",
215
+ final: ["-ŋ", "-k"]
216
+ },
217
+ {
218
+ phoneme: "-ie-",
219
+ character: "iê",
220
+ notFinal: ["zero"],
221
+ medial: ["zero"]
222
+ },
223
+ {
224
+ phoneme: "-ie-",
225
+ character: "yê",
226
+ notFinal: ["zero"],
227
+ medial: ["-u-"],
228
+ initial: ["zero"]
229
+ },
230
+ {
231
+ phoneme: "-ie-",
232
+ character: "ia",
233
+ final: ["zero"],
234
+ medial: ["zero"]
235
+ },
236
+ {
237
+ phoneme: "-ie-",
238
+ character: "ya",
239
+ final: ["zero"],
240
+ medial: ["-u-"]
241
+ },
242
+ {
243
+ phoneme: "-ɯɤ-",
244
+ character: "ươ",
245
+ notFinal: ["zero"]
246
+ },
247
+ {
248
+ phoneme: "-ɯɤ-",
249
+ character: "ưa",
250
+ final: ["zero"]
251
+ },
252
+ {
253
+ phoneme: "-uo-",
254
+ character: "uô",
255
+ notFinal: ["zero"]
256
+ },
257
+ {
258
+ phoneme: "-uo-",
259
+ character: "ua",
260
+ final: ["zero"]
261
+ }
68
262
  ];
69
- var mainList = [
70
- {
71
- phoneme: "-i-",
72
- character: "y",
73
- medial: ["-u\uE608-", "zero"],
74
- initial: ["zero"],
75
- final: ["zero"]
76
- },
77
- { phoneme: "-i-", character: "i" },
78
- { phoneme: "-e-", character: "\xEA" },
79
- { phoneme: "-\u025B-", character: "e" },
80
- { phoneme: "-\u026F-", character: "\u01B0" },
81
- { phoneme: "-\u0264-", character: "\u01A1" },
82
- { phoneme: "-a-", character: "a" },
83
- { phoneme: "-u-", character: "u" },
84
- { phoneme: "-o-", character: "\xF4" },
85
- { phoneme: "-o-", character: "\xF4\xF4" },
86
- { phoneme: "-\u0254-", character: "o" },
87
- { phoneme: "-\u0254-", character: "oo" },
88
- { phoneme: "-\u0264\uE60C-", character: "\xE2" },
89
- { phoneme: "-\u025B\uE60C-", character: "a" },
90
- { phoneme: "-\u0103-", character: "a", final: ["-w", "-j"] },
91
- { phoneme: "-\u0103-", character: "\u0103" },
92
- { phoneme: "-\u0254\uE60C-", character: "o", final: ["-\u014B", "-k"] },
93
- { phoneme: "-ie-", character: "i\xEA", notFinal: ["zero"], medial: ["zero"] },
94
- {
95
- phoneme: "-ie-",
96
- character: "y\xEA",
97
- notFinal: ["zero"],
98
- medial: ["-u\uE608-"],
99
- initial: ["zero"]
100
- },
101
- { phoneme: "-ie-", character: "ia", final: ["zero"], medial: ["zero"] },
102
- { phoneme: "-ie-", character: "ya", final: ["zero"], medial: ["-u\uE608-"] },
103
- { phoneme: "-\u026F\u0264-", character: "\u01B0\u01A1", notFinal: ["zero"] },
104
- { phoneme: "-\u026F\u0264-", character: "\u01B0a", final: ["zero"] },
105
- { phoneme: "-uo-", character: "u\xF4", notFinal: ["zero"] },
106
- { phoneme: "-uo-", character: "ua", final: ["zero"] }
263
+ const finalList = [
264
+ {
265
+ phoneme: "-m",
266
+ character: "m"
267
+ },
268
+ {
269
+ phoneme: "-n",
270
+ character: "n"
271
+ },
272
+ {
273
+ phoneme: "-p",
274
+ character: "p"
275
+ },
276
+ {
277
+ phoneme: "-t",
278
+ character: "t"
279
+ },
280
+ {
281
+ phoneme: "-ŋ",
282
+ character: "nh",
283
+ main: [
284
+ "-i-",
285
+ "-e-",
286
+ "-ɛ-"
287
+ ]
288
+ },
289
+ {
290
+ phoneme: "-ŋ",
291
+ character: "ng"
292
+ },
293
+ {
294
+ phoneme: "-k",
295
+ character: "ch",
296
+ main: [
297
+ "-i-",
298
+ "-e-",
299
+ "-ɛ-"
300
+ ]
301
+ },
302
+ {
303
+ phoneme: "-k",
304
+ character: "c"
305
+ },
306
+ {
307
+ phoneme: "-w",
308
+ character: "o",
309
+ main: ["-a-", "-ɛ-"]
310
+ },
311
+ {
312
+ phoneme: "-w",
313
+ character: "u"
314
+ },
315
+ {
316
+ phoneme: "-j",
317
+ character: "y",
318
+ main: ["-ă-", "-ɤ-"]
319
+ },
320
+ {
321
+ phoneme: "-j",
322
+ character: "i"
323
+ }
107
324
  ];
108
- var finalList = [
109
- { phoneme: "-m", character: "m" },
110
- { phoneme: "-n", character: "n" },
111
- { phoneme: "-p", character: "p" },
112
- { phoneme: "-t", character: "t" },
113
- { phoneme: "-\u014B", character: "nh", main: ["-i-", "-e-", "-\u025B\uE60C-"] },
114
- { phoneme: "-\u014B", character: "ng" },
115
- { phoneme: "-k", character: "ch", main: ["-i-", "-e-", "-\u025B\uE60C-"] },
116
- { phoneme: "-k", character: "c" },
117
- { phoneme: "-w", character: "o", main: ["-a-", "-\u025B-"] },
118
- { phoneme: "-w", character: "u" },
119
- { phoneme: "-j", character: "y", main: ["-\u0103-", "-\u0264\uE60C-"] },
120
- { phoneme: "-j", character: "i" }
325
+ const toneMarkList = [
326
+ {
327
+ character: "a",
328
+ originalCharacter: "a",
329
+ toneMark: 1
330
+ },
331
+ {
332
+ character: "à",
333
+ originalCharacter: "a",
334
+ toneMark: 2
335
+ },
336
+ {
337
+ character: "ã",
338
+ originalCharacter: "a",
339
+ toneMark: 3
340
+ },
341
+ {
342
+ character: "ả",
343
+ originalCharacter: "a",
344
+ toneMark: 4
345
+ },
346
+ {
347
+ character: "á",
348
+ originalCharacter: "a",
349
+ toneMark: 5
350
+ },
351
+ {
352
+ character: "ạ",
353
+ originalCharacter: "a",
354
+ toneMark: 6
355
+ },
356
+ {
357
+ character: "ă",
358
+ originalCharacter: "ă",
359
+ toneMark: 1
360
+ },
361
+ {
362
+ character: "ằ",
363
+ originalCharacter: "ă",
364
+ toneMark: 2
365
+ },
366
+ {
367
+ character: "ẵ",
368
+ originalCharacter: "ă",
369
+ toneMark: 3
370
+ },
371
+ {
372
+ character: "ẳ",
373
+ originalCharacter: "ă",
374
+ toneMark: 4
375
+ },
376
+ {
377
+ character: "ắ",
378
+ originalCharacter: "ă",
379
+ toneMark: 5
380
+ },
381
+ {
382
+ character: "ặ",
383
+ originalCharacter: "ă",
384
+ toneMark: 6
385
+ },
386
+ {
387
+ character: "â",
388
+ originalCharacter: "â",
389
+ toneMark: 1
390
+ },
391
+ {
392
+ character: "ầ",
393
+ originalCharacter: "â",
394
+ toneMark: 2
395
+ },
396
+ {
397
+ character: "ẫ",
398
+ originalCharacter: "â",
399
+ toneMark: 3
400
+ },
401
+ {
402
+ character: "ẩ",
403
+ originalCharacter: "â",
404
+ toneMark: 4
405
+ },
406
+ {
407
+ character: "ấ",
408
+ originalCharacter: "â",
409
+ toneMark: 5
410
+ },
411
+ {
412
+ character: "ậ",
413
+ originalCharacter: "â",
414
+ toneMark: 6
415
+ },
416
+ {
417
+ character: "e",
418
+ originalCharacter: "e",
419
+ toneMark: 1
420
+ },
421
+ {
422
+ character: "è",
423
+ originalCharacter: "e",
424
+ toneMark: 2
425
+ },
426
+ {
427
+ character: "ẽ",
428
+ originalCharacter: "e",
429
+ toneMark: 3
430
+ },
431
+ {
432
+ character: "ẻ",
433
+ originalCharacter: "e",
434
+ toneMark: 4
435
+ },
436
+ {
437
+ character: "é",
438
+ originalCharacter: "e",
439
+ toneMark: 5
440
+ },
441
+ {
442
+ character: "ẹ",
443
+ originalCharacter: "e",
444
+ toneMark: 6
445
+ },
446
+ {
447
+ character: "ê",
448
+ originalCharacter: "ê",
449
+ toneMark: 1
450
+ },
451
+ {
452
+ character: "ề",
453
+ originalCharacter: "ê",
454
+ toneMark: 2
455
+ },
456
+ {
457
+ character: "ễ",
458
+ originalCharacter: "ê",
459
+ toneMark: 3
460
+ },
461
+ {
462
+ character: "ể",
463
+ originalCharacter: "ê",
464
+ toneMark: 4
465
+ },
466
+ {
467
+ character: "ế",
468
+ originalCharacter: "ê",
469
+ toneMark: 5
470
+ },
471
+ {
472
+ character: "ệ",
473
+ originalCharacter: "ê",
474
+ toneMark: 6
475
+ },
476
+ {
477
+ character: "i",
478
+ originalCharacter: "i",
479
+ toneMark: 1
480
+ },
481
+ {
482
+ character: "ì",
483
+ originalCharacter: "i",
484
+ toneMark: 2
485
+ },
486
+ {
487
+ character: "ĩ",
488
+ originalCharacter: "i",
489
+ toneMark: 3
490
+ },
491
+ {
492
+ character: "ỉ",
493
+ originalCharacter: "i",
494
+ toneMark: 4
495
+ },
496
+ {
497
+ character: "í",
498
+ originalCharacter: "i",
499
+ toneMark: 5
500
+ },
501
+ {
502
+ character: "ị",
503
+ originalCharacter: "i",
504
+ toneMark: 6
505
+ },
506
+ {
507
+ character: "o",
508
+ originalCharacter: "o",
509
+ toneMark: 1
510
+ },
511
+ {
512
+ character: "ò",
513
+ originalCharacter: "o",
514
+ toneMark: 2
515
+ },
516
+ {
517
+ character: "õ",
518
+ originalCharacter: "o",
519
+ toneMark: 3
520
+ },
521
+ {
522
+ character: "ỏ",
523
+ originalCharacter: "o",
524
+ toneMark: 4
525
+ },
526
+ {
527
+ character: "ó",
528
+ originalCharacter: "o",
529
+ toneMark: 5
530
+ },
531
+ {
532
+ character: "ọ",
533
+ originalCharacter: "o",
534
+ toneMark: 6
535
+ },
536
+ {
537
+ character: "ô",
538
+ originalCharacter: "ô",
539
+ toneMark: 1
540
+ },
541
+ {
542
+ character: "ồ",
543
+ originalCharacter: "ô",
544
+ toneMark: 2
545
+ },
546
+ {
547
+ character: "ỗ",
548
+ originalCharacter: "ô",
549
+ toneMark: 3
550
+ },
551
+ {
552
+ character: "ổ",
553
+ originalCharacter: "ô",
554
+ toneMark: 4
555
+ },
556
+ {
557
+ character: "ố",
558
+ originalCharacter: "ô",
559
+ toneMark: 5
560
+ },
561
+ {
562
+ character: "ộ",
563
+ originalCharacter: "ô",
564
+ toneMark: 6
565
+ },
566
+ {
567
+ character: "ơ",
568
+ originalCharacter: "ơ",
569
+ toneMark: 1
570
+ },
571
+ {
572
+ character: "ờ",
573
+ originalCharacter: "ơ",
574
+ toneMark: 2
575
+ },
576
+ {
577
+ character: "ỡ",
578
+ originalCharacter: "ơ",
579
+ toneMark: 3
580
+ },
581
+ {
582
+ character: "ở",
583
+ originalCharacter: "ơ",
584
+ toneMark: 4
585
+ },
586
+ {
587
+ character: "ớ",
588
+ originalCharacter: "ơ",
589
+ toneMark: 5
590
+ },
591
+ {
592
+ character: "ợ",
593
+ originalCharacter: "ơ",
594
+ toneMark: 6
595
+ },
596
+ {
597
+ character: "u",
598
+ originalCharacter: "u",
599
+ toneMark: 1
600
+ },
601
+ {
602
+ character: "ù",
603
+ originalCharacter: "u",
604
+ toneMark: 2
605
+ },
606
+ {
607
+ character: "ũ",
608
+ originalCharacter: "u",
609
+ toneMark: 3
610
+ },
611
+ {
612
+ character: "ủ",
613
+ originalCharacter: "u",
614
+ toneMark: 4
615
+ },
616
+ {
617
+ character: "ú",
618
+ originalCharacter: "u",
619
+ toneMark: 5
620
+ },
621
+ {
622
+ character: "ụ",
623
+ originalCharacter: "u",
624
+ toneMark: 6
625
+ },
626
+ {
627
+ character: "ư",
628
+ originalCharacter: "ư",
629
+ toneMark: 1
630
+ },
631
+ {
632
+ character: "ừ",
633
+ originalCharacter: "ư",
634
+ toneMark: 2
635
+ },
636
+ {
637
+ character: "ữ",
638
+ originalCharacter: "ư",
639
+ toneMark: 3
640
+ },
641
+ {
642
+ character: "ử",
643
+ originalCharacter: "ư",
644
+ toneMark: 4
645
+ },
646
+ {
647
+ character: "ứ",
648
+ originalCharacter: "ư",
649
+ toneMark: 5
650
+ },
651
+ {
652
+ character: "ự",
653
+ originalCharacter: "ư",
654
+ toneMark: 6
655
+ },
656
+ {
657
+ character: "y",
658
+ originalCharacter: "y",
659
+ toneMark: 1
660
+ },
661
+ {
662
+ character: "ỳ",
663
+ originalCharacter: "y",
664
+ toneMark: 2
665
+ },
666
+ {
667
+ character: "ỹ",
668
+ originalCharacter: "y",
669
+ toneMark: 3
670
+ },
671
+ {
672
+ character: "ỷ",
673
+ originalCharacter: "y",
674
+ toneMark: 4
675
+ },
676
+ {
677
+ character: "ý",
678
+ originalCharacter: "y",
679
+ toneMark: 5
680
+ },
681
+ {
682
+ character: "ỵ",
683
+ originalCharacter: "y",
684
+ toneMark: 6
685
+ }
121
686
  ];
122
- var toneMarkList = [
123
- { character: "a", originalCharacter: "a", toneMark: 1 },
124
- { character: "\xE0", originalCharacter: "a", toneMark: 2 },
125
- { character: "\xE3", originalCharacter: "a", toneMark: 3 },
126
- { character: "\u1EA3", originalCharacter: "a", toneMark: 4 },
127
- { character: "\xE1", originalCharacter: "a", toneMark: 5 },
128
- { character: "\u1EA1", originalCharacter: "a", toneMark: 6 },
129
- { character: "\u0103", originalCharacter: "\u0103", toneMark: 1 },
130
- { character: "\u1EB1", originalCharacter: "\u0103", toneMark: 2 },
131
- { character: "\u1EB5", originalCharacter: "\u0103", toneMark: 3 },
132
- { character: "\u1EB3", originalCharacter: "\u0103", toneMark: 4 },
133
- { character: "\u1EAF", originalCharacter: "\u0103", toneMark: 5 },
134
- { character: "\u1EB7", originalCharacter: "\u0103", toneMark: 6 },
135
- { character: "\xE2", originalCharacter: "\xE2", toneMark: 1 },
136
- { character: "\u1EA7", originalCharacter: "\xE2", toneMark: 2 },
137
- { character: "\u1EAB", originalCharacter: "\xE2", toneMark: 3 },
138
- { character: "\u1EA9", originalCharacter: "\xE2", toneMark: 4 },
139
- { character: "\u1EA5", originalCharacter: "\xE2", toneMark: 5 },
140
- { character: "\u1EAD", originalCharacter: "\xE2", toneMark: 6 },
141
- { character: "e", originalCharacter: "e", toneMark: 1 },
142
- { character: "\xE8", originalCharacter: "e", toneMark: 2 },
143
- { character: "\u1EBD", originalCharacter: "e", toneMark: 3 },
144
- { character: "\u1EBB", originalCharacter: "e", toneMark: 4 },
145
- { character: "\xE9", originalCharacter: "e", toneMark: 5 },
146
- { character: "\u1EB9", originalCharacter: "e", toneMark: 6 },
147
- { character: "\xEA", originalCharacter: "\xEA", toneMark: 1 },
148
- { character: "\u1EC1", originalCharacter: "\xEA", toneMark: 2 },
149
- { character: "\u1EC5", originalCharacter: "\xEA", toneMark: 3 },
150
- { character: "\u1EC3", originalCharacter: "\xEA", toneMark: 4 },
151
- { character: "\u1EBF", originalCharacter: "\xEA", toneMark: 5 },
152
- { character: "\u1EC7", originalCharacter: "\xEA", toneMark: 6 },
153
- { character: "i", originalCharacter: "i", toneMark: 1 },
154
- { character: "\xEC", originalCharacter: "i", toneMark: 2 },
155
- { character: "\u0129", originalCharacter: "i", toneMark: 3 },
156
- { character: "\u1EC9", originalCharacter: "i", toneMark: 4 },
157
- { character: "\xED", originalCharacter: "i", toneMark: 5 },
158
- { character: "\u1ECB", originalCharacter: "i", toneMark: 6 },
159
- { character: "o", originalCharacter: "o", toneMark: 1 },
160
- { character: "\xF2", originalCharacter: "o", toneMark: 2 },
161
- { character: "\xF5", originalCharacter: "o", toneMark: 3 },
162
- { character: "\u1ECF", originalCharacter: "o", toneMark: 4 },
163
- { character: "\xF3", originalCharacter: "o", toneMark: 5 },
164
- { character: "\u1ECD", originalCharacter: "o", toneMark: 6 },
165
- { character: "\xF4", originalCharacter: "\xF4", toneMark: 1 },
166
- { character: "\u1ED3", originalCharacter: "\xF4", toneMark: 2 },
167
- { character: "\u1ED7", originalCharacter: "\xF4", toneMark: 3 },
168
- { character: "\u1ED5", originalCharacter: "\xF4", toneMark: 4 },
169
- { character: "\u1ED1", originalCharacter: "\xF4", toneMark: 5 },
170
- { character: "\u1ED9", originalCharacter: "\xF4", toneMark: 6 },
171
- { character: "\u01A1", originalCharacter: "\u01A1", toneMark: 1 },
172
- { character: "\u1EDD", originalCharacter: "\u01A1", toneMark: 2 },
173
- { character: "\u1EE1", originalCharacter: "\u01A1", toneMark: 3 },
174
- { character: "\u1EDF", originalCharacter: "\u01A1", toneMark: 4 },
175
- { character: "\u1EDB", originalCharacter: "\u01A1", toneMark: 5 },
176
- { character: "\u1EE3", originalCharacter: "\u01A1", toneMark: 6 },
177
- { character: "u", originalCharacter: "u", toneMark: 1 },
178
- { character: "\xF9", originalCharacter: "u", toneMark: 2 },
179
- { character: "\u0169", originalCharacter: "u", toneMark: 3 },
180
- { character: "\u1EE7", originalCharacter: "u", toneMark: 4 },
181
- { character: "\xFA", originalCharacter: "u", toneMark: 5 },
182
- { character: "\u1EE5", originalCharacter: "u", toneMark: 6 },
183
- { character: "\u01B0", originalCharacter: "\u01B0", toneMark: 1 },
184
- { character: "\u1EEB", originalCharacter: "\u01B0", toneMark: 2 },
185
- { character: "\u1EEF", originalCharacter: "\u01B0", toneMark: 3 },
186
- { character: "\u1EED", originalCharacter: "\u01B0", toneMark: 4 },
187
- { character: "\u1EE9", originalCharacter: "\u01B0", toneMark: 5 },
188
- { character: "\u1EF1", originalCharacter: "\u01B0", toneMark: 6 },
189
- { character: "y", originalCharacter: "y", toneMark: 1 },
190
- { character: "\u1EF3", originalCharacter: "y", toneMark: 2 },
191
- { character: "\u1EF9", originalCharacter: "y", toneMark: 3 },
192
- { character: "\u1EF7", originalCharacter: "y", toneMark: 4 },
193
- { character: "\xFD", originalCharacter: "y", toneMark: 5 },
194
- { character: "\u1EF5", originalCharacter: "y", toneMark: 6 }
195
- ];
196
- var transcriptToString = (transcript) => {
197
- if (!transcript.main || !transcript.toneMark) {
198
- throw new Error("Invalid phonetic transcript");
199
- }
200
- return (transcript.initial?.replaceAll("-", "") || "") + (transcript?.medial?.replaceAll("-", "") || "") + transcript.main.replaceAll("-", "") + (transcript.final?.replaceAll("-", "") || "") + transcript.toneMark.toString();
201
- };
202
- var buildPhoneticTranscript = (word) => {
203
- word = word.toLowerCase();
204
- let transcript = {
205
- toneMark: 1
206
- };
207
- toneMarkList.forEach((toneMark) => {
208
- if (toneMark.toneMark !== 1 && word.includes(toneMark.character)) {
209
- transcript.toneMark = toneMark.toneMark;
210
- word = word.replace(toneMark.character, toneMark.originalCharacter);
211
- }
212
- });
213
- initialList.forEach((initial) => {
214
- if (word.startsWith(initial.character) && word.length - initial.character.length > 0) {
215
- transcript.initial = initial.phoneme;
216
- transcript.initialCharacter = initial.character;
217
- word = word.slice(initial.character.length);
218
- }
219
- });
220
- finalList.forEach((final) => {
221
- if (word.endsWith(final.character) && word.length - final.character.length > 0) {
222
- transcript.final = final.phoneme;
223
- transcript.finalCharacter = final.character;
224
- word = word.slice(0, word.length - final.character.length);
225
- }
226
- });
227
- if (word.length > 1 && word !== "oo") {
228
- if (word.startsWith("u") && (transcript.initialCharacter === "q" || ["y", "i", "\xEA", "\u01A1", "\xE2", "i\xEA", "y\xEA", "ia", "ya"].includes(
229
- word.slice(1)
230
- ))) {
231
- transcript.medial = medialList[0].phoneme;
232
- transcript.medialCharacter = medialList[0].character;
233
- word = word.slice(1);
234
- } else if (word.startsWith("o")) {
235
- transcript.medial = medialList[1].phoneme;
236
- transcript.medialCharacter = medialList[1].character;
237
- word = word.slice(1);
238
- }
239
- }
240
- if (word === "o" && transcript.finalCharacter && ["nh", "ng", "ch", "c"].includes(transcript.finalCharacter)) {
241
- const main = mainList.filter((main2) => main2.phoneme === "-\u0254\uE60C-");
242
- transcript.main = main[0].phoneme;
243
- transcript.mainCharacter = main[0].character;
244
- word = word.slice(1);
245
- } else {
246
- mainList.forEach((main) => {
247
- if (word === main.character) {
248
- transcript.main = main.phoneme;
249
- transcript.mainCharacter = main.character;
250
- word = word.slice(main.character.length);
251
- }
252
- });
253
- }
254
- return transcript;
255
- };
256
- var phoneticTranscriptWord = (word) => {
257
- return word.replaceAll(/[^\P{L}]+/gmu, (word2) => {
258
- try {
259
- return transcriptToString(buildPhoneticTranscript(word2));
260
- } catch (e) {
261
- return word2;
262
- }
263
- });
264
- };
265
- var phoneticTranscriptSentence = (sentence) => {
266
- return sentence.split(" ").map((word) => phoneticTranscriptWord(word)).join(" ");
267
- };
268
- // Annotate the CommonJS export names for ESM import in node:
269
- 0 && (module.exports = {
270
- phoneticTranscriptSentence,
271
- phoneticTranscriptWord
272
- });
687
+ function transcriptToString(transcript) {
688
+ if (!transcript.main || !transcript.toneMark) throw new Error("Invalid phonetic transcript");
689
+ return ((transcript.initial?.replaceAll("-", "") ?? "") || "") + ((transcript?.medial?.replaceAll("-", "") ?? "") || "") + transcript.main.replaceAll("-", "") + ((transcript.final?.replaceAll("-", "") ?? "") || "") + transcript.toneMark.toString();
690
+ }
691
+ function buildPhoneticTranscript(word) {
692
+ word = word.toLowerCase();
693
+ const transcript = { toneMark: 1 };
694
+ toneMarkList.forEach((toneMark) => {
695
+ if (toneMark.toneMark !== 1 && word.includes(toneMark.character)) {
696
+ transcript.toneMark = toneMark.toneMark;
697
+ word = word.replace(toneMark.character, toneMark.originalCharacter);
698
+ }
699
+ });
700
+ initialList.forEach((initial) => {
701
+ if (word.startsWith(initial.character) && word.length - initial.character.length > 0) {
702
+ transcript.initial = initial.phoneme;
703
+ transcript.initialCharacter = initial.character;
704
+ word = word.slice(initial.character.length);
705
+ }
706
+ });
707
+ finalList.forEach((final) => {
708
+ if (word.endsWith(final.character) && word.length - final.character.length > 0) {
709
+ transcript.final = final.phoneme;
710
+ transcript.finalCharacter = final.character;
711
+ word = word.slice(0, word.length - final.character.length);
712
+ }
713
+ });
714
+ if (word.length > 1 && word !== "oo") {
715
+ if (word.startsWith("u") && (transcript.initialCharacter === "q" || [
716
+ "y",
717
+ "i",
718
+ "ê",
719
+ "ơ",
720
+ "â",
721
+ "iê",
722
+ "yê",
723
+ "ia",
724
+ "ya"
725
+ ].includes(word.slice(1)))) {
726
+ transcript.medial = medialList[0].phoneme;
727
+ transcript.medialCharacter = medialList[0].character;
728
+ word = word.slice(1);
729
+ } else if (word.startsWith("o")) {
730
+ transcript.medial = medialList[1].phoneme;
731
+ transcript.medialCharacter = medialList[1].character;
732
+ word = word.slice(1);
733
+ }
734
+ }
735
+ if (word === "o" && transcript.finalCharacter !== void 0 && [
736
+ "nh",
737
+ "ng",
738
+ "ch",
739
+ "c"
740
+ ].includes(transcript.finalCharacter)) {
741
+ const main = mainList.filter((main) => main.phoneme === "-ɔ-");
742
+ transcript.main = main[0].phoneme;
743
+ transcript.mainCharacter = main[0].character;
744
+ word = word.slice(1);
745
+ } else mainList.forEach((main) => {
746
+ if (word === main.character) {
747
+ transcript.main = main.phoneme;
748
+ transcript.mainCharacter = main.character;
749
+ word = word.slice(main.character.length);
750
+ }
751
+ });
752
+ return transcript;
753
+ }
754
+ function phoneticTranscriptWord(word) {
755
+ return word.replaceAll(/\p{L}+/gu, (word) => {
756
+ try {
757
+ return transcriptToString(buildPhoneticTranscript(word));
758
+ } catch {
759
+ return word;
760
+ }
761
+ });
762
+ }
763
+ function phoneticTranscriptSentence(sentence) {
764
+ return sentence.split(" ").map((word) => phoneticTranscriptWord(word)).join(" ");
765
+ }
766
+ //#endregion
767
+ exports.phoneticTranscriptSentence = phoneticTranscriptSentence;
768
+ exports.phoneticTranscriptWord = phoneticTranscriptWord;
769
+
273
770
  //# sourceMappingURL=index.cjs.map