henkan 2.0.2 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -2435,7 +2435,7 @@ function getWord(word, dict, kanjiDic, examples, definitions, noteTypeName, deck
2435
2435
  } else return void 0;
2436
2436
  }
2437
2437
  function getKanji(kanji, dict, jmDict, svgList, noteTypeName, deckPath) {
2438
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
2438
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
2439
2439
  let dictKanji = void 0;
2440
2440
  if (typeof kanji === "string" && dict)
2441
2441
  dictKanji = dict.find((entry) => entry.kanji === kanji);
@@ -2483,19 +2483,39 @@ function getKanji(kanji, dict, jmDict, svgList, noteTypeName, deckPath) {
2483
2483
  if (kunyomi.length > 0) kanji2.kunyomi = kunyomi;
2484
2484
  }
2485
2485
  if (jmDict) {
2486
- const kanjiWords = (_a = Array.isArray(jmDict) ? jmDict : jmDict.get(kanji2.kanji)) == null ? void 0 : _a.filter(
2486
+ let kanjiWords = Array.isArray(
2487
+ jmDict
2488
+ ) ? jmDict : jmDict.get(kanji2.kanji);
2489
+ const firstKfWords = kanjiWords == null ? void 0 : kanjiWords.filter(
2487
2490
  (word) => word.kanjiForms && word.kanjiForms[0].form.includes(kanji2.kanji)
2488
- ).slice(0, 3);
2491
+ );
2492
+ if (firstKfWords && firstKfWords.length > 0) kanjiWords = firstKfWords;
2493
+ else if (kanjiWords) kanjiWords = kanjiWords;
2489
2494
  if (kanjiWords) {
2490
2495
  const validWords = [];
2491
2496
  for (const word of kanjiWords) {
2492
- const translation = word.meanings[0].translations[0];
2493
- const translationText = typeof translation === "object" ? translation.translation : translation;
2497
+ const kanjiForm = (_a = firstKfWords && firstKfWords.length > 0 ? word.kanjiForms[0] : word.kanjiForms.find(
2498
+ (kf) => kf.form.includes(kanji2.kanji)
2499
+ )) == null ? void 0 : _a.form;
2500
+ if (!kanjiForm) continue;
2501
+ const reading = (_b = firstKfWords && firstKfWords.length > 0 ? word.readings[0] : word.readings.find(
2502
+ (reading2) => reading2.kanjiFormRestrictions && reading2.kanjiFormRestrictions.includes(kanjiForm)
2503
+ )) == null ? void 0 : _b.reading;
2504
+ if (!reading) continue;
2505
+ const meaning = firstKfWords && firstKfWords.length > 0 ? (_c = word.meanings[0]) == null ? void 0 : _c.translations[0] : (_d = word.meanings.find(
2506
+ (m) => m.translations && m.kanjiFormRestrictions && m.kanjiFormRestrictions.includes(kanjiForm)
2507
+ )) == null ? void 0 : _d.translations[0];
2508
+ if (!meaning) continue;
2494
2509
  validWords.push({
2495
- kanjiForms: [{ kanjiForm: word.kanjiForms[0].form }],
2496
- readings: [{ reading: word.readings[0].reading }],
2497
- translations: [{ translation: translationText }]
2510
+ kanjiForms: [{ kanjiForm }],
2511
+ readings: [{ reading }],
2512
+ translations: [
2513
+ {
2514
+ translation: typeof meaning === "string" ? meaning : meaning.translation
2515
+ }
2516
+ ]
2498
2517
  });
2518
+ if (validWords.length === 3) break;
2499
2519
  }
2500
2520
  if (validWords.length > 0) kanji2.words = validWords;
2501
2521
  }
@@ -2529,10 +2549,10 @@ function getKanji(kanji, dict, jmDict, svgList, noteTypeName, deckPath) {
2529
2549
  ...kanji2.frequency ? [`kanji::frequency::${kanji2.frequency}`] : [],
2530
2550
  ...kanji2.grade ? [`kanji::grade::${kanji2.grade}`] : [],
2531
2551
  ...kanji2.jlpt ? [`kanji::pre-2010_jlpt::${kanji2.jlpt.toLowerCase()}`] : [],
2532
- `kanji::onyomi::${(_c = (_b = kanji2.onyomi) == null ? void 0 : _b.length) != null ? _c : 0}`,
2533
- `kanji::kunyomi::${(_e = (_d = kanji2.kunyomi) == null ? void 0 : _d.length) != null ? _e : 0}`,
2534
- `kanji::nanori::${(_g = (_f = kanji2.nanori) == null ? void 0 : _f.length) != null ? _g : 0}`,
2535
- `kanji::words::${(_i = (_h = kanji2.words) == null ? void 0 : _h.length) != null ? _i : 0}`,
2552
+ `kanji::onyomi::${(_f = (_e = kanji2.onyomi) == null ? void 0 : _e.length) != null ? _f : 0}`,
2553
+ `kanji::kunyomi::${(_h = (_g = kanji2.kunyomi) == null ? void 0 : _g.length) != null ? _h : 0}`,
2554
+ `kanji::nanori::${(_j = (_i = kanji2.nanori) == null ? void 0 : _i.length) != null ? _j : 0}`,
2555
+ `kanji::words::${(_l = (_k = kanji2.words) == null ? void 0 : _k.length) != null ? _l : 0}`,
2536
2556
  ...kanji2.svg ? ["kanji::has_svg"] : []
2537
2557
  );
2538
2558
  return kanji2;
@@ -2836,15 +2856,15 @@ function generateAnkiNotesFile(list, defaultNoteInfo) {
2836
2856
  if (typeof defaultNoteInfo.deckPath === "string" && result.deckPath === void 0)
2837
2857
  result.deckPath = defaultNoteInfo.deckPath;
2838
2858
  if (!hasHeader.guid && result.noteID) {
2839
- headers.push(`${noteHeaderKeys.guid}:${++headerCount}`);
2859
+ headers.push(`${noteHeaderKeys.guid}${++headerCount}`);
2840
2860
  hasHeader.guid = true;
2841
2861
  }
2842
2862
  if (!hasHeader.noteType && result.noteTypeName) {
2843
- headers.push(`${noteHeaderKeys.notetype}:${++headerCount}`);
2863
+ headers.push(`${noteHeaderKeys.notetype}${++headerCount}`);
2844
2864
  hasHeader.noteType = true;
2845
2865
  }
2846
2866
  if (!hasHeader.deckPath && result.deckPath) {
2847
- headers.push(`${noteHeaderKeys.deck}:${++headerCount}`);
2867
+ headers.push(`${noteHeaderKeys.deck}${++headerCount}`);
2848
2868
  hasHeader.deckPath = true;
2849
2869
  }
2850
2870
  const note = generateAnkiNote(result);