@utilix-tech/sdk 0.33.0 → 0.35.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 (35) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +26 -8
  3. package/dist/{chunk-CSNTHZHF.js → chunk-3YUKLV5N.js} +81 -1
  4. package/dist/{chunk-ZPQOE7KD.js → chunk-7AJRK57W.js} +29 -1
  5. package/dist/{chunk-H2USEUHD.js → chunk-F2CEN226.js} +306 -1
  6. package/dist/{chunk-6FIB72KX.js → chunk-YEXQDI3J.js} +63 -1
  7. package/dist/{data-C4lCByXw.d.cts → data-CFeS9kes.d.cts} +35 -2
  8. package/dist/{data-C4lCByXw.d.ts → data-CFeS9kes.d.ts} +35 -2
  9. package/dist/index.cjs +475 -0
  10. package/dist/index.d.cts +4 -4
  11. package/dist/index.d.ts +4 -4
  12. package/dist/index.js +4 -4
  13. package/dist/{network-D7Epuerc.d.cts → network-DfY5Ikvr.d.cts} +34 -2
  14. package/dist/{network-D7Epuerc.d.ts → network-DfY5Ikvr.d.ts} +34 -2
  15. package/dist/{text-CA-zuD0C.d.cts → text-kHkT9VtT.d.cts} +34 -2
  16. package/dist/{text-CA-zuD0C.d.ts → text-kHkT9VtT.d.ts} +34 -2
  17. package/dist/tools/data.cjs +62 -0
  18. package/dist/tools/data.d.cts +1 -1
  19. package/dist/tools/data.d.ts +1 -1
  20. package/dist/tools/data.js +1 -1
  21. package/dist/tools/network.cjs +80 -0
  22. package/dist/tools/network.d.cts +1 -1
  23. package/dist/tools/network.d.ts +1 -1
  24. package/dist/tools/network.js +1 -1
  25. package/dist/tools/text.cjs +305 -0
  26. package/dist/tools/text.d.cts +1 -1
  27. package/dist/tools/text.d.ts +1 -1
  28. package/dist/tools/text.js +1 -1
  29. package/dist/tools/units.cjs +28 -0
  30. package/dist/tools/units.d.cts +1 -1
  31. package/dist/tools/units.d.ts +1 -1
  32. package/dist/tools/units.js +1 -1
  33. package/dist/{units-BhoxdHhs.d.ts → units-c90DW-OZ.d.cts} +30 -2
  34. package/dist/{units-BhoxdHhs.d.cts → units-c90DW-OZ.d.ts} +30 -2
  35. package/package.json +1 -1
@@ -6,6 +6,7 @@ var text_exports = {};
6
6
  __export(text_exports, {
7
7
  CASE_FORMATS: () => CASE_FORMATS,
8
8
  DEFAULT_CONVERT_OPTIONS: () => DEFAULT_CONVERT_OPTIONS,
9
+ EMOJI_TABLE: () => EMOJI_TABLE,
9
10
  ESCAPE_MODES: () => ESCAPE_MODES,
10
11
  LINE_OPS: () => LINE_OPS,
11
12
  MORSE_CODE: () => MORSE_CODE,
@@ -39,6 +40,10 @@ __export(text_exports, {
39
40
  generateSentences: () => generateSentences,
40
41
  generateWords: () => generateWords,
41
42
  getAvailableFonts: () => getAvailableFonts,
43
+ getEmojiByCategory: () => getEmojiByCategory,
44
+ getEmojiByChar: () => getEmojiByChar,
45
+ getEmojiByShortcode: () => getEmojiByShortcode,
46
+ getEmojiCategories: () => getEmojiCategories,
42
47
  getMorseForChar: () => getMorseForChar,
43
48
  getMorseTiming: () => getMorseTiming,
44
49
  htmlToMarkdown: () => htmlToMarkdown,
@@ -55,6 +60,7 @@ __export(text_exports, {
55
60
  renderMarkdown: () => renderMarkdown,
56
61
  romanToNumber: () => romanToNumber,
57
62
  scoreReadability: () => scoreReadability,
63
+ searchEmoji: () => searchEmoji,
58
64
  sentenceCount: () => sentenceCount,
59
65
  slugify: () => slugify,
60
66
  slugifyAll: () => slugifyAll,
@@ -2664,5 +2670,304 @@ function analyzeSentenceLengths(text) {
2664
2670
  buckets
2665
2671
  };
2666
2672
  }
2673
+ var EMOJI_TABLE = [
2674
+ { emoji: "\u{1F600}", name: "grinning face", shortcode: "grinning", codepoint: "U+1F600", category: "Smileys & Emotion", keywords: ["happy", "smile"] },
2675
+ { emoji: "\u{1F603}", name: "grinning face with big eyes", shortcode: "smiley", codepoint: "U+1F603", category: "Smileys & Emotion", keywords: ["happy", "joy"] },
2676
+ { emoji: "\u{1F604}", name: "grinning face with smiling eyes", shortcode: "smile", codepoint: "U+1F604", category: "Smileys & Emotion", keywords: ["happy", "joy"] },
2677
+ { emoji: "\u{1F601}", name: "beaming face with smiling eyes", shortcode: "grin", codepoint: "U+1F601", category: "Smileys & Emotion", keywords: ["happy", "teeth"] },
2678
+ { emoji: "\u{1F606}", name: "grinning squinting face", shortcode: "laughing", codepoint: "U+1F606", category: "Smileys & Emotion", keywords: ["laugh", "haha"] },
2679
+ { emoji: "\u{1F605}", name: "grinning face with sweat", shortcode: "sweat_smile", codepoint: "U+1F605", category: "Smileys & Emotion", keywords: ["nervous", "relief"] },
2680
+ { emoji: "\u{1F923}", name: "rolling on the floor laughing", shortcode: "rofl", codepoint: "U+1F923", category: "Smileys & Emotion", keywords: ["lol", "funny"] },
2681
+ { emoji: "\u{1F602}", name: "face with tears of joy", shortcode: "joy", codepoint: "U+1F602", category: "Smileys & Emotion", keywords: ["lol", "funny", "crying laughing"] },
2682
+ { emoji: "\u{1F642}", name: "slightly smiling face", shortcode: "slightly_smiling_face", codepoint: "U+1F642", category: "Smileys & Emotion", keywords: ["smile"] },
2683
+ { emoji: "\u{1F643}", name: "upside-down face", shortcode: "upside_down_face", codepoint: "U+1F643", category: "Smileys & Emotion", keywords: ["silly", "sarcasm"] },
2684
+ { emoji: "\u{1F609}", name: "winking face", shortcode: "wink", codepoint: "U+1F609", category: "Smileys & Emotion", keywords: ["flirt"] },
2685
+ { emoji: "\u{1F60A}", name: "smiling face with smiling eyes", shortcode: "blush", codepoint: "U+1F60A", category: "Smileys & Emotion", keywords: ["happy", "warm"] },
2686
+ { emoji: "\u{1F607}", name: "smiling face with halo", shortcode: "innocent", codepoint: "U+1F607", category: "Smileys & Emotion", keywords: ["angel"] },
2687
+ { emoji: "\u{1F970}", name: "smiling face with hearts", shortcode: "smiling_face_with_three_hearts", codepoint: "U+1F970", category: "Smileys & Emotion", keywords: ["love", "adore"] },
2688
+ { emoji: "\u{1F60D}", name: "smiling face with heart-eyes", shortcode: "heart_eyes", codepoint: "U+1F60D", category: "Smileys & Emotion", keywords: ["love", "crush"] },
2689
+ { emoji: "\u{1F929}", name: "star-struck", shortcode: "star_struck", codepoint: "U+1F929", category: "Smileys & Emotion", keywords: ["excited", "wow"] },
2690
+ { emoji: "\u{1F618}", name: "face blowing a kiss", shortcode: "kissing_heart", codepoint: "U+1F618", category: "Smileys & Emotion", keywords: ["kiss", "love"] },
2691
+ { emoji: "\u{1F617}", name: "kissing face", shortcode: "kissing", codepoint: "U+1F617", category: "Smileys & Emotion", keywords: ["kiss"] },
2692
+ { emoji: "\u{1F60B}", name: "face savoring food", shortcode: "yum", codepoint: "U+1F60B", category: "Smileys & Emotion", keywords: ["tasty", "delicious"] },
2693
+ { emoji: "\u{1F61B}", name: "face with tongue", shortcode: "stuck_out_tongue", codepoint: "U+1F61B", category: "Smileys & Emotion", keywords: ["playful"] },
2694
+ { emoji: "\u{1F61C}", name: "winking face with tongue", shortcode: "stuck_out_tongue_winking_eye", codepoint: "U+1F61C", category: "Smileys & Emotion", keywords: ["silly"] },
2695
+ { emoji: "\u{1F92A}", name: "zany face", shortcode: "zany_face", codepoint: "U+1F92A", category: "Smileys & Emotion", keywords: ["crazy", "wild"] },
2696
+ { emoji: "\u{1F61D}", name: "squinting face with tongue", shortcode: "stuck_out_tongue_closed_eyes", codepoint: "U+1F61D", category: "Smileys & Emotion", keywords: ["silly"] },
2697
+ { emoji: "\u{1F911}", name: "money-mouth face", shortcode: "money_mouth_face", codepoint: "U+1F911", category: "Smileys & Emotion", keywords: ["rich", "dollar"] },
2698
+ { emoji: "\u{1F917}", name: "smiling face with open hands", shortcode: "hugs", codepoint: "U+1F917", category: "Smileys & Emotion", keywords: ["hug"] },
2699
+ { emoji: "\u{1F92D}", name: "face with hand over mouth", shortcode: "hand_over_mouth", codepoint: "U+1F92D", category: "Smileys & Emotion", keywords: ["oops", "giggle"] },
2700
+ { emoji: "\u{1F92B}", name: "shushing face", shortcode: "shushing_face", codepoint: "U+1F92B", category: "Smileys & Emotion", keywords: ["quiet", "secret"] },
2701
+ { emoji: "\u{1F914}", name: "thinking face", shortcode: "thinking", codepoint: "U+1F914", category: "Smileys & Emotion", keywords: ["hmm", "consider"] },
2702
+ { emoji: "\u{1F910}", name: "zipper-mouth face", shortcode: "zipper_mouth_face", codepoint: "U+1F910", category: "Smileys & Emotion", keywords: ["secret", "silence"] },
2703
+ { emoji: "\u{1F928}", name: "face with raised eyebrow", shortcode: "raised_eyebrow", codepoint: "U+1F928", category: "Smileys & Emotion", keywords: ["skeptical", "suspicious"] },
2704
+ { emoji: "\u{1F610}", name: "neutral face", shortcode: "neutral_face", codepoint: "U+1F610", category: "Smileys & Emotion", keywords: ["meh"] },
2705
+ { emoji: "\u{1F611}", name: "expressionless face", shortcode: "expressionless", codepoint: "U+1F611", category: "Smileys & Emotion", keywords: ["blank"] },
2706
+ { emoji: "\u{1F636}", name: "face without mouth", shortcode: "no_mouth", codepoint: "U+1F636", category: "Smileys & Emotion", keywords: ["speechless"] },
2707
+ { emoji: "\u{1F60F}", name: "smirking face", shortcode: "smirk", codepoint: "U+1F60F", category: "Smileys & Emotion", keywords: ["smug"] },
2708
+ { emoji: "\u{1F612}", name: "unamused face", shortcode: "unamused", codepoint: "U+1F612", category: "Smileys & Emotion", keywords: ["annoyed"] },
2709
+ { emoji: "\u{1F644}", name: "face with rolling eyes", shortcode: "roll_eyes", codepoint: "U+1F644", category: "Smileys & Emotion", keywords: ["annoyed", "whatever"] },
2710
+ { emoji: "\u{1F62C}", name: "grimacing face", shortcode: "grimacing", codepoint: "U+1F62C", category: "Smileys & Emotion", keywords: ["awkward", "yikes"] },
2711
+ { emoji: "\u{1F60C}", name: "relieved face", shortcode: "relieved", codepoint: "U+1F60C", category: "Smileys & Emotion", keywords: ["calm", "content"] },
2712
+ { emoji: "\u{1F614}", name: "pensive face", shortcode: "pensive", codepoint: "U+1F614", category: "Smileys & Emotion", keywords: ["sad", "thoughtful"] },
2713
+ { emoji: "\u{1F62A}", name: "sleepy face", shortcode: "sleepy", codepoint: "U+1F62A", category: "Smileys & Emotion", keywords: ["tired"] },
2714
+ { emoji: "\u{1F924}", name: "drooling face", shortcode: "drooling_face", codepoint: "U+1F924", category: "Smileys & Emotion", keywords: ["hungry"] },
2715
+ { emoji: "\u{1F634}", name: "sleeping face", shortcode: "sleeping", codepoint: "U+1F634", category: "Smileys & Emotion", keywords: ["zzz", "asleep"] },
2716
+ { emoji: "\u{1F637}", name: "face with medical mask", shortcode: "mask", codepoint: "U+1F637", category: "Smileys & Emotion", keywords: ["sick", "ill"] },
2717
+ { emoji: "\u{1F912}", name: "face with thermometer", shortcode: "face_with_thermometer", codepoint: "U+1F912", category: "Smileys & Emotion", keywords: ["sick", "fever"] },
2718
+ { emoji: "\u{1F915}", name: "face with head-bandage", shortcode: "face_with_head_bandage", codepoint: "U+1F915", category: "Smileys & Emotion", keywords: ["hurt", "injured"] },
2719
+ { emoji: "\u{1F922}", name: "nauseated face", shortcode: "nauseated_face", codepoint: "U+1F922", category: "Smileys & Emotion", keywords: ["sick", "gross"] },
2720
+ { emoji: "\u{1F92E}", name: "face vomiting", shortcode: "vomiting_face", codepoint: "U+1F92E", category: "Smileys & Emotion", keywords: ["sick", "gross"] },
2721
+ { emoji: "\u{1F927}", name: "sneezing face", shortcode: "sneezing_face", codepoint: "U+1F927", category: "Smileys & Emotion", keywords: ["sick", "cold"] },
2722
+ { emoji: "\u{1F975}", name: "hot face", shortcode: "hot_face", codepoint: "U+1F975", category: "Smileys & Emotion", keywords: ["heat", "sweating"] },
2723
+ { emoji: "\u{1F976}", name: "cold face", shortcode: "cold_face", codepoint: "U+1F976", category: "Smileys & Emotion", keywords: ["freezing", "frozen"] },
2724
+ { emoji: "\u{1F635}", name: "knocked-out face", shortcode: "dizzy_face", codepoint: "U+1F635", category: "Smileys & Emotion", keywords: ["dizzy", "confused"] },
2725
+ { emoji: "\u{1F92F}", name: "exploding head", shortcode: "exploding_head", codepoint: "U+1F92F", category: "Smileys & Emotion", keywords: ["mind blown", "shocked"] },
2726
+ { emoji: "\u{1F973}", name: "partying face", shortcode: "partying_face", codepoint: "U+1F973", category: "Smileys & Emotion", keywords: ["celebrate", "party"] },
2727
+ { emoji: "\u{1F60E}", name: "smiling face with sunglasses", shortcode: "sunglasses", codepoint: "U+1F60E", category: "Smileys & Emotion", keywords: ["cool"] },
2728
+ { emoji: "\u{1F913}", name: "nerd face", shortcode: "nerd_face", codepoint: "U+1F913", category: "Smileys & Emotion", keywords: ["geek", "glasses"] },
2729
+ { emoji: "\u{1F9D0}", name: "face with monocle", shortcode: "monocle_face", codepoint: "U+1F9D0", category: "Smileys & Emotion", keywords: ["inspect", "curious"] },
2730
+ { emoji: "\u{1F615}", name: "confused face", shortcode: "confused", codepoint: "U+1F615", category: "Smileys & Emotion", keywords: ["puzzled"] },
2731
+ { emoji: "\u{1F61F}", name: "worried face", shortcode: "worried", codepoint: "U+1F61F", category: "Smileys & Emotion", keywords: ["concerned"] },
2732
+ { emoji: "\u{1F641}", name: "slightly frowning face", shortcode: "slightly_frowning_face", codepoint: "U+1F641", category: "Smileys & Emotion", keywords: ["sad"] },
2733
+ { emoji: "\u{1F62E}", name: "face with open mouth", shortcode: "open_mouth", codepoint: "U+1F62E", category: "Smileys & Emotion", keywords: ["surprised", "wow"] },
2734
+ { emoji: "\u{1F62F}", name: "hushed face", shortcode: "hushed", codepoint: "U+1F62F", category: "Smileys & Emotion", keywords: ["surprised"] },
2735
+ { emoji: "\u{1F632}", name: "astonished face", shortcode: "astonished", codepoint: "U+1F632", category: "Smileys & Emotion", keywords: ["shocked"] },
2736
+ { emoji: "\u{1F633}", name: "flushed face", shortcode: "flushed", codepoint: "U+1F633", category: "Smileys & Emotion", keywords: ["embarrassed", "blush"] },
2737
+ { emoji: "\u{1F97A}", name: "pleading face", shortcode: "pleading_face", codepoint: "U+1F97A", category: "Smileys & Emotion", keywords: ["puppy eyes", "begging"] },
2738
+ { emoji: "\u{1F626}", name: "frowning face with open mouth", shortcode: "frowning", codepoint: "U+1F626", category: "Smileys & Emotion", keywords: ["shocked"] },
2739
+ { emoji: "\u{1F627}", name: "anguished face", shortcode: "anguished", codepoint: "U+1F627", category: "Smileys & Emotion", keywords: ["distressed"] },
2740
+ { emoji: "\u{1F628}", name: "fearful face", shortcode: "fearful", codepoint: "U+1F628", category: "Smileys & Emotion", keywords: ["scared", "afraid"] },
2741
+ { emoji: "\u{1F630}", name: "anxious face with sweat", shortcode: "cold_sweat", codepoint: "U+1F630", category: "Smileys & Emotion", keywords: ["nervous"] },
2742
+ { emoji: "\u{1F625}", name: "sad but relieved face", shortcode: "disappointed_relieved", codepoint: "U+1F625", category: "Smileys & Emotion", keywords: ["sad"] },
2743
+ { emoji: "\u{1F622}", name: "crying face", shortcode: "cry", codepoint: "U+1F622", category: "Smileys & Emotion", keywords: ["sad", "tear"] },
2744
+ { emoji: "\u{1F62D}", name: "loudly crying face", shortcode: "sob", codepoint: "U+1F62D", category: "Smileys & Emotion", keywords: ["sad", "bawling"] },
2745
+ { emoji: "\u{1F631}", name: "face screaming in fear", shortcode: "scream", codepoint: "U+1F631", category: "Smileys & Emotion", keywords: ["shocked", "horror"] },
2746
+ { emoji: "\u{1F616}", name: "confounded face", shortcode: "confounded", codepoint: "U+1F616", category: "Smileys & Emotion", keywords: ["frustrated"] },
2747
+ { emoji: "\u{1F623}", name: "persevering face", shortcode: "persevere", codepoint: "U+1F623", category: "Smileys & Emotion", keywords: ["struggling"] },
2748
+ { emoji: "\u{1F61E}", name: "disappointed face", shortcode: "disappointed", codepoint: "U+1F61E", category: "Smileys & Emotion", keywords: ["sad", "let down"] },
2749
+ { emoji: "\u{1F613}", name: "downcast face with sweat", shortcode: "sweat", codepoint: "U+1F613", category: "Smileys & Emotion", keywords: ["tired", "stressed"] },
2750
+ { emoji: "\u{1F629}", name: "weary face", shortcode: "weary", codepoint: "U+1F629", category: "Smileys & Emotion", keywords: ["tired", "exhausted"] },
2751
+ { emoji: "\u{1F62B}", name: "tired face", shortcode: "tired_face", codepoint: "U+1F62B", category: "Smileys & Emotion", keywords: ["exhausted"] },
2752
+ { emoji: "\u{1F971}", name: "yawning face", shortcode: "yawning_face", codepoint: "U+1F971", category: "Smileys & Emotion", keywords: ["tired", "bored"] },
2753
+ { emoji: "\u{1F624}", name: "face with steam from nose", shortcode: "triumph", codepoint: "U+1F624", category: "Smileys & Emotion", keywords: ["angry", "proud"] },
2754
+ { emoji: "\u{1F621}", name: "pouting face", shortcode: "rage", codepoint: "U+1F621", category: "Smileys & Emotion", keywords: ["angry", "mad"] },
2755
+ { emoji: "\u{1F620}", name: "angry face", shortcode: "angry", codepoint: "U+1F620", category: "Smileys & Emotion", keywords: ["mad"] },
2756
+ { emoji: "\u{1F92C}", name: "face with symbols on mouth", shortcode: "cursing_face", codepoint: "U+1F92C", category: "Smileys & Emotion", keywords: ["swearing", "angry"] },
2757
+ { emoji: "\u{1F608}", name: "smiling face with horns", shortcode: "smiling_imp", codepoint: "U+1F608", category: "Smileys & Emotion", keywords: ["devil", "evil"] },
2758
+ { emoji: "\u{1F47F}", name: "angry face with horns", shortcode: "imp", codepoint: "U+1F47F", category: "Smileys & Emotion", keywords: ["devil"] },
2759
+ { emoji: "\u{1F480}", name: "skull", shortcode: "skull", codepoint: "U+1F480", category: "Smileys & Emotion", keywords: ["dead", "death"] },
2760
+ { emoji: "\u{1F921}", name: "clown face", shortcode: "clown_face", codepoint: "U+1F921", category: "Smileys & Emotion", keywords: ["joker"] },
2761
+ { emoji: "\u{1F47B}", name: "ghost", shortcode: "ghost", codepoint: "U+1F47B", category: "Smileys & Emotion", keywords: ["spooky", "halloween"] },
2762
+ { emoji: "\u{1F47D}", name: "alien", shortcode: "alien", codepoint: "U+1F47D", category: "Smileys & Emotion", keywords: ["ufo", "extraterrestrial"] },
2763
+ { emoji: "\u{1F916}", name: "robot", shortcode: "robot", codepoint: "U+1F916", category: "Smileys & Emotion", keywords: ["ai", "bot"] },
2764
+ { emoji: "\u{1F63A}", name: "grinning cat", shortcode: "smiley_cat", codepoint: "U+1F63A", category: "Smileys & Emotion", keywords: ["cat"] },
2765
+ { emoji: "\u{1F639}", name: "cat with tears of joy", shortcode: "joy_cat", codepoint: "U+1F639", category: "Smileys & Emotion", keywords: ["cat", "laugh"] },
2766
+ { emoji: "\u{1F63B}", name: "smiling cat with heart-eyes", shortcode: "heart_eyes_cat", codepoint: "U+1F63B", category: "Smileys & Emotion", keywords: ["cat", "love"] },
2767
+ { emoji: "\u{1F44D}", name: "thumbs up", shortcode: "thumbsup", codepoint: "U+1F44D", category: "People & Body", keywords: ["approve", "like", "yes"] },
2768
+ { emoji: "\u{1F44E}", name: "thumbs down", shortcode: "thumbsdown", codepoint: "U+1F44E", category: "People & Body", keywords: ["disapprove", "no"] },
2769
+ { emoji: "\u{1F44C}", name: "OK hand", shortcode: "ok_hand", codepoint: "U+1F44C", category: "People & Body", keywords: ["okay", "perfect"] },
2770
+ { emoji: "\u270C\uFE0F", name: "victory hand", shortcode: "v", codepoint: "U+270C U+FE0F", category: "People & Body", keywords: ["peace"] },
2771
+ { emoji: "\u{1F91E}", name: "crossed fingers", shortcode: "crossed_fingers", codepoint: "U+1F91E", category: "People & Body", keywords: ["luck", "hope"] },
2772
+ { emoji: "\u{1F918}", name: "sign of the horns", shortcode: "metal", codepoint: "U+1F918", category: "People & Body", keywords: ["rock"] },
2773
+ { emoji: "\u{1F44F}", name: "clapping hands", shortcode: "clap", codepoint: "U+1F44F", category: "People & Body", keywords: ["applause", "bravo"] },
2774
+ { emoji: "\u{1F64C}", name: "raising hands", shortcode: "raised_hands", codepoint: "U+1F64C", category: "People & Body", keywords: ["celebrate", "hooray"] },
2775
+ { emoji: "\u{1F450}", name: "open hands", shortcode: "open_hands", codepoint: "U+1F450", category: "People & Body", keywords: ["hug"] },
2776
+ { emoji: "\u{1F91D}", name: "handshake", shortcode: "handshake", codepoint: "U+1F91D", category: "People & Body", keywords: ["deal", "agreement"] },
2777
+ { emoji: "\u{1F64F}", name: "folded hands", shortcode: "pray", codepoint: "U+1F64F", category: "People & Body", keywords: ["please", "thanks", "praying"] },
2778
+ { emoji: "\u270D\uFE0F", name: "writing hand", shortcode: "writing_hand", codepoint: "U+270D U+FE0F", category: "People & Body", keywords: ["write"] },
2779
+ { emoji: "\u{1F4AA}", name: "flexed biceps", shortcode: "muscle", codepoint: "U+1F4AA", category: "People & Body", keywords: ["strong", "gym"] },
2780
+ { emoji: "\u{1F590}\uFE0F", name: "hand with fingers splayed", shortcode: "raised_hand_with_fingers_splayed", codepoint: "U+1F590 U+FE0F", category: "People & Body", keywords: ["stop"] },
2781
+ { emoji: "\u{1F44B}", name: "waving hand", shortcode: "wave", codepoint: "U+1F44B", category: "People & Body", keywords: ["hello", "goodbye", "bye"] },
2782
+ { emoji: "\u{1F440}", name: "eyes", shortcode: "eyes", codepoint: "U+1F440", category: "People & Body", keywords: ["look", "watching"] },
2783
+ { emoji: "\u{1F9E0}", name: "brain", shortcode: "brain", codepoint: "U+1F9E0", category: "People & Body", keywords: ["smart", "mind"] },
2784
+ { emoji: "\u2764\uFE0F", name: "red heart", shortcode: "heart", codepoint: "U+2764 U+FE0F", category: "Smileys & Emotion", keywords: ["love"] },
2785
+ { emoji: "\u{1F9E1}", name: "orange heart", shortcode: "orange_heart", codepoint: "U+1F9E1", category: "Smileys & Emotion", keywords: ["love"] },
2786
+ { emoji: "\u{1F49B}", name: "yellow heart", shortcode: "yellow_heart", codepoint: "U+1F49B", category: "Smileys & Emotion", keywords: ["love"] },
2787
+ { emoji: "\u{1F49A}", name: "green heart", shortcode: "green_heart", codepoint: "U+1F49A", category: "Smileys & Emotion", keywords: ["love"] },
2788
+ { emoji: "\u{1F499}", name: "blue heart", shortcode: "blue_heart", codepoint: "U+1F499", category: "Smileys & Emotion", keywords: ["love"] },
2789
+ { emoji: "\u{1F49C}", name: "purple heart", shortcode: "purple_heart", codepoint: "U+1F49C", category: "Smileys & Emotion", keywords: ["love"] },
2790
+ { emoji: "\u{1F5A4}", name: "black heart", shortcode: "black_heart", codepoint: "U+1F5A4", category: "Smileys & Emotion", keywords: ["love", "dark"] },
2791
+ { emoji: "\u{1F90D}", name: "white heart", shortcode: "white_heart", codepoint: "U+1F90D", category: "Smileys & Emotion", keywords: ["love"] },
2792
+ { emoji: "\u{1F494}", name: "broken heart", shortcode: "broken_heart", codepoint: "U+1F494", category: "Smileys & Emotion", keywords: ["heartbroken", "sad"] },
2793
+ { emoji: "\u{1F495}", name: "two hearts", shortcode: "two_hearts", codepoint: "U+1F495", category: "Smileys & Emotion", keywords: ["love"] },
2794
+ { emoji: "\u{1F496}", name: "sparkling heart", shortcode: "sparkling_heart", codepoint: "U+1F496", category: "Smileys & Emotion", keywords: ["love"] },
2795
+ { emoji: "\u{1F4AF}", name: "hundred points", shortcode: "100", codepoint: "U+1F4AF", category: "Smileys & Emotion", keywords: ["perfect", "score"] },
2796
+ { emoji: "\u{1F525}", name: "fire", shortcode: "fire", codepoint: "U+1F525", category: "Travel & Places", keywords: ["lit", "hot", "flame"] },
2797
+ { emoji: "\u2728", name: "sparkles", shortcode: "sparkles", codepoint: "U+2728", category: "Travel & Places", keywords: ["shiny", "glitter"] },
2798
+ { emoji: "\u2B50", name: "star", shortcode: "star", codepoint: "U+2B50", category: "Travel & Places", keywords: ["favorite"] },
2799
+ { emoji: "\u{1F31F}", name: "glowing star", shortcode: "star2", codepoint: "U+1F31F", category: "Travel & Places", keywords: ["shiny"] },
2800
+ { emoji: "\u{1F389}", name: "party popper", shortcode: "tada", codepoint: "U+1F389", category: "Activities", keywords: ["celebrate", "congrats"] },
2801
+ { emoji: "\u{1F38A}", name: "confetti ball", shortcode: "confetti_ball", codepoint: "U+1F38A", category: "Activities", keywords: ["celebrate"] },
2802
+ { emoji: "\u{1F381}", name: "wrapped gift", shortcode: "gift", codepoint: "U+1F381", category: "Activities", keywords: ["present", "birthday"] },
2803
+ { emoji: "\u{1F388}", name: "balloon", shortcode: "balloon", codepoint: "U+1F388", category: "Activities", keywords: ["party", "birthday"] },
2804
+ { emoji: "\u{1F3C6}", name: "trophy", shortcode: "trophy", codepoint: "U+1F3C6", category: "Activities", keywords: ["winner", "award"] },
2805
+ { emoji: "\u{1F947}", name: "1st place medal", shortcode: "first_place_medal", codepoint: "U+1F947", category: "Activities", keywords: ["gold", "winner"] },
2806
+ { emoji: "\u26BD", name: "soccer ball", shortcode: "soccer", codepoint: "U+26BD", category: "Activities", keywords: ["football"] },
2807
+ { emoji: "\u{1F3C0}", name: "basketball", shortcode: "basketball", codepoint: "U+1F3C0", category: "Activities", keywords: ["sport"] },
2808
+ { emoji: "\u{1F3C8}", name: "american football", shortcode: "football", codepoint: "U+1F3C8", category: "Activities", keywords: ["sport", "nfl"] },
2809
+ { emoji: "\u26BE", name: "baseball", shortcode: "baseball", codepoint: "U+26BE", category: "Activities", keywords: ["sport"] },
2810
+ { emoji: "\u{1F3BE}", name: "tennis", shortcode: "tennis", codepoint: "U+1F3BE", category: "Activities", keywords: ["sport"] },
2811
+ { emoji: "\u{1F3AE}", name: "video game", shortcode: "video_game", codepoint: "U+1F3AE", category: "Activities", keywords: ["gaming", "controller"] },
2812
+ { emoji: "\u{1F3B2}", name: "game die", shortcode: "game_die", codepoint: "U+1F3B2", category: "Activities", keywords: ["dice", "random"] },
2813
+ { emoji: "\u{1F3A7}", name: "headphone", shortcode: "headphones", codepoint: "U+1F3A7", category: "Objects", keywords: ["music", "audio"] },
2814
+ { emoji: "\u{1F3B5}", name: "musical note", shortcode: "musical_note", codepoint: "U+1F3B5", category: "Objects", keywords: ["music"] },
2815
+ { emoji: "\u{1F3B6}", name: "musical notes", shortcode: "notes", codepoint: "U+1F3B6", category: "Objects", keywords: ["music"] },
2816
+ { emoji: "\u{1F436}", name: "dog face", shortcode: "dog", codepoint: "U+1F436", category: "Animals & Nature", keywords: ["puppy", "pet"] },
2817
+ { emoji: "\u{1F431}", name: "cat face", shortcode: "cat", codepoint: "U+1F431", category: "Animals & Nature", keywords: ["kitten", "pet"] },
2818
+ { emoji: "\u{1F42D}", name: "mouse face", shortcode: "mouse", codepoint: "U+1F42D", category: "Animals & Nature", keywords: ["rodent"] },
2819
+ { emoji: "\u{1F439}", name: "hamster face", shortcode: "hamster", codepoint: "U+1F439", category: "Animals & Nature", keywords: ["pet"] },
2820
+ { emoji: "\u{1F430}", name: "rabbit face", shortcode: "rabbit", codepoint: "U+1F430", category: "Animals & Nature", keywords: ["bunny"] },
2821
+ { emoji: "\u{1F98A}", name: "fox", shortcode: "fox_face", codepoint: "U+1F98A", category: "Animals & Nature", keywords: ["animal"] },
2822
+ { emoji: "\u{1F43B}", name: "bear", shortcode: "bear", codepoint: "U+1F43B", category: "Animals & Nature", keywords: ["animal"] },
2823
+ { emoji: "\u{1F43C}", name: "panda", shortcode: "panda_face", codepoint: "U+1F43C", category: "Animals & Nature", keywords: ["animal"] },
2824
+ { emoji: "\u{1F428}", name: "koala", shortcode: "koala", codepoint: "U+1F428", category: "Animals & Nature", keywords: ["animal"] },
2825
+ { emoji: "\u{1F42F}", name: "tiger face", shortcode: "tiger", codepoint: "U+1F42F", category: "Animals & Nature", keywords: ["animal"] },
2826
+ { emoji: "\u{1F981}", name: "lion", shortcode: "lion", codepoint: "U+1F981", category: "Animals & Nature", keywords: ["animal"] },
2827
+ { emoji: "\u{1F42E}", name: "cow face", shortcode: "cow", codepoint: "U+1F42E", category: "Animals & Nature", keywords: ["animal"] },
2828
+ { emoji: "\u{1F437}", name: "pig face", shortcode: "pig", codepoint: "U+1F437", category: "Animals & Nature", keywords: ["animal"] },
2829
+ { emoji: "\u{1F438}", name: "frog", shortcode: "frog", codepoint: "U+1F438", category: "Animals & Nature", keywords: ["animal"] },
2830
+ { emoji: "\u{1F435}", name: "monkey face", shortcode: "monkey_face", codepoint: "U+1F435", category: "Animals & Nature", keywords: ["animal"] },
2831
+ { emoji: "\u{1F414}", name: "chicken", shortcode: "chicken", codepoint: "U+1F414", category: "Animals & Nature", keywords: ["animal", "bird"] },
2832
+ { emoji: "\u{1F427}", name: "penguin", shortcode: "penguin", codepoint: "U+1F427", category: "Animals & Nature", keywords: ["animal", "bird"] },
2833
+ { emoji: "\u{1F426}", name: "bird", shortcode: "bird", codepoint: "U+1F426", category: "Animals & Nature", keywords: ["animal"] },
2834
+ { emoji: "\u{1F984}", name: "unicorn", shortcode: "unicorn", codepoint: "U+1F984", category: "Animals & Nature", keywords: ["fantasy"] },
2835
+ { emoji: "\u{1F41D}", name: "honeybee", shortcode: "bee", codepoint: "U+1F41D", category: "Animals & Nature", keywords: ["insect"] },
2836
+ { emoji: "\u{1F98B}", name: "butterfly", shortcode: "butterfly", codepoint: "U+1F98B", category: "Animals & Nature", keywords: ["insect"] },
2837
+ { emoji: "\u{1F422}", name: "turtle", shortcode: "turtle", codepoint: "U+1F422", category: "Animals & Nature", keywords: ["animal", "slow"] },
2838
+ { emoji: "\u{1F40D}", name: "snake", shortcode: "snake", codepoint: "U+1F40D", category: "Animals & Nature", keywords: ["animal"] },
2839
+ { emoji: "\u{1F433}", name: "spouting whale", shortcode: "whale", codepoint: "U+1F433", category: "Animals & Nature", keywords: ["ocean"] },
2840
+ { emoji: "\u{1F42C}", name: "dolphin", shortcode: "dolphin", codepoint: "U+1F42C", category: "Animals & Nature", keywords: ["ocean"] },
2841
+ { emoji: "\u{1F41F}", name: "fish", shortcode: "fish", codepoint: "U+1F41F", category: "Animals & Nature", keywords: ["ocean"] },
2842
+ { emoji: "\u{1F338}", name: "cherry blossom", shortcode: "cherry_blossom", codepoint: "U+1F338", category: "Animals & Nature", keywords: ["flower", "spring"] },
2843
+ { emoji: "\u{1F339}", name: "rose", shortcode: "rose", codepoint: "U+1F339", category: "Animals & Nature", keywords: ["flower"] },
2844
+ { emoji: "\u{1F33B}", name: "sunflower", shortcode: "sunflower", codepoint: "U+1F33B", category: "Animals & Nature", keywords: ["flower"] },
2845
+ { emoji: "\u{1F308}", name: "rainbow", shortcode: "rainbow", codepoint: "U+1F308", category: "Travel & Places", keywords: ["colorful", "pride"] },
2846
+ { emoji: "\u2600\uFE0F", name: "sun", shortcode: "sunny", codepoint: "U+2600 U+FE0F", category: "Travel & Places", keywords: ["sunshine", "weather"] },
2847
+ { emoji: "\u26C5", name: "sun behind cloud", shortcode: "partly_sunny", codepoint: "U+26C5", category: "Travel & Places", keywords: ["weather"] },
2848
+ { emoji: "\u2601\uFE0F", name: "cloud", shortcode: "cloud", codepoint: "U+2601 U+FE0F", category: "Travel & Places", keywords: ["weather"] },
2849
+ { emoji: "\u{1F327}\uFE0F", name: "cloud with rain", shortcode: "cloud_with_rain", codepoint: "U+1F327 U+FE0F", category: "Travel & Places", keywords: ["weather", "rain"] },
2850
+ { emoji: "\u26C8\uFE0F", name: "cloud with lightning and rain", shortcode: "thunder_cloud_and_rain", codepoint: "U+26C8 U+FE0F", category: "Travel & Places", keywords: ["storm"] },
2851
+ { emoji: "\u2744\uFE0F", name: "snowflake", shortcode: "snowflake", codepoint: "U+2744 U+FE0F", category: "Travel & Places", keywords: ["cold", "winter"] },
2852
+ { emoji: "\u26C4", name: "snowman without snow", shortcode: "snowman_without_snow", codepoint: "U+26C4", category: "Travel & Places", keywords: ["winter"] },
2853
+ { emoji: "\u{1F30A}", name: "water wave", shortcode: "ocean", codepoint: "U+1F30A", category: "Travel & Places", keywords: ["sea", "surf"] },
2854
+ { emoji: "\u{1F34E}", name: "red apple", shortcode: "apple", codepoint: "U+1F34E", category: "Food & Drink", keywords: ["fruit"] },
2855
+ { emoji: "\u{1F34C}", name: "banana", shortcode: "banana", codepoint: "U+1F34C", category: "Food & Drink", keywords: ["fruit"] },
2856
+ { emoji: "\u{1F355}", name: "pizza", shortcode: "pizza", codepoint: "U+1F355", category: "Food & Drink", keywords: ["food"] },
2857
+ { emoji: "\u{1F354}", name: "hamburger", shortcode: "hamburger", codepoint: "U+1F354", category: "Food & Drink", keywords: ["burger", "food"] },
2858
+ { emoji: "\u{1F35F}", name: "french fries", shortcode: "fries", codepoint: "U+1F35F", category: "Food & Drink", keywords: ["food"] },
2859
+ { emoji: "\u{1F32E}", name: "taco", shortcode: "taco", codepoint: "U+1F32E", category: "Food & Drink", keywords: ["food"] },
2860
+ { emoji: "\u{1F363}", name: "sushi", shortcode: "sushi", codepoint: "U+1F363", category: "Food & Drink", keywords: ["food"] },
2861
+ { emoji: "\u{1F369}", name: "doughnut", shortcode: "doughnut", codepoint: "U+1F369", category: "Food & Drink", keywords: ["donut", "food"] },
2862
+ { emoji: "\u{1F36A}", name: "cookie", shortcode: "cookie", codepoint: "U+1F36A", category: "Food & Drink", keywords: ["food"] },
2863
+ { emoji: "\u{1F382}", name: "birthday cake", shortcode: "birthday", codepoint: "U+1F382", category: "Food & Drink", keywords: ["cake", "party"] },
2864
+ { emoji: "\u{1F370}", name: "shortcake", shortcode: "cake", codepoint: "U+1F370", category: "Food & Drink", keywords: ["dessert"] },
2865
+ { emoji: "\u{1F36B}", name: "chocolate bar", shortcode: "chocolate_bar", codepoint: "U+1F36B", category: "Food & Drink", keywords: ["candy", "sweet"] },
2866
+ { emoji: "\u{1F37F}", name: "popcorn", shortcode: "popcorn", codepoint: "U+1F37F", category: "Food & Drink", keywords: ["movie", "snack"] },
2867
+ { emoji: "\u2615", name: "hot beverage", shortcode: "coffee", codepoint: "U+2615", category: "Food & Drink", keywords: ["tea", "drink"] },
2868
+ { emoji: "\u{1F37A}", name: "beer mug", shortcode: "beer", codepoint: "U+1F37A", category: "Food & Drink", keywords: ["drink", "alcohol"] },
2869
+ { emoji: "\u{1F377}", name: "wine glass", shortcode: "wine_glass", codepoint: "U+1F377", category: "Food & Drink", keywords: ["drink", "alcohol"] },
2870
+ { emoji: "\u{1F37E}", name: "bottle with popping cork", shortcode: "champagne", codepoint: "U+1F37E", category: "Food & Drink", keywords: ["celebrate", "drink"] },
2871
+ { emoji: "\u{1F680}", name: "rocket", shortcode: "rocket", codepoint: "U+1F680", category: "Travel & Places", keywords: ["launch", "space", "ship"] },
2872
+ { emoji: "\u2708\uFE0F", name: "airplane", shortcode: "airplane", codepoint: "U+2708 U+FE0F", category: "Travel & Places", keywords: ["flight", "travel"] },
2873
+ { emoji: "\u{1F697}", name: "automobile", shortcode: "car", codepoint: "U+1F697", category: "Travel & Places", keywords: ["vehicle"] },
2874
+ { emoji: "\u{1F6B2}", name: "bicycle", shortcode: "bike", codepoint: "U+1F6B2", category: "Travel & Places", keywords: ["cycling"] },
2875
+ { emoji: "\u{1F6A2}", name: "ship", shortcode: "ship", codepoint: "U+1F6A2", category: "Travel & Places", keywords: ["boat"] },
2876
+ { emoji: "\u{1F3E0}", name: "house", shortcode: "house", codepoint: "U+1F3E0", category: "Travel & Places", keywords: ["home"] },
2877
+ { emoji: "\u{1F3E2}", name: "office building", shortcode: "office", codepoint: "U+1F3E2", category: "Travel & Places", keywords: ["work"] },
2878
+ { emoji: "\u{1F30D}", name: "globe showing Europe-Africa", shortcode: "earth_africa", codepoint: "U+1F30D", category: "Travel & Places", keywords: ["world", "global"] },
2879
+ { emoji: "\u{1F5FA}\uFE0F", name: "world map", shortcode: "world_map", codepoint: "U+1F5FA U+FE0F", category: "Travel & Places", keywords: ["travel"] },
2880
+ { emoji: "\u{1F319}", name: "crescent moon", shortcode: "crescent_moon", codepoint: "U+1F319", category: "Travel & Places", keywords: ["night"] },
2881
+ { emoji: "\u{1F4BB}", name: "laptop", shortcode: "computer", codepoint: "U+1F4BB", category: "Objects", keywords: ["dev", "code"] },
2882
+ { emoji: "\u{1F5A5}\uFE0F", name: "desktop computer", shortcode: "desktop_computer", codepoint: "U+1F5A5 U+FE0F", category: "Objects", keywords: ["dev"] },
2883
+ { emoji: "\u2328\uFE0F", name: "keyboard", shortcode: "keyboard", codepoint: "U+2328 U+FE0F", category: "Objects", keywords: ["type", "dev"] },
2884
+ { emoji: "\u{1F5B1}\uFE0F", name: "computer mouse", shortcode: "computer_mouse", codepoint: "U+1F5B1 U+FE0F", category: "Objects", keywords: ["dev"] },
2885
+ { emoji: "\u{1F4F1}", name: "mobile phone", shortcode: "iphone", codepoint: "U+1F4F1", category: "Objects", keywords: ["phone"] },
2886
+ { emoji: "\u260E\uFE0F", name: "telephone", shortcode: "telephone", codepoint: "U+260E U+FE0F", category: "Objects", keywords: ["phone"] },
2887
+ { emoji: "\u{1F4A1}", name: "light bulb", shortcode: "bulb", codepoint: "U+1F4A1", category: "Objects", keywords: ["idea"] },
2888
+ { emoji: "\u{1F50B}", name: "battery", shortcode: "battery", codepoint: "U+1F50B", category: "Objects", keywords: ["power"] },
2889
+ { emoji: "\u{1F50C}", name: "electric plug", shortcode: "electric_plug", codepoint: "U+1F50C", category: "Objects", keywords: ["power"] },
2890
+ { emoji: "\u{1F4F7}", name: "camera", shortcode: "camera", codepoint: "U+1F4F7", category: "Objects", keywords: ["photo"] },
2891
+ { emoji: "\u{1F4DA}", name: "books", shortcode: "books", codepoint: "U+1F4DA", category: "Objects", keywords: ["read", "study"] },
2892
+ { emoji: "\u{1F4D6}", name: "open book", shortcode: "book", codepoint: "U+1F4D6", category: "Objects", keywords: ["read"] },
2893
+ { emoji: "\u{1F4DD}", name: "memo", shortcode: "memo", codepoint: "U+1F4DD", category: "Objects", keywords: ["note", "write"] },
2894
+ { emoji: "\u270F\uFE0F", name: "pencil", shortcode: "pencil2", codepoint: "U+270F U+FE0F", category: "Objects", keywords: ["write"] },
2895
+ { emoji: "\u{1F58A}\uFE0F", name: "pen", shortcode: "pen", codepoint: "U+1F58A U+FE0F", category: "Objects", keywords: ["write"] },
2896
+ { emoji: "\u{1F4CC}", name: "pushpin", shortcode: "pushpin", codepoint: "U+1F4CC", category: "Objects", keywords: ["pin"] },
2897
+ { emoji: "\u{1F4CE}", name: "paperclip", shortcode: "paperclip", codepoint: "U+1F4CE", category: "Objects", keywords: ["attach"] },
2898
+ { emoji: "\u{1F517}", name: "link", shortcode: "link", codepoint: "U+1F517", category: "Objects", keywords: ["url", "chain"] },
2899
+ { emoji: "\u{1F512}", name: "locked", shortcode: "lock", codepoint: "U+1F512", category: "Objects", keywords: ["secure", "private"] },
2900
+ { emoji: "\u{1F513}", name: "unlocked", shortcode: "unlock", codepoint: "U+1F513", category: "Objects", keywords: ["open"] },
2901
+ { emoji: "\u{1F511}", name: "key", shortcode: "key", codepoint: "U+1F511", category: "Objects", keywords: ["password"] },
2902
+ { emoji: "\u{1F50D}", name: "magnifying glass tilted left", shortcode: "mag", codepoint: "U+1F50D", category: "Objects", keywords: ["search", "find"] },
2903
+ { emoji: "\u2699\uFE0F", name: "gear", shortcode: "gear", codepoint: "U+2699 U+FE0F", category: "Objects", keywords: ["settings", "config"] },
2904
+ { emoji: "\u{1F6E0}\uFE0F", name: "hammer and wrench", shortcode: "hammer_and_wrench", codepoint: "U+1F6E0 U+FE0F", category: "Objects", keywords: ["tools", "build"] },
2905
+ { emoji: "\u{1F41B}", name: "bug", shortcode: "bug", codepoint: "U+1F41B", category: "Animals & Nature", keywords: ["insect", "error", "debug"] },
2906
+ { emoji: "\u{1F4B0}", name: "money bag", shortcode: "moneybag", codepoint: "U+1F4B0", category: "Objects", keywords: ["cash", "rich"] },
2907
+ { emoji: "\u{1F4B5}", name: "dollar banknote", shortcode: "dollar", codepoint: "U+1F4B5", category: "Objects", keywords: ["money", "cash"] },
2908
+ { emoji: "\u{1F4B3}", name: "credit card", shortcode: "credit_card", codepoint: "U+1F4B3", category: "Objects", keywords: ["payment"] },
2909
+ { emoji: "\u{1F4C8}", name: "chart increasing", shortcode: "chart_with_upwards_trend", codepoint: "U+1F4C8", category: "Objects", keywords: ["growth", "stocks"] },
2910
+ { emoji: "\u{1F4C9}", name: "chart decreasing", shortcode: "chart_with_downwards_trend", codepoint: "U+1F4C9", category: "Objects", keywords: ["decline", "stocks"] },
2911
+ { emoji: "\u{1F4CA}", name: "bar chart", shortcode: "bar_chart", codepoint: "U+1F4CA", category: "Objects", keywords: ["data", "stats"] },
2912
+ { emoji: "\u{1F4C5}", name: "calendar", shortcode: "date", codepoint: "U+1F4C5", category: "Objects", keywords: ["schedule"] },
2913
+ { emoji: "\u23F0", name: "alarm clock", shortcode: "alarm_clock", codepoint: "U+23F0", category: "Objects", keywords: ["time", "wake"] },
2914
+ { emoji: "\u23F3", name: "hourglass not done", shortcode: "hourglass_flowing_sand", codepoint: "U+23F3", category: "Objects", keywords: ["waiting", "time"] },
2915
+ { emoji: "\u2705", name: "check mark button", shortcode: "white_check_mark", codepoint: "U+2705", category: "Symbols", keywords: ["done", "correct", "yes"] },
2916
+ { emoji: "\u2714\uFE0F", name: "check mark", shortcode: "heavy_check_mark", codepoint: "U+2714 U+FE0F", category: "Symbols", keywords: ["done", "correct"] },
2917
+ { emoji: "\u274C", name: "cross mark", shortcode: "x", codepoint: "U+274C", category: "Symbols", keywords: ["wrong", "no", "error"] },
2918
+ { emoji: "\u2757", name: "exclamation mark", shortcode: "exclamation", codepoint: "U+2757", category: "Symbols", keywords: ["warning", "important"] },
2919
+ { emoji: "\u2753", name: "question mark", shortcode: "question", codepoint: "U+2753", category: "Symbols", keywords: ["ask"] },
2920
+ { emoji: "\u26A0\uFE0F", name: "warning", shortcode: "warning", codepoint: "U+26A0 U+FE0F", category: "Symbols", keywords: ["caution", "alert"] },
2921
+ { emoji: "\u{1F6AB}", name: "prohibited", shortcode: "no_entry_sign", codepoint: "U+1F6AB", category: "Symbols", keywords: ["forbidden", "banned"] },
2922
+ { emoji: "\u{1F534}", name: "red circle", shortcode: "red_circle", codepoint: "U+1F534", category: "Symbols", keywords: ["status", "stop"] },
2923
+ { emoji: "\u{1F7E2}", name: "green circle", shortcode: "green_circle", codepoint: "U+1F7E2", category: "Symbols", keywords: ["status", "go"] },
2924
+ { emoji: "\u{1F7E1}", name: "yellow circle", shortcode: "yellow_circle", codepoint: "U+1F7E1", category: "Symbols", keywords: ["status", "warning"] },
2925
+ { emoji: "\u{1F535}", name: "blue circle", shortcode: "blue_circle", codepoint: "U+1F535", category: "Symbols", keywords: ["status"] },
2926
+ { emoji: "\u2B06\uFE0F", name: "up arrow", shortcode: "arrow_up", codepoint: "U+2B06 U+FE0F", category: "Symbols", keywords: ["direction"] },
2927
+ { emoji: "\u2B07\uFE0F", name: "down arrow", shortcode: "arrow_down", codepoint: "U+2B07 U+FE0F", category: "Symbols", keywords: ["direction"] },
2928
+ { emoji: "\u27A1\uFE0F", name: "right arrow", shortcode: "arrow_right", codepoint: "U+27A1 U+FE0F", category: "Symbols", keywords: ["direction"] },
2929
+ { emoji: "\u2B05\uFE0F", name: "left arrow", shortcode: "arrow_left", codepoint: "U+2B05 U+FE0F", category: "Symbols", keywords: ["direction"] },
2930
+ { emoji: "\u{1F504}", name: "counterclockwise arrows button", shortcode: "arrows_counterclockwise", codepoint: "U+1F504", category: "Symbols", keywords: ["refresh", "reload", "sync"] },
2931
+ { emoji: "\u267B\uFE0F", name: "recycling symbol", shortcode: "recycle", codepoint: "U+267B U+FE0F", category: "Symbols", keywords: ["reuse", "green"] },
2932
+ { emoji: "\u{1F195}", name: "NEW button", shortcode: "new", codepoint: "U+1F195", category: "Symbols", keywords: ["fresh"] },
2933
+ { emoji: "\u{1F193}", name: "FREE button", shortcode: "free", codepoint: "U+1F193", category: "Symbols", keywords: ["gratis"] },
2934
+ { emoji: "\u{1F4A4}", name: "zzz", shortcode: "zzz", codepoint: "U+1F4A4", category: "Symbols", keywords: ["sleep", "tired"] },
2935
+ { emoji: "\u{1F4AC}", name: "speech balloon", shortcode: "speech_balloon", codepoint: "U+1F4AC", category: "Objects", keywords: ["chat", "talk"] },
2936
+ { emoji: "\u{1F4AD}", name: "thought balloon", shortcode: "thought_balloon", codepoint: "U+1F4AD", category: "Objects", keywords: ["think"] },
2937
+ { emoji: "\u{1F5E3}\uFE0F", name: "speaking head", shortcode: "speaking_head", codepoint: "U+1F5E3 U+FE0F", category: "People & Body", keywords: ["talk"] },
2938
+ { emoji: "\u{1F3AF}", name: "direct hit", shortcode: "dart", codepoint: "U+1F3AF", category: "Activities", keywords: ["target", "goal"] },
2939
+ { emoji: "\u{1F6A9}", name: "triangular flag", shortcode: "triangular_flag_on_post", codepoint: "U+1F6A9", category: "Flags", keywords: ["flag", "report"] },
2940
+ { emoji: "\u{1F3C1}", name: "chequered flag", shortcode: "checkered_flag", codepoint: "U+1F3C1", category: "Flags", keywords: ["finish", "race"] },
2941
+ { emoji: "\u{1F1FA}\u{1F1F8}", name: "flag: United States", shortcode: "us", codepoint: "U+1F1FA U+1F1F8", category: "Flags", keywords: ["usa", "america"] },
2942
+ { emoji: "\u{1F1EC}\u{1F1E7}", name: "flag: United Kingdom", shortcode: "gb", codepoint: "U+1F1EC U+1F1E7", category: "Flags", keywords: ["uk", "britain"] },
2943
+ { emoji: "\u{1F1EE}\u{1F1F3}", name: "flag: India", shortcode: "in", codepoint: "U+1F1EE U+1F1F3", category: "Flags", keywords: ["india"] },
2944
+ { emoji: "\u{1F1EF}\u{1F1F5}", name: "flag: Japan", shortcode: "jp", codepoint: "U+1F1EF U+1F1F5", category: "Flags", keywords: ["japan"] },
2945
+ { emoji: "\u{1F1E9}\u{1F1EA}", name: "flag: Germany", shortcode: "de", codepoint: "U+1F1E9 U+1F1EA", category: "Flags", keywords: ["germany"] },
2946
+ { emoji: "\u{1F1EB}\u{1F1F7}", name: "flag: France", shortcode: "fr", codepoint: "U+1F1EB U+1F1F7", category: "Flags", keywords: ["france"] },
2947
+ { emoji: "\u{1F1E8}\u{1F1E6}", name: "flag: Canada", shortcode: "ca", codepoint: "U+1F1E8 U+1F1E6", category: "Flags", keywords: ["canada"] },
2948
+ { emoji: "\u{1F1E6}\u{1F1FA}", name: "flag: Australia", shortcode: "au", codepoint: "U+1F1E6 U+1F1FA", category: "Flags", keywords: ["australia"] },
2949
+ { emoji: "\u{1F1E7}\u{1F1F7}", name: "flag: Brazil", shortcode: "br", codepoint: "U+1F1E7 U+1F1F7", category: "Flags", keywords: ["brazil"] },
2950
+ { emoji: "\u{1F1E8}\u{1F1F3}", name: "flag: China", shortcode: "cn", codepoint: "U+1F1E8 U+1F1F3", category: "Flags", keywords: ["china"] }
2951
+ ];
2952
+ function searchEmoji(query) {
2953
+ const q = query.trim().toLowerCase().replace(/^:|:$/g, "");
2954
+ if (!q) return [];
2955
+ return EMOJI_TABLE.filter(
2956
+ (e) => e.name.toLowerCase().includes(q) || e.shortcode.toLowerCase().includes(q) || e.keywords.some((k) => k.toLowerCase().includes(q))
2957
+ );
2958
+ }
2959
+ function getEmojiByShortcode(shortcode) {
2960
+ const s = shortcode.trim().toLowerCase().replace(/^:|:$/g, "");
2961
+ return EMOJI_TABLE.find((e) => e.shortcode.toLowerCase() === s);
2962
+ }
2963
+ function getEmojiByChar(char) {
2964
+ return EMOJI_TABLE.find((e) => e.emoji === char);
2965
+ }
2966
+ function getEmojiByCategory(category) {
2967
+ return EMOJI_TABLE.filter((e) => e.category.toLowerCase() === category.trim().toLowerCase());
2968
+ }
2969
+ function getEmojiCategories() {
2970
+ return Array.from(new Set(EMOJI_TABLE.map((e) => e.category)));
2971
+ }
2667
2972
 
2668
- export { CASE_FORMATS, DEFAULT_CONVERT_OPTIONS, ESCAPE_MODES, LINE_OPS, MORSE_CODE, addBorder, analyzeSentenceLengths, analyzeText, applyOp, applyOps, calculateStringDistance, centerText, convertAll, convertCase, countWords, csvToHtml, csvToMarkdown, detectDelimiter, detectFillerWords, detectPassiveVoice, diffLines, diffLinesSimple, diffStats, escapeAll, escapeString, extractHeadings, formatReadingTime, generate, generateDiff, generateHtmlTable, generateMarkdownTable, generateParagraphs, generateSentences, generateWords, getAvailableFonts, getMorseForChar, getMorseTiming, htmlToMarkdown, isValidMorse, markdownToHtml, morseToText, numberToOrdinal, numberToRoman, numberToWords, ordinalWords, parseDiff, parseTableData, readabilityScore, renderMarkdown, romanToNumber, scoreReadability, sentenceCount, slugify, slugifyAll, syllableCount, textToAscii, textToMorse, text_exports, unescapeString, wordFrequency };
2973
+ export { CASE_FORMATS, DEFAULT_CONVERT_OPTIONS, EMOJI_TABLE, ESCAPE_MODES, LINE_OPS, MORSE_CODE, addBorder, analyzeSentenceLengths, analyzeText, applyOp, applyOps, calculateStringDistance, centerText, convertAll, convertCase, countWords, csvToHtml, csvToMarkdown, detectDelimiter, detectFillerWords, detectPassiveVoice, diffLines, diffLinesSimple, diffStats, escapeAll, escapeString, extractHeadings, formatReadingTime, generate, generateDiff, generateHtmlTable, generateMarkdownTable, generateParagraphs, generateSentences, generateWords, getAvailableFonts, getEmojiByCategory, getEmojiByChar, getEmojiByShortcode, getEmojiCategories, getMorseForChar, getMorseTiming, htmlToMarkdown, isValidMorse, markdownToHtml, morseToText, numberToOrdinal, numberToRoman, numberToWords, ordinalWords, parseDiff, parseTableData, readabilityScore, renderMarkdown, romanToNumber, scoreReadability, searchEmoji, sentenceCount, slugify, slugifyAll, syllableCount, textToAscii, textToMorse, text_exports, unescapeString, wordFrequency };
@@ -16,6 +16,7 @@ __export(data_exports, {
16
16
  formatSubtitleTimestamp: () => formatSubtitleTimestamp,
17
17
  formatToml: () => formatToml,
18
18
  formatXml: () => formatXml,
19
+ generateMarkdownToc: () => generateMarkdownToc,
19
20
  getSection: () => getSection,
20
21
  getSectionNames: () => getSectionNames,
21
22
  getTomlStats: () => getTomlStats,
@@ -1399,5 +1400,66 @@ function parseFrontMatter(input) {
1399
1400
  }
1400
1401
  return { frontMatter, body: afterClose, hasFrontMatter: true, raw };
1401
1402
  }
1403
+ function stripInlineMarkdown(text) {
1404
+ return text.replace(/(\*\*\*|___)(.+?)\1/g, "$2").replace(/(\*\*|__)(.+?)\1/g, "$2").replace(/(\*|_)(.+?)\1/g, "$2").replace(/`([^`]+)`/g, "$1").replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/\[([^\]]+)\]\([^)]*\)/g, "$1").trim();
1405
+ }
1406
+ function slugifyHeading(text, seen) {
1407
+ let slug = text.toLowerCase().trim().replace(/[^\p{L}\p{N}\s_-]/gu, "").replace(/\s/g, "-");
1408
+ const count = seen.get(slug) ?? 0;
1409
+ seen.set(slug, count + 1);
1410
+ if (count > 0) slug = `${slug}-${count}`;
1411
+ return slug;
1412
+ }
1413
+ function generateMarkdownToc(markdown, options = {}) {
1414
+ if (typeof markdown !== "string" || markdown.trim() === "") {
1415
+ return { error: "markdown is required" };
1416
+ }
1417
+ const minLevel = options.minLevel ?? 1;
1418
+ const maxLevel = options.maxLevel ?? 6;
1419
+ if (!Number.isInteger(minLevel) || !Number.isInteger(maxLevel) || minLevel < 1 || minLevel > 6 || maxLevel < 1 || maxLevel > 6 || minLevel > maxLevel) {
1420
+ return { error: "minLevel and maxLevel must be integers between 1 and 6, with minLevel <= maxLevel" };
1421
+ }
1422
+ const lines = markdown.replace(/\r\n/g, "\n").split("\n");
1423
+ const entries = [];
1424
+ const seen = /* @__PURE__ */ new Map();
1425
+ let inFence = false;
1426
+ let fenceMarker = "";
1427
+ for (const line of lines) {
1428
+ const fenceMatch = line.match(/^\s*(```+|~~~+)/);
1429
+ if (fenceMatch) {
1430
+ if (!inFence) {
1431
+ inFence = true;
1432
+ fenceMarker = fenceMatch[1][0];
1433
+ } else if (fenceMatch[1][0] === fenceMarker) {
1434
+ inFence = false;
1435
+ }
1436
+ continue;
1437
+ }
1438
+ if (inFence) continue;
1439
+ const headingMatch = line.match(/^(#{1,6})\s+(.+?)\s*#*\s*$/);
1440
+ if (!headingMatch) continue;
1441
+ const level = headingMatch[1].length;
1442
+ const text = stripInlineMarkdown(headingMatch[2]);
1443
+ if (text === "") continue;
1444
+ const slug = slugifyHeading(text, seen);
1445
+ if (level < minLevel || level > maxLevel) continue;
1446
+ entries.push({ level, text, slug });
1447
+ }
1448
+ if (entries.length === 0) {
1449
+ return { error: "No headings found in the given level range" };
1450
+ }
1451
+ const baseLevel = Math.min(...entries.map((e) => e.level));
1452
+ const counters = [0, 0, 0, 0, 0, 0, 0];
1453
+ const tocLines = entries.map((e) => {
1454
+ const indent = " ".repeat(e.level - baseLevel);
1455
+ if (options.ordered) {
1456
+ counters[e.level] = (counters[e.level] ?? 0) + 1;
1457
+ for (let l = e.level + 1; l < counters.length; l++) counters[l] = 0;
1458
+ return `${indent}${counters[e.level]}. [${e.text}](#${e.slug})`;
1459
+ }
1460
+ return `${indent}- [${e.text}](#${e.slug})`;
1461
+ });
1462
+ return { toc: tocLines.join("\n"), entries };
1463
+ }
1402
1464
 
1403
- export { convertSubtitles, csvToJson, data_exports, detectDelimiter, detectSubtitleFormat, diffEnvExample, envToExport, envToJson, formatNdjson, formatSubtitleTimestamp, formatToml, formatXml, getSection, getSectionNames, getTomlStats, getXmlStats, getYamlStats, iniToJson, jsonArrayToNdjson, jsonToIni, jsonToToml, jsonToXml, minifyNdjson, minifyToml, minifyXml, ndjsonToJsonArray, parseCsv, parseEnv, parseFrontMatter, parseIni, parseSubtitleTimestamp, parseSubtitles, parseXmlToObject, serializeSubtitles, shiftSubtitles, stringifyIni, toCsvString, tomlToJson, validateEnvKey, validateIni, validateNdjson, validateToml, validateXml, validateYaml, xmlToJson };
1465
+ export { convertSubtitles, csvToJson, data_exports, detectDelimiter, detectSubtitleFormat, diffEnvExample, envToExport, envToJson, formatNdjson, formatSubtitleTimestamp, formatToml, formatXml, generateMarkdownToc, getSection, getSectionNames, getTomlStats, getXmlStats, getYamlStats, iniToJson, jsonArrayToNdjson, jsonToIni, jsonToToml, jsonToXml, minifyNdjson, minifyToml, minifyXml, ndjsonToJsonArray, parseCsv, parseEnv, parseFrontMatter, parseIni, parseSubtitleTimestamp, parseSubtitles, parseXmlToObject, serializeSubtitles, shiftSubtitles, stringifyIni, toCsvString, tomlToJson, validateEnvKey, validateIni, validateNdjson, validateToml, validateXml, validateYaml, xmlToJson };
@@ -14,6 +14,7 @@
14
14
  * - ndjson-formatter: validateNdjson, minifyNdjson, formatNdjson, ndjsonToJsonArray, jsonArrayToNdjson
15
15
  * - subtitle-converter: parseSubtitleTimestamp, formatSubtitleTimestamp, detectSubtitleFormat, parseSubtitles, serializeSubtitles, convertSubtitles, shiftSubtitles
16
16
  * - markdown-front-matter-parser: parseFrontMatter
17
+ * - markdown-toc-generator: generateMarkdownToc
17
18
  */
18
19
  interface ValidationResult {
19
20
  valid: boolean;
@@ -291,6 +292,34 @@ interface FrontMatterError {
291
292
  * "---" delimiter is returned as-is with `hasFrontMatter: false`.
292
293
  */
293
294
  declare function parseFrontMatter(input: string): FrontMatterResult | FrontMatterError;
295
+ interface MarkdownTocOptions {
296
+ /** Shallowest heading level to include (1-6). Default 1. */
297
+ minLevel?: number;
298
+ /** Deepest heading level to include (1-6). Default 6. */
299
+ maxLevel?: number;
300
+ /** Render as a numbered list instead of a bullet list. Default false. */
301
+ ordered?: boolean;
302
+ }
303
+ interface MarkdownTocEntry {
304
+ level: number;
305
+ text: string;
306
+ slug: string;
307
+ }
308
+ interface MarkdownTocResult {
309
+ toc: string;
310
+ entries: MarkdownTocEntry[];
311
+ }
312
+ /**
313
+ * Generate a Markdown table of contents from a document's ATX headings
314
+ * (`#` through `######`). Returns both the rendered TOC (a nested bullet or
315
+ * numbered list of links) and the parsed heading entries with GitHub-style
316
+ * anchor slugs, so duplicate headings get `-1`, `-2`, ... suffixes the same
317
+ * way GitHub's own renderer disambiguates them. Headings inside fenced code
318
+ * blocks (```` ``` ```` or `~~~`) are ignored.
319
+ */
320
+ declare function generateMarkdownToc(markdown: string, options?: MarkdownTocOptions): MarkdownTocResult | {
321
+ error: string;
322
+ };
294
323
 
295
324
  type data_ConvertedSubtitles = ConvertedSubtitles;
296
325
  type data_CsvParseResult = CsvParseResult;
@@ -301,6 +330,9 @@ type data_EnvParseResult = EnvParseResult;
301
330
  type data_FrontMatterError = FrontMatterError;
302
331
  type data_FrontMatterResult = FrontMatterResult;
303
332
  type data_IniSection = IniSection;
333
+ type data_MarkdownTocEntry = MarkdownTocEntry;
334
+ type data_MarkdownTocOptions = MarkdownTocOptions;
335
+ type data_MarkdownTocResult = MarkdownTocResult;
304
336
  type data_NdjsonLineResult = NdjsonLineResult;
305
337
  type data_NdjsonValidateResult = NdjsonValidateResult;
306
338
  type data_ParseOptions = ParseOptions;
@@ -323,6 +355,7 @@ declare const data_formatNdjson: typeof formatNdjson;
323
355
  declare const data_formatSubtitleTimestamp: typeof formatSubtitleTimestamp;
324
356
  declare const data_formatToml: typeof formatToml;
325
357
  declare const data_formatXml: typeof formatXml;
358
+ declare const data_generateMarkdownToc: typeof generateMarkdownToc;
326
359
  declare const data_getSection: typeof getSection;
327
360
  declare const data_getSectionNames: typeof getSectionNames;
328
361
  declare const data_getTomlStats: typeof getTomlStats;
@@ -357,7 +390,7 @@ declare const data_validateXml: typeof validateXml;
357
390
  declare const data_validateYaml: typeof validateYaml;
358
391
  declare const data_xmlToJson: typeof xmlToJson;
359
392
  declare namespace data {
360
- export { type data_ConvertedSubtitles as ConvertedSubtitles, type data_CsvParseResult as CsvParseResult, type data_EnvDiffError as EnvDiffError, type data_EnvDiffResult as EnvDiffResult, type data_EnvEntry as EnvEntry, type data_EnvParseResult as EnvParseResult, type data_FrontMatterError as FrontMatterError, type data_FrontMatterResult as FrontMatterResult, type data_IniSection as IniSection, type data_NdjsonLineResult as NdjsonLineResult, type data_NdjsonValidateResult as NdjsonValidateResult, type data_ParseOptions as ParseOptions, type data_ParsedIni as ParsedIni, type data_ParsedSubtitles as ParsedSubtitles, type data_SubtitleCue as SubtitleCue, type data_SubtitleFormat as SubtitleFormat, type data_TomlFormatResult as TomlFormatResult, type data_ValidationResult as ValidationResult, type data_XmlFormatResult as XmlFormatResult, type data_XmlToJsonOptions as XmlToJsonOptions, data_convertSubtitles as convertSubtitles, data_csvToJson as csvToJson, data_detectDelimiter as detectDelimiter, data_detectSubtitleFormat as detectSubtitleFormat, data_diffEnvExample as diffEnvExample, data_envToExport as envToExport, data_envToJson as envToJson, data_formatNdjson as formatNdjson, data_formatSubtitleTimestamp as formatSubtitleTimestamp, data_formatToml as formatToml, data_formatXml as formatXml, data_getSection as getSection, data_getSectionNames as getSectionNames, data_getTomlStats as getTomlStats, data_getXmlStats as getXmlStats, data_getYamlStats as getYamlStats, data_iniToJson as iniToJson, data_jsonArrayToNdjson as jsonArrayToNdjson, data_jsonToIni as jsonToIni, data_jsonToToml as jsonToToml, data_jsonToXml as jsonToXml, data_minifyNdjson as minifyNdjson, data_minifyToml as minifyToml, data_minifyXml as minifyXml, data_ndjsonToJsonArray as ndjsonToJsonArray, data_parseCsv as parseCsv, data_parseEnv as parseEnv, data_parseFrontMatter as parseFrontMatter, data_parseIni as parseIni, data_parseSubtitleTimestamp as parseSubtitleTimestamp, data_parseSubtitles as parseSubtitles, data_parseXmlToObject as parseXmlToObject, data_serializeSubtitles as serializeSubtitles, data_shiftSubtitles as shiftSubtitles, data_stringifyIni as stringifyIni, data_toCsvString as toCsvString, data_tomlToJson as tomlToJson, data_validateEnvKey as validateEnvKey, data_validateIni as validateIni, data_validateNdjson as validateNdjson, data_validateToml as validateToml, data_validateXml as validateXml, data_validateYaml as validateYaml, data_xmlToJson as xmlToJson };
393
+ export { type data_ConvertedSubtitles as ConvertedSubtitles, type data_CsvParseResult as CsvParseResult, type data_EnvDiffError as EnvDiffError, type data_EnvDiffResult as EnvDiffResult, type data_EnvEntry as EnvEntry, type data_EnvParseResult as EnvParseResult, type data_FrontMatterError as FrontMatterError, type data_FrontMatterResult as FrontMatterResult, type data_IniSection as IniSection, type data_MarkdownTocEntry as MarkdownTocEntry, type data_MarkdownTocOptions as MarkdownTocOptions, type data_MarkdownTocResult as MarkdownTocResult, type data_NdjsonLineResult as NdjsonLineResult, type data_NdjsonValidateResult as NdjsonValidateResult, type data_ParseOptions as ParseOptions, type data_ParsedIni as ParsedIni, type data_ParsedSubtitles as ParsedSubtitles, type data_SubtitleCue as SubtitleCue, type data_SubtitleFormat as SubtitleFormat, type data_TomlFormatResult as TomlFormatResult, type data_ValidationResult as ValidationResult, type data_XmlFormatResult as XmlFormatResult, type data_XmlToJsonOptions as XmlToJsonOptions, data_convertSubtitles as convertSubtitles, data_csvToJson as csvToJson, data_detectDelimiter as detectDelimiter, data_detectSubtitleFormat as detectSubtitleFormat, data_diffEnvExample as diffEnvExample, data_envToExport as envToExport, data_envToJson as envToJson, data_formatNdjson as formatNdjson, data_formatSubtitleTimestamp as formatSubtitleTimestamp, data_formatToml as formatToml, data_formatXml as formatXml, data_generateMarkdownToc as generateMarkdownToc, data_getSection as getSection, data_getSectionNames as getSectionNames, data_getTomlStats as getTomlStats, data_getXmlStats as getXmlStats, data_getYamlStats as getYamlStats, data_iniToJson as iniToJson, data_jsonArrayToNdjson as jsonArrayToNdjson, data_jsonToIni as jsonToIni, data_jsonToToml as jsonToToml, data_jsonToXml as jsonToXml, data_minifyNdjson as minifyNdjson, data_minifyToml as minifyToml, data_minifyXml as minifyXml, data_ndjsonToJsonArray as ndjsonToJsonArray, data_parseCsv as parseCsv, data_parseEnv as parseEnv, data_parseFrontMatter as parseFrontMatter, data_parseIni as parseIni, data_parseSubtitleTimestamp as parseSubtitleTimestamp, data_parseSubtitles as parseSubtitles, data_parseXmlToObject as parseXmlToObject, data_serializeSubtitles as serializeSubtitles, data_shiftSubtitles as shiftSubtitles, data_stringifyIni as stringifyIni, data_toCsvString as toCsvString, data_tomlToJson as tomlToJson, data_validateEnvKey as validateEnvKey, data_validateIni as validateIni, data_validateNdjson as validateNdjson, data_validateToml as validateToml, data_validateXml as validateXml, data_validateYaml as validateYaml, data_xmlToJson as xmlToJson };
361
394
  }
362
395
 
363
- export { serializeSubtitles as $, getYamlStats as A, iniToJson as B, type ConvertedSubtitles as C, jsonArrayToNdjson as D, type EnvDiffError as E, type FrontMatterError as F, jsonToIni as G, jsonToToml as H, type IniSection as I, jsonToXml as J, minifyNdjson as K, minifyToml as L, minifyXml as M, type NdjsonLineResult as N, ndjsonToJsonArray as O, type ParseOptions as P, parseCsv as Q, parseEnv as R, type SubtitleCue as S, type TomlFormatResult as T, parseFrontMatter as U, type ValidationResult as V, parseIni as W, type XmlFormatResult as X, parseSubtitleTimestamp as Y, parseSubtitles as Z, parseXmlToObject as _, type CsvParseResult as a, shiftSubtitles as a0, stringifyIni as a1, toCsvString as a2, tomlToJson as a3, validateEnvKey as a4, validateIni as a5, validateNdjson as a6, validateToml as a7, validateXml as a8, validateYaml as a9, xmlToJson as aa, type EnvDiffResult as b, type EnvEntry as c, data as d, type EnvParseResult as e, type FrontMatterResult as f, type NdjsonValidateResult as g, type ParsedIni as h, type ParsedSubtitles as i, type SubtitleFormat as j, type XmlToJsonOptions as k, convertSubtitles as l, csvToJson as m, detectDelimiter as n, detectSubtitleFormat as o, diffEnvExample as p, envToExport as q, envToJson as r, formatNdjson as s, formatSubtitleTimestamp as t, formatToml as u, formatXml as v, getSection as w, getSectionNames as x, getTomlStats as y, getXmlStats as z };
396
+ export { parseIni as $, getSectionNames as A, getTomlStats as B, type ConvertedSubtitles as C, getXmlStats as D, type EnvDiffError as E, type FrontMatterError as F, getYamlStats as G, iniToJson as H, type IniSection as I, jsonArrayToNdjson as J, jsonToIni as K, jsonToToml as L, type MarkdownTocEntry as M, type NdjsonLineResult as N, jsonToXml as O, type ParseOptions as P, minifyNdjson as Q, minifyToml as R, type SubtitleCue as S, type TomlFormatResult as T, minifyXml as U, type ValidationResult as V, ndjsonToJsonArray as W, type XmlFormatResult as X, parseCsv as Y, parseEnv as Z, parseFrontMatter as _, type CsvParseResult as a, parseSubtitleTimestamp as a0, parseSubtitles as a1, parseXmlToObject as a2, serializeSubtitles as a3, shiftSubtitles as a4, stringifyIni as a5, toCsvString as a6, tomlToJson as a7, validateEnvKey as a8, validateIni as a9, validateNdjson as aa, validateToml as ab, validateXml as ac, validateYaml as ad, xmlToJson as ae, type EnvDiffResult as b, type EnvEntry as c, data as d, type EnvParseResult as e, type FrontMatterResult as f, type MarkdownTocOptions as g, type MarkdownTocResult as h, type NdjsonValidateResult as i, type ParsedIni as j, type ParsedSubtitles as k, type SubtitleFormat as l, type XmlToJsonOptions as m, convertSubtitles as n, csvToJson as o, detectDelimiter as p, detectSubtitleFormat as q, diffEnvExample as r, envToExport as s, envToJson as t, formatNdjson as u, formatSubtitleTimestamp as v, formatToml as w, formatXml as x, generateMarkdownToc as y, getSection as z };