urdu-text-utils 0.1.8 → 0.1.10-alpha.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/dist/index.js CHANGED
@@ -3283,7 +3283,460 @@ var ROMAN_VARIANTS = {
3283
3283
  mashallah: "\u0645\u0627\u0634\u0627\u0621\u0627\u0644\u0644\u06C1",
3284
3284
  inshallah: "\u0627\u0646\u0634\u0627\u0621\u0627\u0644\u0644\u06C1",
3285
3285
  alhamdulillah: "\u0627\u0644\u062D\u0645\u062F\u0644\u0644\u06C1",
3286
- jazakallah: "\u062C\u0632\u0627\u06A9\u200C\u0627\u0644\u0644\u06C1"
3286
+ jazakallah: "\u062C\u0632\u0627\u06A9\u200C\u0627\u0644\u0644\u06C1",
3287
+ // ---- additional Roman variants for common words ----
3288
+ // verbs
3289
+ hona: "\u06C1\u0648\u0646\u0627",
3290
+ hua: "\u06C1\u0648\u0627",
3291
+ hui: "\u06C1\u0648\u0626\u06CC",
3292
+ hue: "\u06C1\u0648\u0626\u06D2",
3293
+ jana: "\u062C\u0627\u0646\u0627",
3294
+ jata: "\u062C\u0627\u062A\u0627",
3295
+ jati: "\u062C\u0627\u062A\u06CC",
3296
+ gaya: "\u06AF\u06CC\u0627",
3297
+ gayi: "\u06AF\u0626\u06CC",
3298
+ aana: "\u0622\u0646\u0627",
3299
+ aati: "\u0622\u062A\u06CC",
3300
+ aaya: "\u0622\u06CC\u0627",
3301
+ aayi: "\u0622\u0626\u06CC",
3302
+ dena: "\u062F\u06CC\u0646\u0627",
3303
+ deta: "\u062F\u06CC\u062A\u0627",
3304
+ deti: "\u062F\u06CC\u062A\u06CC",
3305
+ diya: "\u062F\u06CC\u0627",
3306
+ lena: "\u0644\u06CC\u0646\u0627",
3307
+ leta: "\u0644\u06CC\u062A\u0627",
3308
+ leti: "\u0644\u06CC\u062A\u06CC",
3309
+ liya: "\u0644\u06CC\u0627",
3310
+ kehna: "\u06A9\u06C1\u0646\u0627",
3311
+ kehta: "\u06A9\u06C1\u062A\u0627",
3312
+ kehti: "\u06A9\u06C1\u062A\u06CC",
3313
+ dekhta: "\u062F\u06CC\u06A9\u06BE\u062A\u0627",
3314
+ dekhti: "\u062F\u06CC\u06A9\u06BE\u062A\u06CC",
3315
+ dekha: "\u062F\u06CC\u06A9\u06BE\u0627",
3316
+ bolna: "\u0628\u0648\u0644\u0646\u0627",
3317
+ bolta: "\u0628\u0648\u0644\u062A\u0627",
3318
+ boli: "\u0628\u0648\u0644\u06CC",
3319
+ bola: "\u0628\u0648\u0644\u0627",
3320
+ padhna: "\u067E\u0691\u06BE\u0646\u0627",
3321
+ padhta: "\u067E\u0691\u06BE\u062A\u0627",
3322
+ padhti: "\u067E\u0691\u06BE\u062A\u06CC",
3323
+ padha: "\u067E\u0691\u06BE\u0627",
3324
+ likhna: "\u0644\u06A9\u06BE\u0646\u0627",
3325
+ likhta: "\u0644\u06A9\u06BE\u062A\u0627",
3326
+ likhti: "\u0644\u06A9\u06BE\u062A\u06CC",
3327
+ likha: "\u0644\u06A9\u06BE\u0627",
3328
+ samajhna: "\u0633\u0645\u062C\u06BE\u0646\u0627",
3329
+ samjha: "\u0633\u0645\u062C\u06BE\u0627",
3330
+ chahna: "\u0686\u0627\u06C1\u0646\u0627",
3331
+ chahta: "\u0686\u0627\u06C1\u062A\u0627",
3332
+ chahti: "\u0686\u0627\u06C1\u062A\u06CC",
3333
+ sakna: "\u0633\u06A9\u0646\u0627",
3334
+ sakta: "\u0633\u06A9\u062A\u0627",
3335
+ sakti: "\u0633\u06A9\u062A\u06CC",
3336
+ rehna: "\u0631\u06C1\u0646\u0627",
3337
+ rehta: "\u0631\u06C1\u062A\u0627",
3338
+ rehti: "\u0631\u06C1\u062A\u06CC",
3339
+ raha: "\u0631\u06C1\u0627",
3340
+ rahi: "\u0631\u06C1\u06CC",
3341
+ banna: "\u0628\u0646\u0646\u0627",
3342
+ bana: "\u0628\u0646\u0627",
3343
+ banana: "\u0628\u0646\u0627\u0646\u0627",
3344
+ banaya: "\u0628\u0646\u0627\u06CC\u0627",
3345
+ milna: "\u0645\u0644\u0646\u0627",
3346
+ milta: "\u0645\u0644\u062A\u0627",
3347
+ milti: "\u0645\u0644\u062A\u06CC",
3348
+ mila: "\u0645\u0644\u0627",
3349
+ mili: "\u0645\u0644\u06CC",
3350
+ khata: "\u06A9\u06BE\u0627\u062A\u0627",
3351
+ khati: "\u06A9\u06BE\u0627\u062A\u06CC",
3352
+ khaya: "\u06A9\u06BE\u0627\u06CC\u0627",
3353
+ peena: "\u067E\u06CC\u0646\u0627",
3354
+ peeta: "\u067E\u06CC\u062A\u0627",
3355
+ piya: "\u067E\u06CC\u0627",
3356
+ sota: "\u0633\u0648\u062A\u0627",
3357
+ soti: "\u0633\u0648\u062A\u06CC",
3358
+ soya: "\u0633\u0648\u06CC\u0627",
3359
+ uthna: "\u0627\u0679\u06BE\u0646\u0627",
3360
+ utha: "\u0627\u0679\u06BE\u0627",
3361
+ baithna: "\u0628\u06CC\u0679\u06BE\u0646\u0627",
3362
+ baitha: "\u0628\u06CC\u0679\u06BE\u0627",
3363
+ chalta: "\u0686\u0644\u062A\u0627",
3364
+ chalti: "\u0686\u0644\u062A\u06CC",
3365
+ chala: "\u0686\u0644\u0627",
3366
+ rakhna: "\u0631\u06A9\u06BE\u0646\u0627",
3367
+ rakha: "\u0631\u06A9\u06BE\u0627",
3368
+ maangna: "\u0645\u0627\u0646\u06AF\u0646\u0627",
3369
+ manga: "\u0645\u0627\u0646\u06AF\u0627",
3370
+ puchna: "\u067E\u0648\u0686\u06BE\u0646\u0627",
3371
+ poocha: "\u067E\u0648\u0686\u06BE\u0627",
3372
+ batana: "\u0628\u062A\u0627\u0646\u0627",
3373
+ bataya: "\u0628\u062A\u0627\u06CC\u0627",
3374
+ kholna: "\u06A9\u06BE\u0648\u0644\u0646\u0627",
3375
+ khola: "\u06A9\u06BE\u0648\u0644\u0627",
3376
+ marna: "\u0645\u0631\u0646\u0627",
3377
+ mara: "\u0645\u0631\u0627",
3378
+ jeetna: "\u062C\u06CC\u062A\u0646\u0627",
3379
+ jeeta: "\u062C\u06CC\u062A\u0627",
3380
+ haarna: "\u06C1\u0627\u0631\u0646\u0627",
3381
+ haara: "\u06C1\u0627\u0631\u0627",
3382
+ badalna: "\u0628\u062F\u0644\u0646\u0627",
3383
+ badla: "\u0628\u062F\u0644\u0627",
3384
+ rukna: "\u0631\u06A9\u0646\u0627",
3385
+ rokna: "\u0631\u0648\u06A9\u0646\u0627",
3386
+ roka: "\u0631\u0648\u06A9\u0627",
3387
+ khelna: "\u06A9\u06BE\u06CC\u0644\u0646\u0627",
3388
+ khela: "\u06A9\u06BE\u06CC\u0644\u0627",
3389
+ hansna: "\u06C1\u0646\u0633\u0646\u0627",
3390
+ hansa: "\u06C1\u0646\u0633\u0627",
3391
+ rona: "\u0631\u0648\u0646\u0627",
3392
+ roya: "\u0631\u0648\u06CC\u0627",
3393
+ darna: "\u0688\u0631\u0646\u0627",
3394
+ dara: "\u0688\u0631\u0627",
3395
+ bhoolna: "\u0628\u06BE\u0648\u0644\u0646\u0627",
3396
+ bhoola: "\u0628\u06BE\u0648\u0644\u0627",
3397
+ seekhna: "\u0633\u06CC\u06A9\u06BE\u0646\u0627",
3398
+ seekha: "\u0633\u06CC\u06A9\u06BE\u0627",
3399
+ sikhana: "\u0633\u06A9\u06BE\u0627\u0646\u0627",
3400
+ sikhaya: "\u0633\u06A9\u06BE\u0627\u06CC\u0627",
3401
+ dhona: "\u062F\u06BE\u0648\u0646\u0627",
3402
+ dhoya: "\u062F\u06BE\u0648\u06CC\u0627",
3403
+ pehanna: "\u067E\u06C1\u0646\u0646\u0627",
3404
+ pehna: "\u067E\u06C1\u0646\u0627",
3405
+ bechna: "\u0628\u06CC\u0686\u0646\u0627",
3406
+ becha: "\u0628\u06CC\u0686\u0627",
3407
+ khareedna: "\u062E\u0631\u06CC\u062F\u0646\u0627",
3408
+ khareeda: "\u062E\u0631\u06CC\u062F\u0627",
3409
+ bhejna: "\u0628\u06BE\u06CC\u062C\u0646\u0627",
3410
+ bheja: "\u0628\u06BE\u06CC\u062C\u0627",
3411
+ nikalna: "\u0646\u06A9\u0644\u0646\u0627",
3412
+ nikla: "\u0646\u06A9\u0644\u0627",
3413
+ girna: "\u06AF\u0631\u0646\u0627",
3414
+ gira: "\u06AF\u0631\u0627",
3415
+ pakarna: "\u067E\u06A9\u0691\u0646\u0627",
3416
+ pakra: "\u067E\u06A9\u0691\u0627",
3417
+ chhorna: "\u0686\u06BE\u0648\u0691\u0646\u0627",
3418
+ chhora: "\u0686\u06BE\u0648\u0691\u0627",
3419
+ torna: "\u062A\u0648\u0691\u0646\u0627",
3420
+ tora: "\u062A\u0648\u0691\u0627",
3421
+ katna: "\u06A9\u0627\u0679\u0646\u0627",
3422
+ kata: "\u06A9\u0627\u0679\u0627",
3423
+ daalna: "\u0688\u0627\u0644\u0646\u0627",
3424
+ dala: "\u0688\u0627\u0644\u0627",
3425
+ manna: "\u0645\u0627\u0646\u0646\u0627",
3426
+ mana: "\u0645\u0627\u0646\u0627",
3427
+ bulana: "\u0628\u0644\u0627\u0646\u0627",
3428
+ bulaya: "\u0628\u0644\u0627\u06CC\u0627",
3429
+ dikhana: "\u062F\u06A9\u06BE\u0627\u0646\u0627",
3430
+ dikhaya: "\u062F\u06A9\u06BE\u0627\u06CC\u0627",
3431
+ phenkna: "\u067E\u06BE\u06CC\u0646\u06A9\u0646\u0627",
3432
+ phenka: "\u067E\u06BE\u06CC\u0646\u06A9\u0627",
3433
+ letna: "\u0644\u06CC\u0679\u0646\u0627",
3434
+ jagna: "\u062C\u0627\u06AF\u0646\u0627",
3435
+ lautna: "\u0644\u0648\u0679\u0646\u0627",
3436
+ guzarna: "\u06AF\u0632\u0627\u0631\u0646\u0627",
3437
+ kamana: "\u06A9\u0645\u0627\u0646\u0627",
3438
+ kamaya: "\u06A9\u0645\u0627\u06CC\u0627",
3439
+ ginna: "\u06AF\u0646\u0646\u0627",
3440
+ bandhna: "\u0628\u0627\u0646\u062F\u06BE\u0646\u0627",
3441
+ bandha: "\u0628\u0627\u0646\u062F\u06BE\u0627",
3442
+ bharna: "\u0628\u06BE\u0631\u0646\u0627",
3443
+ bhara: "\u0628\u06BE\u0631\u0627",
3444
+ doobna: "\u0688\u0648\u0628\u0646\u0627",
3445
+ chamakna: "\u0686\u0645\u06A9\u0646\u0627",
3446
+ ghoomna: "\u06AF\u06BE\u0648\u0645\u0646\u0627",
3447
+ phirna: "\u067E\u06BE\u0631\u0646\u0627",
3448
+ phailna: "\u067E\u06BE\u06CC\u0644\u0646\u0627",
3449
+ // nouns
3450
+ insaan: "\u0627\u0646\u0633\u0627\u0646",
3451
+ larka: "\u0644\u0691\u06A9\u0627",
3452
+ larki: "\u0644\u0691\u06A9\u06CC",
3453
+ bacha: "\u0628\u0686\u06C1",
3454
+ bachi: "\u0628\u0686\u06CC",
3455
+ maan: "\u0645\u0627\u06BA",
3456
+ baap: "\u0628\u0627\u067E",
3457
+ beta: "\u0628\u06CC\u0679\u0627",
3458
+ beti: "\u0628\u06CC\u0679\u06CC",
3459
+ dushman: "\u062F\u0634\u0645\u0646",
3460
+ makaan: "\u0645\u06A9\u0627\u0646",
3461
+ kamra: "\u06A9\u0645\u0631\u06C1",
3462
+ darwaza: "\u062F\u0631\u0648\u0627\u0632\u06C1",
3463
+ khirki: "\u06A9\u06BE\u0691\u06A9\u06CC",
3464
+ chhat: "\u0686\u06BE\u062A",
3465
+ deewar: "\u062F\u06CC\u0648\u0627\u0631",
3466
+ farsh: "\u0641\u0631\u0634",
3467
+ qalam: "\u0642\u0644\u0645",
3468
+ kaghaz: "\u06A9\u0627\u063A\u0630",
3469
+ mez: "\u0645\u06CC\u0632",
3470
+ kursi: "\u06A9\u0631\u0633\u06CC",
3471
+ almari: "\u0627\u0644\u0645\u0627\u0631\u06CC",
3472
+ palang: "\u067E\u0644\u0646\u06AF",
3473
+ bistar: "\u0628\u0633\u062A\u0631",
3474
+ parda: "\u067E\u0631\u062F\u06C1",
3475
+ qaleen: "\u0642\u0627\u0644\u06CC\u0646",
3476
+ bartan: "\u0628\u0631\u062A\u0646",
3477
+ chamach: "\u0686\u0645\u0686",
3478
+ plate: "\u067E\u0644\u06CC\u0679",
3479
+ pyali: "\u067E\u06CC\u0627\u0644\u06CC",
3480
+ cup: "\u06A9\u067E",
3481
+ glass: "\u06AF\u0644\u0627\u0633",
3482
+ botal: "\u0628\u0648\u062A\u0644",
3483
+ dabba: "\u0688\u0628\u06C1",
3484
+ jharoo: "\u062C\u06BE\u0627\u0691\u0648",
3485
+ sabun: "\u0635\u0627\u0628\u0646",
3486
+ aaina: "\u0622\u0626\u06CC\u0646\u06C1",
3487
+ sheesha: "\u0634\u06CC\u0634\u06C1",
3488
+ kanghi: "\u06A9\u0646\u06AF\u06BE\u06CC",
3489
+ sui: "\u0633\u0648\u0626\u06CC",
3490
+ qainchi: "\u0642\u06CC\u0646\u0686\u06CC",
3491
+ tala: "\u062A\u0627\u0644\u0627",
3492
+ chabi: "\u0686\u0627\u0628\u06CC",
3493
+ ghari: "\u06AF\u06BE\u0691\u06CC",
3494
+ topi: "\u0679\u0648\u067E\u06CC",
3495
+ pagri: "\u067E\u06AF\u0691\u06CC",
3496
+ qameez: "\u0642\u0645\u06CC\u0636",
3497
+ shalwar: "\u0634\u0644\u0648\u0627\u0631",
3498
+ pajama: "\u067E\u0627\u062C\u0627\u0645\u06C1",
3499
+ pant: "\u067E\u06CC\u0646\u0679",
3500
+ shirt: "\u0634\u0631\u0679",
3501
+ coat: "\u06A9\u0648\u0679",
3502
+ shawl: "\u0634\u0627\u0644",
3503
+ dupatta: "\u062F\u0648\u067E\u0679\u06C1",
3504
+ joota: "\u062C\u0648\u062A\u0627",
3505
+ chappal: "\u0686\u067E\u0644",
3506
+ sandal: "\u0635\u0646\u062F\u0644",
3507
+ kapra: "\u06A9\u067E\u0691\u0627",
3508
+ doodh: "\u062F\u0648\u062F\u06BE",
3509
+ dahi: "\u062F\u06C1\u06CC",
3510
+ ghee: "\u06AF\u06BE\u06CC",
3511
+ chai: "\u0686\u0627\u0626\u06D2",
3512
+ qehwa: "\u0642\u06C1\u0648\u06C1",
3513
+ coffee: "\u06A9\u0627\u0641\u06CC",
3514
+ lassi: "\u0644\u0633\u06CC",
3515
+ juice: "\u062C\u0648\u0633",
3516
+ roti: "\u0631\u0648\u0679\u06CC",
3517
+ naan: "\u0646\u0627\u0646",
3518
+ paratha: "\u067E\u0631\u0627\u0679\u06BE\u0627",
3519
+ chawal: "\u0686\u0627\u0648\u0644",
3520
+ biryani: "\u0628\u0631\u06CC\u0627\u0646\u06CC",
3521
+ pulao: "\u067E\u0644\u0627\u0624",
3522
+ salan: "\u0633\u0627\u0644\u0646",
3523
+ qorma: "\u0642\u0648\u0631\u0645\u06C1",
3524
+ nihari: "\u0646\u06C1\u0627\u0631\u06CC",
3525
+ haleem: "\u062D\u0644\u06CC\u0645",
3526
+ kabab: "\u06A9\u0628\u0627\u0628",
3527
+ tikka: "\u062A\u06A9\u06C1",
3528
+ samosa: "\u0633\u0645\u0648\u0633\u06C1",
3529
+ daal: "\u062F\u0627\u0644",
3530
+ gosht: "\u06AF\u0648\u0634\u062A",
3531
+ qeema: "\u0642\u06CC\u0645\u06C1",
3532
+ murghi: "\u0645\u0631\u063A\u06CC",
3533
+ machhli: "\u0645\u0686\u06BE\u0644\u06CC",
3534
+ anda: "\u0627\u0646\u0688\u0627",
3535
+ sabzi: "\u0633\u0628\u0632\u06CC",
3536
+ maida: "\u0645\u06CC\u062F\u06C1",
3537
+ namak: "\u0646\u0645\u06A9",
3538
+ cheeni: "\u0686\u06CC\u0646\u06CC",
3539
+ mirch: "\u0645\u0631\u0686",
3540
+ haldi: "\u06C1\u0644\u062F\u06CC",
3541
+ dhaniya: "\u062F\u06BE\u0646\u06CC\u0627",
3542
+ zeera: "\u0632\u06CC\u0631\u06C1",
3543
+ lehsun: "\u0644\u06C1\u0633\u0646",
3544
+ adrak: "\u0627\u062F\u0631\u06A9",
3545
+ pyaz: "\u067E\u06CC\u0627\u0632",
3546
+ tamatar: "\u0679\u0645\u0627\u0679\u0631",
3547
+ aloo: "\u0622\u0644\u0648",
3548
+ gajar: "\u06AF\u0627\u062C\u0631",
3549
+ matar: "\u0645\u0679\u0631",
3550
+ palak: "\u067E\u0627\u0644\u06A9",
3551
+ gobhi: "\u06AF\u0648\u0628\u06BE\u06CC",
3552
+ bhindi: "\u0628\u06BE\u0646\u0688\u06CC",
3553
+ karela: "\u06A9\u0631\u06CC\u0644\u0627",
3554
+ kaddu: "\u06A9\u062F\u0648",
3555
+ kheera: "\u06A9\u06BE\u06CC\u0631\u0627",
3556
+ phal: "\u067E\u06BE\u0644",
3557
+ saib: "\u0633\u06CC\u0628",
3558
+ kela: "\u06A9\u06CC\u0644\u0627",
3559
+ angoor: "\u0627\u0646\u06AF\u0648\u0631",
3560
+ anar: "\u0627\u0646\u0627\u0631",
3561
+ amrood: "\u0627\u0645\u0631\u0648\u062F",
3562
+ tarbooz: "\u062A\u0631\u0628\u0648\u0632",
3563
+ badam: "\u0628\u0627\u062F\u0627\u0645",
3564
+ pista: "\u067E\u0633\u062A\u06C1",
3565
+ kaju: "\u06A9\u0627\u062C\u0648",
3566
+ kheer: "\u06A9\u06BE\u06CC\u0631",
3567
+ halwa: "\u062D\u0644\u0648\u06C1",
3568
+ zarda: "\u0632\u0631\u062F\u06C1",
3569
+ jalebi: "\u062C\u0644\u06CC\u0628\u06CC",
3570
+ kulfi: "\u06A9\u0644\u0641\u06CC",
3571
+ cake: "\u06A9\u06CC\u06A9",
3572
+ chocolate: "\u0686\u0627\u06A9\u0644\u06CC\u0679",
3573
+ mithai: "\u0645\u0679\u06BE\u0627\u0626\u06CC",
3574
+ salad: "\u0633\u0644\u0627\u062F",
3575
+ raita: "\u0631\u0627\u0626\u062A\u06C1",
3576
+ chatni: "\u0686\u0679\u0646\u06CC",
3577
+ achaar: "\u0627\u0686\u0627\u0631",
3578
+ dimagh: "\u062F\u0645\u0627\u063A",
3579
+ jism: "\u062C\u0633\u0645",
3580
+ sar: "\u0633\u0631",
3581
+ aankh: "\u0622\u0646\u06A9\u06BE",
3582
+ aankhein: "\u0622\u0646\u06A9\u06BE\u06CC\u06BA",
3583
+ kaan: "\u06A9\u0627\u0646",
3584
+ naak: "\u0646\u0627\u06A9",
3585
+ munh: "\u0645\u0646\u06C1",
3586
+ daant: "\u062F\u0627\u0646\u062A",
3587
+ zuban: "\u0632\u0628\u0627\u0646",
3588
+ gala: "\u06AF\u0644\u0627",
3589
+ gardan: "\u06AF\u0631\u062F\u0646",
3590
+ kandha: "\u06A9\u0646\u062F\u06BE\u0627",
3591
+ bazu: "\u0628\u0627\u0632\u0648",
3592
+ hath: "\u06C1\u0627\u062A\u06BE",
3593
+ ungli: "\u0627\u0646\u06AF\u0644\u06CC",
3594
+ seena: "\u0633\u06CC\u0646\u06C1",
3595
+ pet: "\u067E\u06CC\u0679",
3596
+ kamar: "\u06A9\u0645\u0631",
3597
+ taang: "\u0679\u0627\u0646\u06AF",
3598
+ paon: "\u067E\u0627\u0624\u06BA",
3599
+ haddi: "\u06C1\u0688\u06CC",
3600
+ khoon: "\u062E\u0648\u0646",
3601
+ jild: "\u062C\u0644\u062F",
3602
+ baal: "\u0628\u0627\u0644",
3603
+ chehra: "\u0686\u06C1\u0631\u06C1",
3604
+ sehat: "\u0635\u062D\u062A",
3605
+ beemari: "\u0628\u06CC\u0645\u0627\u0631\u06CC",
3606
+ dard: "\u062F\u0631\u062F",
3607
+ ilaj: "\u0639\u0644\u0627\u062C",
3608
+ dawa: "\u062F\u0648\u0627",
3609
+ goli: "\u06AF\u0648\u0644\u06CC",
3610
+ ishq: "\u0639\u0634\u0642",
3611
+ nafrat: "\u0646\u0641\u0631\u062A",
3612
+ gham: "\u063A\u0645",
3613
+ dukh: "\u062F\u06A9\u06BE",
3614
+ ummeed: "\u0627\u0645\u06CC\u062F",
3615
+ yaqeen: "\u06CC\u0642\u06CC\u0646",
3616
+ sach: "\u0633\u0686",
3617
+ jhoot: "\u062C\u06BE\u0648\u0679",
3618
+ insaf: "\u0627\u0646\u0635\u0627\u0641",
3619
+ zulm: "\u0638\u0644\u0645",
3620
+ izzat: "\u0639\u0632\u062A",
3621
+ dua: "\u062F\u0639\u0627",
3622
+ khwab: "\u062E\u0648\u0627\u0628",
3623
+ khayal: "\u062E\u06CC\u0627\u0644",
3624
+ maut: "\u0645\u0648\u062A",
3625
+ taqat: "\u0637\u0642\u062A",
3626
+ koshish: "\u06A9\u0648\u0634\u0634",
3627
+ kamyabi: "\u06A9\u0627\u0645\u06CC\u0627\u0628\u06CC",
3628
+ nakami: "\u0646\u0627\u06A9\u0627\u0645\u06CC",
3629
+ faisla: "\u0641\u06CC\u0635\u0644\u06C1",
3630
+ ghussa: "\u063A\u0635\u06C1",
3631
+ akhlaq: "\u0627\u062E\u0644\u0627\u0642",
3632
+ wafa: "\u0648\u0641\u0627",
3633
+ dosti: "\u062F\u0648\u0633\u062A\u06CC",
3634
+ sakoon: "\u0633\u06A9\u0648\u0646",
3635
+ ilm: "\u0639\u0644\u0645",
3636
+ taleem: "\u062A\u0639\u0644\u06CC\u0645",
3637
+ sabaq: "\u0633\u0628\u0642",
3638
+ imtihan: "\u0627\u0645\u062A\u062D\u0627\u0646",
3639
+ masla: "\u0645\u0633\u0626\u0644\u06C1",
3640
+ sawal: "\u0633\u0648\u0627\u0644",
3641
+ jawab: "\u062C\u0648\u0627\u0628",
3642
+ lafz: "\u0644\u0641\u0638",
3643
+ jumla: "\u062C\u0645\u0644\u06C1",
3644
+ maani: "\u0645\u0639\u0646\u06CC",
3645
+ matlab: "\u0645\u0637\u0644\u0628",
3646
+ khabar: "\u062E\u0628\u0631",
3647
+ akhbar: "\u0627\u062E\u0628\u0627\u0631",
3648
+ kahani: "\u06A9\u06C1\u0627\u0646\u06CC",
3649
+ qissa: "\u0642\u0635\u06C1",
3650
+ dastan: "\u062F\u0627\u0633\u062A\u0627\u0646",
3651
+ novel: "\u0646\u0627\u0648\u0644",
3652
+ mazmoon: "\u0645\u0636\u0645\u0648\u0646",
3653
+ ghazal: "\u063A\u0632\u0644",
3654
+ nazm: "\u0646\u0638\u0645",
3655
+ adab: "\u0627\u062F\u0628",
3656
+ tareekh: "\u062A\u0627\u0631\u06CC\u062E",
3657
+ science: "\u0633\u0627\u0626\u0646\u0633",
3658
+ falsafa: "\u0641\u0644\u0633\u0641\u06C1",
3659
+ saqafat: "\u062B\u0642\u0627\u0641\u062A",
3660
+ tehzeeb: "\u062A\u06C1\u0630\u06CC\u0628",
3661
+ moseeqi: "\u0645\u0648\u0633\u06CC\u0642\u06CC",
3662
+ tasweer: "\u062A\u0635\u0648\u06CC\u0631",
3663
+ rang: "\u0631\u0646\u06AF",
3664
+ awaz: "\u0622\u0648\u0627\u0632",
3665
+ khamoshi: "\u062E\u0627\u0645\u0648\u0634\u06CC",
3666
+ namaz: "\u0646\u0645\u0627\u0632",
3667
+ roza: "\u0631\u0648\u0632\u06C1",
3668
+ hajj: "\u062D\u062C",
3669
+ eid: "\u0639\u06CC\u062F",
3670
+ qurbani: "\u0642\u0631\u0628\u0627\u0646\u06CC",
3671
+ mazhab: "\u0645\u0630\u06C1\u0628",
3672
+ rasool: "\u0631\u0633\u0648\u0644",
3673
+ nabi: "\u0646\u0628\u06CC",
3674
+ quran: "\u0642\u0631\u0622\u0646",
3675
+ hadees: "\u062D\u062F\u06CC\u062B",
3676
+ deen: "\u062F\u06CC\u0646",
3677
+ imaan: "\u0627\u06CC\u0645\u0627\u0646",
3678
+ jannat: "\u062C\u0646\u062A",
3679
+ dozakh: "\u062F\u0648\u0632\u062E",
3680
+ farishta: "\u0641\u0631\u0634\u062A\u06C1",
3681
+ qayamat: "\u0642\u06CC\u0627\u0645\u062A",
3682
+ ibadat: "\u0639\u0628\u0627\u062F\u062A",
3683
+ gunah: "\u06AF\u0646\u0627\u06C1",
3684
+ rehmat: "\u0631\u062D\u0645\u062A",
3685
+ barkat: "\u0628\u0631\u06A9\u062A",
3686
+ naiki: "\u0646\u06CC\u06A9\u06CC",
3687
+ siyasat: "\u0633\u06CC\u0627\u0633\u062A",
3688
+ election: "\u0627\u0644\u06CC\u06A9\u0634\u0646",
3689
+ intikhab: "\u0627\u0646\u062A\u062E\u0627\u0628",
3690
+ vote: "\u0648\u0648\u0679",
3691
+ party: "\u067E\u0627\u0631\u0679\u06CC",
3692
+ jamaat: "\u062C\u0645\u0627\u0639\u062A",
3693
+ qanoon: "\u0642\u0627\u0646\u0648\u0646",
3694
+ dastoor: "\u062F\u0633\u062A\u0648\u0631",
3695
+ hukumat: "\u062D\u06A9\u0648\u0645\u062A",
3696
+ jurm: "\u062C\u0631\u0645",
3697
+ mujrim: "\u0645\u062C\u0631\u0645",
3698
+ saza: "\u0633\u0632\u0627",
3699
+ fauj: "\u0641\u0648\u062C",
3700
+ jang: "\u062C\u0646\u06AF",
3701
+ larai: "\u0644\u0691\u0627\u0626\u06CC",
3702
+ aman: "\u0627\u0645\u0646",
3703
+ sulah: "\u0635\u0644\u062D",
3704
+ tijarat: "\u062A\u062C\u0627\u0631\u062A",
3705
+ karobar: "\u06A9\u0627\u0631\u0648\u0628\u0627\u0631",
3706
+ sanat: "\u0635\u0646\u0639\u062A",
3707
+ taraqqi: "\u062A\u0631\u0642\u06CC",
3708
+ report: "\u0631\u067E\u0648\u0631\u0679",
3709
+ conference: "\u06A9\u0627\u0646\u0641\u0631\u0646\u0633",
3710
+ taqreer: "\u062A\u0642\u0631\u06CC\u0631",
3711
+ aasman: "\u0622\u0633\u0645\u0627\u0646",
3712
+ zameen: "\u0632\u0645\u06CC\u0646",
3713
+ sooraj: "\u0633\u0648\u0631\u062C",
3714
+ sitara: "\u0633\u062A\u0627\u0631\u06C1",
3715
+ pahaar: "\u067E\u06C1\u0627\u0691",
3716
+ nadi: "\u0646\u062F\u06CC",
3717
+ darya: "\u062F\u0631\u06CC\u0627",
3718
+ samundar: "\u0633\u0645\u0646\u062F\u0631",
3719
+ jungle: "\u062C\u0646\u06AF\u0644",
3720
+ bagh: "\u0628\u0627\u063A",
3721
+ phool: "\u067E\u06BE\u0648\u0644",
3722
+ darakht: "\u062F\u0631\u062E\u062A",
3723
+ pattay: "\u067E\u062A\u0651\u06D2",
3724
+ machli: "\u0645\u0686\u06BE\u0644\u06CC",
3725
+ parinday: "\u067E\u0631\u0646\u062F\u06D2",
3726
+ kutta: "\u06A9\u062A\u0627",
3727
+ billi: "\u0628\u0644\u06CC",
3728
+ ghora: "\u06AF\u06BE\u0648\u0691\u0627",
3729
+ gaay: "\u06AF\u0627\u0626\u06D2",
3730
+ bhains: "\u0628\u06BE\u06CC\u0633",
3731
+ bakra: "\u0628\u06A9\u0631\u0627",
3732
+ mendha: "\u0645\u06CC\u0688\u06BE\u0627",
3733
+ khargosh: "\u062E\u0631\u06AF\u0648\u0634",
3734
+ saanp: "\u0633\u0627\u0646\u067E",
3735
+ cheel: "\u0686\u06CC\u0644",
3736
+ kabootar: "\u06A9\u0628\u0648\u062A\u0631",
3737
+ tota: "\u062A\u0648\u062A\u0627",
3738
+ ullu: "\u0627\u0644\u0648",
3739
+ chuha: "\u0686\u0648\u06C1\u0627"
3287
3740
  };
3288
3741
 
3289
3742
  // src/transliterate.ts
@@ -3701,6 +4154,244 @@ function timeAgoUrdu(date, relativeTo = /* @__PURE__ */ new Date(), options = {}
3701
4154
  return isPast ? `${count} \u0633\u0627\u0644 \u067E\u06C1\u0644\u06D2` : `${count} \u0633\u0627\u0644 \u0628\u0639\u062F`;
3702
4155
  }
3703
4156
 
3704
- export { URDU_MONTHS_GREGORIAN, URDU_MONTHS_HIJRI, URDU_STOP_WORDS, URDU_WEEKDAYS, analyzeUrdu, compareUrdu, convertNumbers, countSentences, countWords, editDistance, filterStopWords, foldUrdu, formatUrduDate, getUrduMonthName, getUrduWeekdayName, hasUrduSpecificLetters, highlightUrdu, isStopWord, isUrdu, normalizeUrdu, numberToUrduWords, parseUrduNumber, removeDiacritics, removeStopWords, romanToUrdu, romanize, searchUrdu, searchUrduRanked, sortUrdu, splitSentences, splitWords, timeAgoUrdu, toArabicIndicDigits, toEnglishDigits, toUrduDigits, urduRatio, urduSlug };
4157
+ // src/stemmer.ts
4158
+ var URDU_PREFIXES = [
4159
+ "\u063A\u06CC\u0631",
4160
+ "\u062E\u0648\u062F",
4161
+ "\u0627\u06C1\u0644",
4162
+ "\u0628\u06D2",
4163
+ "\u0646\u0627",
4164
+ "\u0644\u0627",
4165
+ "\u0628\u062F",
4166
+ "\u06A9\u0645",
4167
+ "\u0627\u0646",
4168
+ "\u06C1\u0645",
4169
+ "\u0628\u0627",
4170
+ "\u067E\u064F\u0631"
4171
+ ];
4172
+ var URDU_SUFFIXES = [
4173
+ // Compound / multi-syllable suffixes
4174
+ "\u06CC\u06BA\u06AF\u06D2",
4175
+ "\u06CC\u0646\u06AF\u06D2",
4176
+ "\u06D2\u06AF\u0627",
4177
+ "\u06D2\u06AF\u06CC",
4178
+ "\u06CC\u0646\u06AF\u06CC",
4179
+ "\u062F\u0627\u0631\u06CC",
4180
+ "\u06AF\u0627\u0631\u06CC",
4181
+ "\u06A9\u0627\u0631\u06CC",
4182
+ "\u0633\u0627\u0632\u06CC",
4183
+ "\u0628\u0627\u0632\u06CC",
4184
+ "\u0645\u0646\u062F\u06CC",
4185
+ "\u062A\u0631\u06CC\u0646",
4186
+ "\u0633\u062A\u0627\u0646",
4187
+ "\u062E\u0627\u0646\u06C1",
4188
+ "\u0646\u0627\u0645\u06C1",
4189
+ "\u062C\u0627\u062A",
4190
+ "\u06AF\u0627\u0646",
4191
+ // Adjectival / nominal / agentive suffixes
4192
+ "\u062F\u0627\u0631",
4193
+ "\u06AF\u0627\u0631",
4194
+ "\u06A9\u0627\u0631",
4195
+ "\u0633\u0627\u0632",
4196
+ "\u0628\u0627\u0632",
4197
+ "\u0645\u0646\u062F",
4198
+ "\u0646\u0627\u06A9",
4199
+ "\u0648\u0627\u0631",
4200
+ "\u062F\u0627\u0646",
4201
+ "\u0632\u0627\u0631",
4202
+ "\u06CC\u062A",
4203
+ "\u067E\u0646",
4204
+ "\u0627\u0626\u06CC",
4205
+ "\u062A\u0631",
4206
+ // Plural & verbal inflections
4207
+ "\u06CC\u0627\u06BA",
4208
+ "\u0626\u06CC\u06BA",
4209
+ "\u0624\u06BA",
4210
+ "\u06CC\u0648\u06BA",
4211
+ "\u0648\u06BA",
4212
+ "\u06CC\u06BA",
4213
+ "\u0627\u062A",
4214
+ "\u06C1\u0627",
4215
+ "\u06CC\u0646",
4216
+ "\u062A\u06CC\u06BA",
4217
+ "\u062A\u0627",
4218
+ "\u062A\u06CC",
4219
+ "\u062A\u06D2",
4220
+ "\u0646\u0627"
4221
+ ];
4222
+ var PROTECTED_WORDS = /* @__PURE__ */ new Set([
4223
+ "\u06C1\u0645",
4224
+ "\u0646\u0627",
4225
+ "\u0644\u0627",
4226
+ "\u0628\u06D2",
4227
+ "\u06CC\u0627",
4228
+ "\u062A\u0648",
4229
+ "\u067E\u0631",
4230
+ "\u0633\u06D2",
4231
+ "\u06A9\u0648",
4232
+ "\u06A9\u0627",
4233
+ "\u06A9\u06CC",
4234
+ "\u06A9\u06D2",
4235
+ "\u0645\u06CC\u06BA",
4236
+ "\u0646\u06D2",
4237
+ "\u06C1\u06D2",
4238
+ "\u06C1\u06CC\u06BA",
4239
+ "\u06C1\u0648",
4240
+ "\u062A\u06BE\u0627",
4241
+ "\u062A\u06BE\u06CC",
4242
+ "\u062A\u06BE\u06D2",
4243
+ "\u062A\u06BE\u06CC\u06BA",
4244
+ "\u0628\u0627\u063A",
4245
+ "\u0646\u0627\u0645",
4246
+ "\u0633\u0641\u0631",
4247
+ "\u06C1\u0648\u0627",
4248
+ "\u062F\u0644",
4249
+ "\u0633\u0631",
4250
+ "\u0644\u0628",
4251
+ "\u062F\u0633\u062A",
4252
+ "\u06A9\u0627\u0631",
4253
+ "\u0628\u0627\u0631",
4254
+ "\u0628\u0627\u0644",
4255
+ "\u0628\u0627\u0646",
4256
+ "\u0634\u0627\u0645",
4257
+ "\u06A9\u0627\u0645",
4258
+ "\u062F\u0627\u0645",
4259
+ "\u062C\u0627\u0645",
4260
+ "\u0639\u0627\u0645",
4261
+ "\u0631\u0627\u0645",
4262
+ "\u06AF\u0627\u0645",
4263
+ "\u062A\u0627\u0631",
4264
+ "\u06CC\u0627\u0631",
4265
+ "\u0645\u0627\u0631",
4266
+ "\u0646\u0627\u0631",
4267
+ "\u062F\u0627\u0631",
4268
+ "\u06C1\u0627\u0631",
4269
+ "\u0632\u0627\u0631",
4270
+ "\u063A\u0627\u0631",
4271
+ "\u0631\u0627\u062A",
4272
+ "\u0628\u0627\u062A",
4273
+ "\u0645\u0627\u062A",
4274
+ "\u0630\u0627\u062A",
4275
+ "\u06C1\u0627\u062A\u06BE",
4276
+ "\u0633\u0627\u062A\u06BE",
4277
+ "\u062F\u06CC\u0646",
4278
+ "\u062A\u06CC\u0646",
4279
+ "\u0686\u06CC\u0646",
4280
+ "\u0628\u06CC\u0646",
4281
+ "\u0632\u0645\u06CC\u0646",
4282
+ "\u0627\u0646\u0633\u0627\u0646",
4283
+ "\u0627\u062D\u0633\u0627\u0646",
4284
+ "\u0627\u06CC\u0645\u0627\u0646",
4285
+ "\u0627\u0633\u0644\u0627\u0645",
4286
+ "\u0627\u0639\u0644\u0627\u0646",
4287
+ "\u0627\u0645\u06A9\u0627\u0646",
4288
+ "\u0627\u0631\u0645\u0627\u0646",
4289
+ "\u0627\u0641\u063A\u0627\u0646",
4290
+ "\u0627\u06CC\u0631\u0627\u0646",
4291
+ "\u0639\u0645\u0631\u0627\u0646",
4292
+ "\u0639\u062B\u0645\u0627\u0646",
4293
+ "\u0633\u0644\u0645\u0627\u0646",
4294
+ "\u0639\u0631\u0641\u0627\u0646",
4295
+ "\u0642\u0631\u0622\u0646",
4296
+ "\u0637\u0648\u0641\u0627\u0646",
4297
+ "\u067E\u06C1\u0686\u0627\u0646",
4298
+ "\u062F\u06A9\u0627\u0646",
4299
+ "\u0645\u06A9\u0627\u0646",
4300
+ "\u0627\u0633\u0645\u0627\u0646",
4301
+ "\u0622\u0633\u0645\u0627\u0646",
4302
+ "\u0645\u06C1\u0645\u0627\u0646",
4303
+ "\u0646\u0642\u0635\u0627\u0646"
4304
+ ]);
4305
+ function applySuffixStripping(word, suffixes, minLen) {
4306
+ if (word.length <= minLen) return { stem: word };
4307
+ if (word.endsWith("\u06CC\u0627\u06BA") && word.length - 3 >= minLen) {
4308
+ const base = word.slice(0, -3);
4309
+ return { stem: `${base}\u06CC`, suffix: "\u06CC\u0627\u06BA" };
4310
+ }
4311
+ if (word.endsWith("\u06CC\u0648\u06BA") && word.length - 3 >= minLen) {
4312
+ const base = word.slice(0, -3);
4313
+ return { stem: `${base}\u06CC`, suffix: "\u06CC\u0648\u06BA" };
4314
+ }
4315
+ if (word.endsWith("\u0626\u06CC\u06BA") && word.length - 3 >= minLen) {
4316
+ const base = word.slice(0, -3);
4317
+ return { stem: base, suffix: "\u0626\u06CC\u06BA" };
4318
+ }
4319
+ if (word.endsWith("\u0624\u06BA") && word.length - 2 >= minLen) {
4320
+ const base = word.slice(0, -2);
4321
+ return { stem: base, suffix: "\u0624\u06BA" };
4322
+ }
4323
+ for (const suf of suffixes) {
4324
+ if (word.endsWith(suf)) {
4325
+ const remainder = word.slice(0, -suf.length).replace(/[\s\u200C\u200D]+$/, "");
4326
+ if (remainder.length >= minLen && !PROTECTED_WORDS.has(word)) {
4327
+ return { stem: remainder, suffix: suf };
4328
+ }
4329
+ }
4330
+ }
4331
+ return { stem: word };
4332
+ }
4333
+ function applyPrefixStripping(word, prefixes, minLen) {
4334
+ if (word.length <= minLen) return { stem: word };
4335
+ for (const pref of prefixes) {
4336
+ if (word.startsWith(pref)) {
4337
+ const remainder = word.slice(pref.length).replace(/^[\s\u200C\u200D]+/, "");
4338
+ if (remainder.length >= minLen && !PROTECTED_WORDS.has(word)) {
4339
+ return { stem: remainder, prefix: pref };
4340
+ }
4341
+ }
4342
+ }
4343
+ return { stem: word };
4344
+ }
4345
+ function getAffixes(input, options = {}) {
4346
+ if (!input || typeof input !== "string") {
4347
+ return { stem: "" };
4348
+ }
4349
+ const clean = removeDiacritics(normalizeUrdu(input.trim()));
4350
+ if (!clean) return { stem: "" };
4351
+ if (options.exceptions && options.exceptions[clean]) {
4352
+ return { stem: options.exceptions[clean] };
4353
+ }
4354
+ if (PROTECTED_WORDS.has(clean)) {
4355
+ return { stem: clean };
4356
+ }
4357
+ const minLen = options.minStemLength ?? 2;
4358
+ const doSuffixes = options.stripSuffixes ?? true;
4359
+ const doPrefixes = options.stripPrefixes ?? true;
4360
+ const suffixes = options.customSuffixes ?? URDU_SUFFIXES;
4361
+ const prefixes = options.customPrefixes ?? URDU_PREFIXES;
4362
+ let current = clean;
4363
+ let detectedSuffix;
4364
+ let detectedPrefix;
4365
+ if (doSuffixes) {
4366
+ const sRes = applySuffixStripping(current, suffixes, minLen);
4367
+ current = sRes.stem;
4368
+ detectedSuffix = sRes.suffix;
4369
+ }
4370
+ if (doPrefixes) {
4371
+ const pRes = applyPrefixStripping(current, prefixes, minLen);
4372
+ current = pRes.stem;
4373
+ detectedPrefix = pRes.prefix;
4374
+ }
4375
+ return {
4376
+ prefix: detectedPrefix,
4377
+ stem: current,
4378
+ suffix: detectedSuffix
4379
+ };
4380
+ }
4381
+ function stemUrdu(word, options = {}) {
4382
+ return getAffixes(word, options).stem;
4383
+ }
4384
+ function stemUrduText(text, options = {}) {
4385
+ if (!text || typeof text !== "string") return "";
4386
+ const tokens = text.split(/([\s\p{P}\p{S}]+)/u);
4387
+ return tokens.map((token) => {
4388
+ if (/[\u0600-\u06FF\u0750-\u077F\uFB50-\uFDFF\uFE70-\uFEFF]/.test(token)) {
4389
+ return stemUrdu(token, options);
4390
+ }
4391
+ return token;
4392
+ }).join("");
4393
+ }
4394
+
4395
+ export { URDU_MONTHS_GREGORIAN, URDU_MONTHS_HIJRI, URDU_PREFIXES, URDU_STOP_WORDS, URDU_SUFFIXES, URDU_WEEKDAYS, analyzeUrdu, compareUrdu, convertNumbers, countSentences, countWords, editDistance, filterStopWords, foldUrdu, formatUrduDate, getAffixes, getUrduMonthName, getUrduWeekdayName, hasUrduSpecificLetters, highlightUrdu, isStopWord, isUrdu, normalizeUrdu, numberToUrduWords, parseUrduNumber, removeDiacritics, removeStopWords, romanToUrdu, romanize, searchUrdu, searchUrduRanked, sortUrdu, splitSentences, splitWords, stemUrdu, stemUrduText, timeAgoUrdu, toArabicIndicDigits, toEnglishDigits, toUrduDigits, urduRatio, urduSlug };
3705
4396
  //# sourceMappingURL=index.js.map
3706
4397
  //# sourceMappingURL=index.js.map