henkan 2.0.1 → 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
@@ -294,14 +294,18 @@ var noteMap = /* @__PURE__ */ new Map([
294
294
  ["conjunction", ["conjunction", "Conjunction", "\u63A5\u7D9A\u8A5E"]],
295
295
  [
296
296
  "expression",
297
- ["expression", "Expression", ["\u6210\u8A9E", "\u6210\u53E5", "\u6163\u7528\u53E5", "\u52D5\u8A5E\u53E5"]]
297
+ [
298
+ "expression",
299
+ "Expression",
300
+ ["\u6210\u8A9E", "\u6210\u53E5", "\u6163\u7528\u53E5", "\u52D5\u8A5E\u53E5", "\u611F\u52D5\u8A5E"]
301
+ ]
298
302
  ],
299
303
  [
300
304
  "idiomatic expression",
301
305
  [
302
306
  "idiomatic_expression",
303
307
  "Idiomatic expression",
304
- ["\u6210\u8A9E", "\u6210\u53E5", "\u6163\u7528\u53E5", "\u52D5\u8A5E\u53E5"]
308
+ ["\u6210\u8A9E", "\u6210\u53E5", "\u6163\u7528\u53E5", "\u52D5\u8A5E\u53E5", "\u611F\u52D5\u8A5E"]
305
309
  ]
306
310
  ],
307
311
  [
@@ -541,7 +545,7 @@ var noteMap = /* @__PURE__ */ new Map([
541
545
  [
542
546
  "expression",
543
547
  "Expression (phrase, clause, etc.)",
544
- ["\u6210\u8A9E", "\u6210\u53E5", "\u6163\u7528\u53E5", "\u52D5\u8A5E\u53E5"]
548
+ ["\u6210\u8A9E", "\u6210\u53E5", "\u6163\u7528\u53E5", "\u52D5\u8A5E\u53E5", "\u611F\u52D5\u8A5E"]
545
549
  ]
546
550
  ],
547
551
  ["adverbial noun (fukushitekimeishi)", ["adverbial_noun", "Adverbial noun"]],
@@ -1711,7 +1715,7 @@ function getWordDefinitions(entryList, jmDict) {
1711
1715
  for (const gloss of sense.glosses) {
1712
1716
  let reading = void 0;
1713
1717
  if (gloss !== void 0) {
1714
- if (gloss.trim().includes("\u306E\u6F22\u5B57\u8868\u8A18\u3002") || gloss.trim().includes("\u3092\u53C2\u7167\u3002")) {
1718
+ if (gloss.trim().includes("\u6F22\u5B57\u8868\u8A18") || gloss.trim().includes("\u53C2\u7167")) {
1715
1719
  for (const r of validReadings)
1716
1720
  if (gloss.trim().includes(r)) {
1717
1721
  reading = r;
@@ -1992,7 +1996,7 @@ function getWordDefinitions(entryList, jmDict) {
1992
1996
  for (const gloss of sense.glosses) {
1993
1997
  let reading = void 0;
1994
1998
  if (gloss !== void 0) {
1995
- if (gloss.trim().includes("\u306E\u6F22\u5B57\u8868\u8A18\u3002") || gloss.trim().includes("\u3092\u53C2\u7167\u3002")) {
1999
+ if (gloss.trim().includes("\u6F22\u5B57\u8868\u8A18") || gloss.trim().includes("\u53C2\u7167")) {
1996
2000
  for (const r of pair.readings)
1997
2001
  if (gloss.trim().includes(r)) {
1998
2002
  reading = r;
@@ -2371,7 +2375,7 @@ function getWord(word, dict, kanjiDic, examples, definitions, noteTypeName, deck
2371
2375
  } else return void 0;
2372
2376
  }
2373
2377
  function getKanji(kanji, dict, jmDict, svgList, noteTypeName, deckPath) {
2374
- var _a, _b, _c, _d, _e;
2378
+ var _a, _b, _c, _d, _e, _f, _g, _h;
2375
2379
  let dictKanji = void 0;
2376
2380
  if (typeof kanji === "string" && dict)
2377
2381
  dictKanji = dict.find((entry) => entry.kanji === kanji);
@@ -2419,19 +2423,39 @@ function getKanji(kanji, dict, jmDict, svgList, noteTypeName, deckPath) {
2419
2423
  if (kunyomi.length > 0) kanji2.kunyomi = kunyomi;
2420
2424
  }
2421
2425
  if (jmDict) {
2422
- 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(
2423
2430
  (word) => word.kanjiForms && word.kanjiForms[0].form.includes(kanji2.kanji)
2424
- ).slice(0, 3);
2431
+ );
2432
+ if (firstKfWords && firstKfWords.length > 0) kanjiWords = firstKfWords;
2433
+ else if (kanjiWords) kanjiWords = kanjiWords;
2425
2434
  if (kanjiWords) {
2426
2435
  const validWords = [];
2427
2436
  for (const word of kanjiWords) {
2428
- const translation = word.meanings[0].translations[0];
2429
- 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;
2430
2449
  validWords.push({
2431
- kanjiForms: [{ kanjiForm: word.kanjiForms[0].form }],
2432
- readings: [{ reading: word.readings[0].reading }],
2433
- translations: [{ translation: translationText }]
2450
+ kanjiForms: [{ kanjiForm }],
2451
+ readings: [{ reading }],
2452
+ translations: [
2453
+ {
2454
+ translation: typeof meaning === "string" ? meaning : meaning.translation
2455
+ }
2456
+ ]
2434
2457
  });
2458
+ if (validWords.length === 3) break;
2435
2459
  }
2436
2460
  if (validWords.length > 0) kanji2.words = validWords;
2437
2461
  }
@@ -2465,10 +2489,10 @@ function getKanji(kanji, dict, jmDict, svgList, noteTypeName, deckPath) {
2465
2489
  ...kanji2.frequency ? [`kanji::frequency::${kanji2.frequency}`] : [],
2466
2490
  ...kanji2.grade ? [`kanji::grade::${kanji2.grade}`] : [],
2467
2491
  ...kanji2.jlpt ? [`kanji::pre-2010_jlpt::${kanji2.jlpt.toLowerCase()}`] : [],
2468
- `kanji::onyomi::${((_b = kanji2.onyomi) == null ? void 0 : _b.length) ?? 0}`,
2469
- `kanji::kunyomi::${((_c = kanji2.kunyomi) == null ? void 0 : _c.length) ?? 0}`,
2470
- `kanji::nanori::${((_d = kanji2.nanori) == null ? void 0 : _d.length) ?? 0}`,
2471
- `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}`,
2472
2496
  ...kanji2.svg ? ["kanji::has_svg"] : []
2473
2497
  );
2474
2498
  return kanji2;