henkan 3.0.1 → 3.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.cjs.js +66 -53
- package/dist/index.cjs.js.map +2 -2
- package/dist/index.mjs +66 -53
- package/dist/index.mjs.map +2 -2
- package/dist/types/utils.d.ts.map +1 -1
- package/docs/api/functions/convertJMdict.md +1 -1
- package/docs/api/functions/convertJMnedict.md +1 -1
- package/docs/api/functions/convertJawiktionaryAsync.md +1 -1
- package/docs/api/functions/convertJawiktionarySync.md +1 -1
- package/docs/api/functions/convertKanjiDic.md +1 -1
- package/docs/api/functions/convertKradFile.md +1 -1
- package/docs/api/functions/convertRadkFile.md +1 -1
- package/docs/api/functions/convertTanakaCorpus.md +1 -1
- package/docs/api/functions/convertTanakaCorpusWithFurigana.md +1 -1
- package/docs/api/functions/createEntryMaps.md +1 -1
- package/docs/api/functions/generateAnkiNote.md +1 -1
- package/docs/api/functions/generateAnkiNotesFile.md +1 -1
- package/docs/api/functions/getKanji.md +1 -1
- package/docs/api/functions/getKanjiExtended.md +1 -1
- package/docs/api/functions/getName.md +1 -1
- package/docs/api/functions/getWord.md +1 -1
- package/docs/api/functions/getWordDefinitions.md +1 -1
- package/docs/api/functions/getWordDefinitionsWithFurigana.md +1 -1
- package/package.json +4 -4
- package/src/utils.ts +113 -73
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAYhC,OAAO,EACL,eAAe,EAEf,SAAS,EACT,aAAa,EAIb,qBAAqB,EAErB,QAAQ,EACR,WAAW,EACX,WAAW,EAEX,QAAQ,EACR,gBAAgB,EAChB,SAAS,EAET,OAAO,EACP,iBAAiB,EACjB,IAAI,EACJ,KAAK,EAEL,aAAa,EAEb,WAAW,EACX,aAAa,EACb,IAAI,EACJ,cAAc,EAId,OAAO,EAEP,sBAAsB,EACtB,MAAM,EACN,YAAY,EACZ,aAAa,EAGb,IAAI,EACJ,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACf,MAAM,SAAS,CAAC;AAKjB;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,GAAG,EAAE,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,EAAE,CAK3D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,GAAG,EAAE,CAKxD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAWtD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBxD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBxD;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,GAC/D,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,EACrC,YAAY,CAAC,EAAE,IAAI,GAClB,sBAAsB,
|
|
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
|
> **convertJMdict**(`xmlString`, `examples?`): [`DictWord`](../interfaces/DictWord.md)[]
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:289](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L289)
|
|
12
12
|
|
|
13
13
|
Converts a JMdict `JMdict_e` file into an array of [DictWord](../interfaces/DictWord.md) objects.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **convertJMnedict**(`xmlString`, `examples?`): [`DictName`](../interfaces/DictName.md)[]
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:476](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L476)
|
|
12
12
|
|
|
13
13
|
Converts a JMnedict `JMnedict.xml` file into an array of [DictWord](../interfaces/DictWord.md) objects.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **convertJawiktionaryAsync**(`stream`): `Promise`\<[`JaWiktionaryEntry`](../interfaces/JaWiktionaryEntry.md)[]\>
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:1275](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L1275)
|
|
12
12
|
|
|
13
13
|
Converts and filters a `ja.wiktionary.org` JSONL dump (async)
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **convertJawiktionarySync**(`buffer`): [`JaWiktionaryEntry`](../interfaces/JaWiktionaryEntry.md)[]
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:1248](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L1248)
|
|
12
12
|
|
|
13
13
|
Converts and filters a `ja.wiktionary.org` JSONL dump (sync)
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **convertKanjiDic**(`xmlString`): [`DictKanji`](../interfaces/DictKanji.md)[]
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:601](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L601)
|
|
12
12
|
|
|
13
13
|
Converts a KANJIDIC `kanjidic2.xml` file into an array of [DictKanji](../interfaces/DictKanji.md) objects.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **convertKradFile**(`kradBuffer`, `kanjiDic`, `katakanaList`): [`DictKanjiWithRadicals`](../interfaces/DictKanjiWithRadicals.md)[]
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:872](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L872)
|
|
12
12
|
|
|
13
13
|
Converts a `kradfile2` file (EUC-JP encoded) into an array of [DictKanjiWithRadicals](../interfaces/DictKanjiWithRadicals.md) objects.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **convertRadkFile**(`radkBuffer`, `kanjiDic`): [`DictRadical`](../interfaces/DictRadical.md)[]
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:811](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L811)
|
|
12
12
|
|
|
13
13
|
Converts a `radkfile2` file (EUC-JP encoded) into an array of [DictRadical](../interfaces/DictRadical.md) objects.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **convertTanakaCorpus**(`tanakaString`): [`TanakaExample`](../interfaces/TanakaExample.md)[]
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:698](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L698)
|
|
12
12
|
|
|
13
13
|
Converts a Tanaka Corpus `examples.utf` file into an array of [TanakaExample](../interfaces/TanakaExample.md) objects.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **convertTanakaCorpusWithFurigana**(`tanakaString`): `Promise`\<[`TanakaExample`](../interfaces/TanakaExample.md)[]\>
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:786](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L786)
|
|
12
12
|
|
|
13
13
|
Converts a Tanaka Corpus `examples.utf` file into an array of [TanakaExample](../interfaces/TanakaExample.md) objects (with furigana).
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **createEntryMaps**(`jmDict?`, `jmNedict?`, `kanjiDic?`, `tanakaExamples?`, `wordDefinitionPairs?`, `svgList?`): [`EntryMaps`](../interfaces/EntryMaps.md)
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:956](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L956)
|
|
12
12
|
|
|
13
13
|
Maps entry properties (IDs and kanji) with other entries.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **generateAnkiNote**(`entry`, `customData?`, `additionalTags?`): `string`[]
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:3107](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L3107)
|
|
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?`, `additionalTags?`): `string`
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:3683](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L3683)
|
|
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
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **getKanji**(`searchedKanji`, `dict?`, `jmDict?`, `svgList?`, `noteTypeName?`, `deckPath?`): [`Kanji`](../interfaces/Kanji.md) \| `undefined`
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:1992](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L1992)
|
|
12
12
|
|
|
13
13
|
Transforms a converted `KANJIDIC` entry into a more readable format, by providing either the kanji or the [DictKanji](../interfaces/DictKanji.md) object directly.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **getKanjiExtended**(`info`, `kanji`, `dict?`, `useWords?`, `jmDict?`, `svgList?`, `noteTypeName?`, `deckPath?`, `sourceURL?`): [`Kanji`](../interfaces/Kanji.md) \| `undefined`
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:2192](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L2192)
|
|
12
12
|
|
|
13
13
|
Same as [getKanji](getKanji.md), but with possible extra info.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **getName**(`searchedName`, `dict?`, `kanjiDic?`, `examples?`, `noteTypeName?`, `deckPath?`): [`Name`](../interfaces/Name.md) \| `undefined`
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:2756](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L2756)
|
|
12
12
|
|
|
13
13
|
Transforms a converted `JMnedict` entry into a more readable format, by providing either its JMnedict entry ID or the [DictName](../interfaces/DictName.md) object directly.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **getWord**(`searchedWord`, `dict?`, `kanjiDic?`, `examples?`, `definitions?`, `noteTypeName?`, `deckPath?`): [`Word`](../interfaces/Word.md) \| `undefined`
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:2263](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L2263)
|
|
12
12
|
|
|
13
13
|
Transforms a converted `JMdict` entry into a more readable format, by providing either its JMdict entry ID or the [DictWord](../interfaces/DictWord.md) object directly.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **getWordDefinitions**(`wiktionaryEntries`, `jmDict`): [`WordDefinitionPair`](../interfaces/WordDefinitionPair.md)[]
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:1329](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L1329)
|
|
12
12
|
|
|
13
13
|
Pairs Japanese definitions with JMdict word entries
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **getWordDefinitionsWithFurigana**(`entryList`, `jmDict`): `Promise`\<[`WordDefinitionPair`](../interfaces/WordDefinitionPair.md)[]\>
|
|
10
10
|
|
|
11
|
-
Defined in: [utils.ts:
|
|
11
|
+
Defined in: [utils.ts:1920](https://github.com/Ronokof/Henkan/blob/main/src/utils.ts#L1920)
|
|
12
12
|
|
|
13
13
|
Pairs Japanese definitions with JMdict word entries (with furigana)
|
|
14
14
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "henkan",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.3",
|
|
4
4
|
"description": "Converter & Simplifier for JMdict, JMnedict, KANJIDIC, KRADFILE2, RADKFILE2 and Tanaka Corpus",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fjsd",
|
|
@@ -73,13 +73,13 @@
|
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
75
|
"@types/node": "^24.10.9",
|
|
76
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
77
|
-
"@typescript-eslint/parser": "^8.
|
|
76
|
+
"@typescript-eslint/eslint-plugin": "^8.56.1",
|
|
77
|
+
"@typescript-eslint/parser": "^8.56.1",
|
|
78
78
|
"@vitest/coverage-v8": "^4.0.18",
|
|
79
79
|
"esbuild": "^0.27.3",
|
|
80
80
|
"eslint": "^9.39.2",
|
|
81
81
|
"eslint-plugin-import": "^2.32.0",
|
|
82
|
-
"eslint-plugin-jsdoc": "^62.
|
|
82
|
+
"eslint-plugin-jsdoc": "^62.7.1",
|
|
83
83
|
"eslint-plugin-prettier": "^5.5.5",
|
|
84
84
|
"prettier": "^3.8.1",
|
|
85
85
|
"rimraf": "^6.1.3",
|
package/src/utils.ts
CHANGED
|
@@ -218,54 +218,60 @@ export function getValidForms(
|
|
|
218
218
|
): ReadingsKanjiFormsPair {
|
|
219
219
|
const kanjiFormRestrictions: Set<string> = new Set<string>();
|
|
220
220
|
|
|
221
|
-
const
|
|
222
|
-
(
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
) {
|
|
229
|
-
if (reading.kanjiFormRestrictions !== undefined) {
|
|
230
|
-
for (const kfr of reading.kanjiFormRestrictions)
|
|
231
|
-
kanjiFormRestrictions.add(kfr);
|
|
221
|
+
const existValidReadings: boolean = readings.some(
|
|
222
|
+
(r: DictReading) =>
|
|
223
|
+
r.commonness !== undefined ||
|
|
224
|
+
((r.notes === undefined ||
|
|
225
|
+
!r.notes.some((note: string) => notSearchedForms.has(note))) &&
|
|
226
|
+
(r.kanjiFormRestrictions !== undefined || wordIsCommon === undefined)),
|
|
227
|
+
);
|
|
232
228
|
|
|
233
|
-
|
|
234
|
-
|
|
229
|
+
const validReadings: DictReading[] = readings.filter((r: DictReading) => {
|
|
230
|
+
if (
|
|
231
|
+
!existValidReadings ||
|
|
232
|
+
r.commonness !== undefined ||
|
|
233
|
+
r.notes === undefined ||
|
|
234
|
+
!r.notes.some((note: string) => notSearchedForms.has(note))
|
|
235
|
+
) {
|
|
236
|
+
if (r.kanjiFormRestrictions !== undefined) {
|
|
237
|
+
for (const kfr of r.kanjiFormRestrictions)
|
|
238
|
+
kanjiFormRestrictions.add(kfr);
|
|
235
239
|
|
|
236
|
-
if (
|
|
240
|
+
if (
|
|
241
|
+
r.notes === undefined ||
|
|
242
|
+
!r.notes.some((note: string) => notSearchedForms.has(note))
|
|
243
|
+
)
|
|
237
244
|
return true;
|
|
238
245
|
}
|
|
239
246
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
247
|
+
if (
|
|
248
|
+
!existValidReadings ||
|
|
249
|
+
wordIsCommon === undefined ||
|
|
250
|
+
r.commonness !== undefined
|
|
251
|
+
)
|
|
252
|
+
return true;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
return false;
|
|
256
|
+
});
|
|
243
257
|
|
|
244
|
-
const
|
|
245
|
-
(kf: DictKanjiForm
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
258
|
+
const existValidKanjiForms: boolean | undefined = kanjiForms?.some(
|
|
259
|
+
(kf: DictKanjiForm) =>
|
|
260
|
+
kanjiFormRestrictions.has(kf.form) ||
|
|
261
|
+
kf.commonness !== undefined ||
|
|
262
|
+
((kf.notes === undefined ||
|
|
263
|
+
!kf.notes.some((note: string) => notSearchedForms.has(note))) &&
|
|
264
|
+
wordIsCommon === undefined),
|
|
251
265
|
);
|
|
252
266
|
|
|
253
267
|
const validKanjiForms: DictKanjiForm[] | undefined = kanjiForms?.filter(
|
|
254
|
-
(
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
notSearchedForms.has(note),
|
|
262
|
-
) &&
|
|
263
|
-
(wordIsCommon === undefined ||
|
|
264
|
-
kanjiForm.commonness !== undefined)) ||
|
|
265
|
-
kanjiFormRestrictions.has(kanjiForm.form)
|
|
266
|
-
);
|
|
267
|
-
else return true;
|
|
268
|
-
},
|
|
268
|
+
(kf: DictKanjiForm) =>
|
|
269
|
+
existValidKanjiForms === false ||
|
|
270
|
+
kanjiFormRestrictions.has(kf.form) ||
|
|
271
|
+
kf.commonness !== undefined ||
|
|
272
|
+
((kf.notes === undefined ||
|
|
273
|
+
!kf.notes.some((note: string) => notSearchedForms.has(note))) &&
|
|
274
|
+
wordIsCommon === undefined),
|
|
269
275
|
);
|
|
270
276
|
|
|
271
277
|
return {
|
|
@@ -2287,26 +2293,38 @@ export function getWord(
|
|
|
2287
2293
|
tags: [],
|
|
2288
2294
|
};
|
|
2289
2295
|
|
|
2290
|
-
if (dictWord.isCommon === true)
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
}
|
|
2296
|
+
if (dictWord.isCommon === true) word.common = true;
|
|
2297
|
+
|
|
2298
|
+
const priorities: Set<string> = new Set<string>();
|
|
2294
2299
|
|
|
2295
2300
|
if (dictWord.kanjiForms !== undefined)
|
|
2296
2301
|
word.kanjiForms = dictWord.kanjiForms.map(
|
|
2297
2302
|
(dictKanjiForm: DictKanjiForm) => ({
|
|
2298
2303
|
kanjiForm: dictKanjiForm.form,
|
|
2299
|
-
...(dictKanjiForm.notes !== undefined
|
|
2304
|
+
...(dictKanjiForm.notes !== undefined ||
|
|
2305
|
+
dictKanjiForm.commonness !== undefined
|
|
2300
2306
|
? {
|
|
2301
|
-
notes:
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2307
|
+
notes: [
|
|
2308
|
+
...(dictKanjiForm.commonness !== undefined
|
|
2309
|
+
? ["Common kanji form"].map((commonKf: string) => {
|
|
2310
|
+
for (const priority of dictKanjiForm.commonness!) {
|
|
2311
|
+
word.tags!.push(`word::common::${priority}`);
|
|
2312
|
+
priorities.add(priority);
|
|
2313
|
+
}
|
|
2314
|
+
|
|
2315
|
+
return commonKf;
|
|
2316
|
+
})
|
|
2317
|
+
: []),
|
|
2318
|
+
...(dictKanjiForm.notes?.map((note: string) => {
|
|
2319
|
+
const noteAndTag: NoteAndTag = lookupWordNote(
|
|
2320
|
+
note,
|
|
2321
|
+
[],
|
|
2322
|
+
word.tags!,
|
|
2323
|
+
);
|
|
2324
|
+
|
|
2325
|
+
return capitalizeString(noteAndTag.note);
|
|
2326
|
+
}) ?? []),
|
|
2327
|
+
],
|
|
2310
2328
|
}
|
|
2311
2329
|
: {}),
|
|
2312
2330
|
...(dictKanjiForm.commonness !== undefined &&
|
|
@@ -2319,26 +2337,39 @@ export function getWord(
|
|
|
2319
2337
|
word.readings = dictWord.readings.map((dictReading: DictReading) => ({
|
|
2320
2338
|
reading: dictReading.reading,
|
|
2321
2339
|
...(dictReading.kanjiFormRestrictions !== undefined ||
|
|
2322
|
-
dictReading.notes !== undefined
|
|
2340
|
+
dictReading.notes !== undefined ||
|
|
2341
|
+
dictReading.commonness !== undefined
|
|
2323
2342
|
? {
|
|
2324
2343
|
notes: [
|
|
2344
|
+
...(dictReading.notes !== undefined ||
|
|
2345
|
+
dictReading.commonness !== undefined
|
|
2346
|
+
? [
|
|
2347
|
+
...(dictReading.commonness !== undefined
|
|
2348
|
+
? ["Common reading"].map((commonR: string) => {
|
|
2349
|
+
for (const priority of dictReading.commonness!)
|
|
2350
|
+
if (!priorities.has(priority))
|
|
2351
|
+
word.tags!.push(`word::common::${priority}`);
|
|
2352
|
+
|
|
2353
|
+
return commonR;
|
|
2354
|
+
})
|
|
2355
|
+
: []),
|
|
2356
|
+
...(dictReading.notes?.map((note: string) => {
|
|
2357
|
+
const noteAndTag: NoteAndTag = lookupWordNote(
|
|
2358
|
+
note,
|
|
2359
|
+
[],
|
|
2360
|
+
word.tags!,
|
|
2361
|
+
);
|
|
2362
|
+
|
|
2363
|
+
return capitalizeString(noteAndTag.note);
|
|
2364
|
+
}) ?? []),
|
|
2365
|
+
]
|
|
2366
|
+
: []),
|
|
2325
2367
|
...(dictReading.kanjiFormRestrictions !== undefined
|
|
2326
2368
|
? dictReading.kanjiFormRestrictions.map(
|
|
2327
2369
|
(restriction: string) =>
|
|
2328
2370
|
`Reading restricted to ${restriction}`,
|
|
2329
2371
|
)
|
|
2330
2372
|
: []),
|
|
2331
|
-
...(dictReading.notes !== undefined
|
|
2332
|
-
? dictReading.notes.map((note: string) => {
|
|
2333
|
-
const noteAndTag: NoteAndTag = lookupWordNote(
|
|
2334
|
-
note,
|
|
2335
|
-
[],
|
|
2336
|
-
word.tags!,
|
|
2337
|
-
);
|
|
2338
|
-
|
|
2339
|
-
return capitalizeString(noteAndTag.note);
|
|
2340
|
-
})
|
|
2341
|
-
: []),
|
|
2342
2373
|
],
|
|
2343
2374
|
}
|
|
2344
2375
|
: {}),
|
|
@@ -2754,10 +2785,7 @@ export function getName(
|
|
|
2754
2785
|
tags: [],
|
|
2755
2786
|
};
|
|
2756
2787
|
|
|
2757
|
-
if (dictName.isCommon === true)
|
|
2758
|
-
name.common = true;
|
|
2759
|
-
name.tags!.push("name::common");
|
|
2760
|
-
}
|
|
2788
|
+
if (dictName.isCommon === true) name.common = true;
|
|
2761
2789
|
|
|
2762
2790
|
if (dictName.kanjiForms !== undefined)
|
|
2763
2791
|
name.kanjiForms = dictName.kanjiForms.map(
|
|
@@ -2769,11 +2797,23 @@ export function getName(
|
|
|
2769
2797
|
name.nameReadings = dictName.nameReadings.map(
|
|
2770
2798
|
(dictReading: DictReading) => ({
|
|
2771
2799
|
reading: dictReading.reading,
|
|
2772
|
-
...(dictReading.kanjiFormRestrictions !== undefined
|
|
2800
|
+
...(dictReading.kanjiFormRestrictions !== undefined ||
|
|
2801
|
+
dictReading.commonness !== undefined
|
|
2773
2802
|
? {
|
|
2774
|
-
notes:
|
|
2775
|
-
(
|
|
2776
|
-
|
|
2803
|
+
notes: [
|
|
2804
|
+
...(dictReading.commonness !== undefined
|
|
2805
|
+
? ["Common reading"].map((commonR: string) => {
|
|
2806
|
+
for (const priority of dictReading.commonness!)
|
|
2807
|
+
name.tags!.push(`name::common::${priority}`);
|
|
2808
|
+
|
|
2809
|
+
return commonR;
|
|
2810
|
+
})
|
|
2811
|
+
: []),
|
|
2812
|
+
...(dictReading.kanjiFormRestrictions?.map(
|
|
2813
|
+
(restriction: string) =>
|
|
2814
|
+
`Reading restricted to ${restriction}`,
|
|
2815
|
+
) ?? []),
|
|
2816
|
+
],
|
|
2777
2817
|
}
|
|
2778
2818
|
: {}),
|
|
2779
2819
|
...(dictReading.commonness !== undefined &&
|