henkan 2.0.2 → 2.0.3

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.mjs CHANGED
@@ -2375,7 +2375,7 @@ function getWord(word, dict, kanjiDic, examples, definitions, noteTypeName, deck
2375
2375
  } else return void 0;
2376
2376
  }
2377
2377
  function getKanji(kanji, dict, jmDict, svgList, noteTypeName, deckPath) {
2378
- var _a, _b, _c, _d, _e;
2378
+ var _a, _b, _c, _d, _e, _f, _g, _h;
2379
2379
  let dictKanji = void 0;
2380
2380
  if (typeof kanji === "string" && dict)
2381
2381
  dictKanji = dict.find((entry) => entry.kanji === kanji);
@@ -2423,19 +2423,39 @@ function getKanji(kanji, dict, jmDict, svgList, noteTypeName, deckPath) {
2423
2423
  if (kunyomi.length > 0) kanji2.kunyomi = kunyomi;
2424
2424
  }
2425
2425
  if (jmDict) {
2426
- const kanjiWords = (_a = Array.isArray(jmDict) ? jmDict : jmDict.get(kanji2.kanji)) == null ? void 0 : _a.filter(
2426
+ let kanjiWords = Array.isArray(
2427
+ jmDict
2428
+ ) ? jmDict : jmDict.get(kanji2.kanji);
2429
+ const firstKfWords = kanjiWords == null ? void 0 : kanjiWords.filter(
2427
2430
  (word) => word.kanjiForms && word.kanjiForms[0].form.includes(kanji2.kanji)
2428
- ).slice(0, 3);
2431
+ );
2432
+ if (firstKfWords && firstKfWords.length > 0) kanjiWords = firstKfWords;
2433
+ else if (kanjiWords) kanjiWords = kanjiWords;
2429
2434
  if (kanjiWords) {
2430
2435
  const validWords = [];
2431
2436
  for (const word of kanjiWords) {
2432
- const translation = word.meanings[0].translations[0];
2433
- const translationText = typeof translation === "object" ? translation.translation : translation;
2437
+ const kanjiForm = (_a = firstKfWords && firstKfWords.length > 0 ? word.kanjiForms[0] : word.kanjiForms.find(
2438
+ (kf) => kf.form.includes(kanji2.kanji)
2439
+ )) == null ? void 0 : _a.form;
2440
+ if (!kanjiForm) continue;
2441
+ const reading = (_b = firstKfWords && firstKfWords.length > 0 ? word.readings[0] : word.readings.find(
2442
+ (reading2) => reading2.kanjiFormRestrictions && reading2.kanjiFormRestrictions.includes(kanjiForm)
2443
+ )) == null ? void 0 : _b.reading;
2444
+ if (!reading) continue;
2445
+ const meaning = firstKfWords && firstKfWords.length > 0 ? (_c = word.meanings[0]) == null ? void 0 : _c.translations[0] : (_d = word.meanings.find(
2446
+ (m) => m.translations && m.kanjiFormRestrictions && m.kanjiFormRestrictions.includes(kanjiForm)
2447
+ )) == null ? void 0 : _d.translations[0];
2448
+ if (!meaning) continue;
2434
2449
  validWords.push({
2435
- kanjiForms: [{ kanjiForm: word.kanjiForms[0].form }],
2436
- readings: [{ reading: word.readings[0].reading }],
2437
- translations: [{ translation: translationText }]
2450
+ kanjiForms: [{ kanjiForm }],
2451
+ readings: [{ reading }],
2452
+ translations: [
2453
+ {
2454
+ translation: typeof meaning === "string" ? meaning : meaning.translation
2455
+ }
2456
+ ]
2438
2457
  });
2458
+ if (validWords.length === 3) break;
2439
2459
  }
2440
2460
  if (validWords.length > 0) kanji2.words = validWords;
2441
2461
  }
@@ -2469,10 +2489,10 @@ function getKanji(kanji, dict, jmDict, svgList, noteTypeName, deckPath) {
2469
2489
  ...kanji2.frequency ? [`kanji::frequency::${kanji2.frequency}`] : [],
2470
2490
  ...kanji2.grade ? [`kanji::grade::${kanji2.grade}`] : [],
2471
2491
  ...kanji2.jlpt ? [`kanji::pre-2010_jlpt::${kanji2.jlpt.toLowerCase()}`] : [],
2472
- `kanji::onyomi::${((_b = kanji2.onyomi) == null ? void 0 : _b.length) ?? 0}`,
2473
- `kanji::kunyomi::${((_c = kanji2.kunyomi) == null ? void 0 : _c.length) ?? 0}`,
2474
- `kanji::nanori::${((_d = kanji2.nanori) == null ? void 0 : _d.length) ?? 0}`,
2475
- `kanji::words::${((_e = kanji2.words) == null ? void 0 : _e.length) ?? 0}`,
2492
+ `kanji::onyomi::${((_e = kanji2.onyomi) == null ? void 0 : _e.length) ?? 0}`,
2493
+ `kanji::kunyomi::${((_f = kanji2.kunyomi) == null ? void 0 : _f.length) ?? 0}`,
2494
+ `kanji::nanori::${((_g = kanji2.nanori) == null ? void 0 : _g.length) ?? 0}`,
2495
+ `kanji::words::${((_h = kanji2.words) == null ? void 0 : _h.length) ?? 0}`,
2476
2496
  ...kanji2.svg ? ["kanji::has_svg"] : []
2477
2497
  );
2478
2498
  return kanji2;