henkan 2.4.7 → 2.4.9
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 +33 -8
- package/dist/index.cjs.js.map +2 -2
- package/dist/index.mjs +33 -8
- package/dist/index.mjs.map +2 -2
- package/dist/types/utils.d.ts.map +1 -1
- package/docs/api/functions/generateAnkiNote.md +1 -1
- package/docs/api/functions/generateAnkiNotesFile.md +1 -1
- package/package.json +4 -4
- package/src/utils.ts +72 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **generateAnkiNote**(`entry`, `customData?`): `string`[]
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:2559](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L2559)
|
|
12
12
|
|
|
13
13
|
Generates an array where each field holds an entry’s info wrapped in HTML tags.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **generateAnkiNotesFile**(`list`, `defaultNoteInfo?`, `customData?`): `string`
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:3018](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L3018)
|
|
12
12
|
|
|
13
13
|
Generates an Anki notes file with each entry’s info organized into fields, either in HTML or plain text.
|
|
14
14
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "henkan",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.9",
|
|
4
4
|
"description": "Converter & Simplifier for JMdict, KANJIDIC, KRADFILE2, RADKFILE2 and Tanaka Corpus",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fjsd",
|
|
@@ -72,13 +72,13 @@
|
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@types/node": "^24.10.9",
|
|
75
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
76
|
-
"@typescript-eslint/parser": "^8.
|
|
75
|
+
"@typescript-eslint/eslint-plugin": "^8.54.0",
|
|
76
|
+
"@typescript-eslint/parser": "^8.54.0",
|
|
77
77
|
"@vitest/coverage-v8": "^4.0.18",
|
|
78
78
|
"esbuild": "^0.27.2",
|
|
79
79
|
"eslint": "^9.39.2",
|
|
80
80
|
"eslint-plugin-import": "^2.32.0",
|
|
81
|
-
"eslint-plugin-jsdoc": "^62.
|
|
81
|
+
"eslint-plugin-jsdoc": "^62.5.0",
|
|
82
82
|
"eslint-plugin-prettier": "^5.5.5",
|
|
83
83
|
"prettier": "^3.8.1",
|
|
84
84
|
"rimraf": "^6.1.2",
|
package/src/utils.ts
CHANGED
|
@@ -2258,16 +2258,37 @@ export function getWord(
|
|
|
2258
2258
|
? new Set<string>(rkf.kanjiForms.map((kf: DictKanjiForm) => kf.form))
|
|
2259
2259
|
: undefined;
|
|
2260
2260
|
|
|
2261
|
+
const meanings: string[] = new Set<string>(
|
|
2262
|
+
dictWord.meanings.flatMap((m: DictMeaning) =>
|
|
2263
|
+
m.translations.map((t: DictTranslation) => {
|
|
2264
|
+
if (typeof t === "string")
|
|
2265
|
+
return t.replaceAll(/\([^)]*\)|\[[^\]]*\]|\{[^}]*\}/g, "").trim();
|
|
2266
|
+
else
|
|
2267
|
+
return t.translation
|
|
2268
|
+
.replaceAll(/\([^)]*\)|\[[^\]]*\]|\{[^}]*\}/g, "")
|
|
2269
|
+
.trim();
|
|
2270
|
+
}),
|
|
2271
|
+
),
|
|
2272
|
+
)
|
|
2273
|
+
.values()
|
|
2274
|
+
.toArray();
|
|
2275
|
+
|
|
2261
2276
|
let kanjiFormExamples: {
|
|
2262
2277
|
ex: TanakaExample;
|
|
2263
2278
|
partIndex: number;
|
|
2264
2279
|
form?: string | undefined;
|
|
2280
|
+
includesTranslation?: true | undefined;
|
|
2265
2281
|
}[] = [];
|
|
2266
2282
|
const readingMatchingKanjiFormExamples: {
|
|
2267
2283
|
ex: TanakaExample;
|
|
2268
2284
|
partIndex: number;
|
|
2269
2285
|
}[] = [];
|
|
2270
|
-
|
|
2286
|
+
let readingExamples: {
|
|
2287
|
+
ex: TanakaExample;
|
|
2288
|
+
partIndex: number;
|
|
2289
|
+
referenceIDMatch?: true | undefined;
|
|
2290
|
+
includesTranslation?: true | undefined;
|
|
2291
|
+
}[] = [];
|
|
2271
2292
|
const readingMatchingKanjiForms: Set<string> = new Set<string>();
|
|
2272
2293
|
const seenPhrases: Set<string> = new Set<string>();
|
|
2273
2294
|
|
|
@@ -2302,6 +2323,11 @@ export function getWord(
|
|
|
2302
2323
|
ex: example,
|
|
2303
2324
|
partIndex: i,
|
|
2304
2325
|
form: part.baseForm,
|
|
2326
|
+
...(meanings.some((m: string) =>
|
|
2327
|
+
example.translation.includes(m),
|
|
2328
|
+
)
|
|
2329
|
+
? { includesTranslation: true }
|
|
2330
|
+
: {}),
|
|
2305
2331
|
});
|
|
2306
2332
|
|
|
2307
2333
|
seenPhrases.add(example.phrase);
|
|
@@ -2315,7 +2341,15 @@ export function getWord(
|
|
|
2315
2341
|
(readingAsBaseFormMatch || referenceIDMatch) &&
|
|
2316
2342
|
kanjiForms === undefined
|
|
2317
2343
|
) {
|
|
2318
|
-
readingExamples.push({
|
|
2344
|
+
readingExamples.push({
|
|
2345
|
+
ex: example,
|
|
2346
|
+
partIndex: i,
|
|
2347
|
+
...(referenceIDMatch ? { referenceIDMatch: true } : {}),
|
|
2348
|
+
...(!referenceIDMatch &&
|
|
2349
|
+
meanings.some((m: string) => example.translation.includes(m))
|
|
2350
|
+
? { includesTranslation: true }
|
|
2351
|
+
: {}),
|
|
2352
|
+
});
|
|
2319
2353
|
|
|
2320
2354
|
seenPhrases.add(example.phrase);
|
|
2321
2355
|
|
|
@@ -2323,19 +2357,51 @@ export function getWord(
|
|
|
2323
2357
|
}
|
|
2324
2358
|
}
|
|
2325
2359
|
|
|
2326
|
-
|
|
2360
|
+
const hasKfExamplesWithTranslation: boolean = kanjiFormExamples.some(
|
|
2361
|
+
(ex: {
|
|
2362
|
+
ex: TanakaExample;
|
|
2363
|
+
partIndex: number;
|
|
2364
|
+
form?: string | undefined;
|
|
2365
|
+
includesTranslation?: true | undefined;
|
|
2366
|
+
}) => ex.includesTranslation === true,
|
|
2367
|
+
);
|
|
2368
|
+
|
|
2369
|
+
if (kanjiFormExamples.length > 0 && readingMatchingKanjiForms.size > 0)
|
|
2327
2370
|
kanjiFormExamples = kanjiFormExamples.filter(
|
|
2328
2371
|
(ex: {
|
|
2329
2372
|
ex: TanakaExample;
|
|
2330
2373
|
partIndex: number;
|
|
2331
2374
|
form?: string | undefined;
|
|
2332
|
-
|
|
2375
|
+
includesTranslation?: true | undefined;
|
|
2376
|
+
}) =>
|
|
2377
|
+
(!hasKfExamplesWithTranslation ||
|
|
2378
|
+
ex.includesTranslation === true) &&
|
|
2379
|
+
ex.form !== undefined &&
|
|
2380
|
+
readingMatchingKanjiForms.has(ex.form),
|
|
2333
2381
|
);
|
|
2334
2382
|
|
|
2335
|
-
|
|
2383
|
+
if (
|
|
2384
|
+
readingExamples.length > 0 &&
|
|
2385
|
+
readingExamples.some(
|
|
2386
|
+
(ex: {
|
|
2387
|
+
ex: TanakaExample;
|
|
2388
|
+
partIndex: number;
|
|
2389
|
+
referenceIDMatch?: true | undefined;
|
|
2390
|
+
includesTranslation?: true | undefined;
|
|
2391
|
+
}) => ex.includesTranslation === true || ex.referenceIDMatch === true,
|
|
2392
|
+
)
|
|
2393
|
+
)
|
|
2394
|
+
readingExamples = readingExamples.filter(
|
|
2395
|
+
(ex: {
|
|
2396
|
+
ex: TanakaExample;
|
|
2397
|
+
partIndex: number;
|
|
2398
|
+
referenceIDMatch?: true | undefined;
|
|
2399
|
+
includesTranslation?: true | undefined;
|
|
2400
|
+
}) => ex.includesTranslation === true || ex.referenceIDMatch === true,
|
|
2401
|
+
);
|
|
2336
2402
|
|
|
2337
2403
|
let wordExamples: { ex: TanakaExample; partIndex: number }[] = [
|
|
2338
|
-
...(
|
|
2404
|
+
...(word.kanjiForms !== undefined
|
|
2339
2405
|
? [...readingMatchingKanjiFormExamples, ...kanjiFormExamples]
|
|
2340
2406
|
: readingExamples),
|
|
2341
2407
|
].toSorted(
|
|
@@ -2345,7 +2411,6 @@ export function getWord(
|
|
|
2345
2411
|
) => a.ex.phrase.length - b.ex.phrase.length,
|
|
2346
2412
|
);
|
|
2347
2413
|
|
|
2348
|
-
readingMatchingKanjiForms.clear();
|
|
2349
2414
|
seenPhrases.clear();
|
|
2350
2415
|
|
|
2351
2416
|
const glossSpecificExamples: {
|