henkan 0.0.0

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.
Files changed (66) hide show
  1. package/CONTRIBUTING.md +25 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +82 -0
  4. package/SECURITY.md +20 -0
  5. package/dist/index.cjs.js +2257 -0
  6. package/dist/index.cjs.js.map +7 -0
  7. package/dist/index.mjs +2199 -0
  8. package/dist/index.mjs.map +7 -0
  9. package/dist/types/constants.d.ts +8 -0
  10. package/dist/types/constants.d.ts.map +1 -0
  11. package/dist/types/index.d.ts +4 -0
  12. package/dist/types/index.d.ts.map +1 -0
  13. package/dist/types/types.d.ts +680 -0
  14. package/dist/types/types.d.ts.map +1 -0
  15. package/dist/types/utils.d.ts +135 -0
  16. package/dist/types/utils.d.ts.map +1 -0
  17. package/docs/api/README.md +62 -0
  18. package/docs/api/functions/capitalizeString.md +27 -0
  19. package/docs/api/functions/convertJMdict.md +27 -0
  20. package/docs/api/functions/convertKanjiDic.md +27 -0
  21. package/docs/api/functions/convertKradFile.md +39 -0
  22. package/docs/api/functions/convertRadkFile.md +33 -0
  23. package/docs/api/functions/convertTanakaCorpus.md +33 -0
  24. package/docs/api/functions/generateAnkiNote.md +27 -0
  25. package/docs/api/functions/generateAnkiNotesFile.md +27 -0
  26. package/docs/api/functions/getKanji.md +57 -0
  27. package/docs/api/functions/getKanjiExtended.md +69 -0
  28. package/docs/api/functions/getWord.md +63 -0
  29. package/docs/api/functions/isStringArray.md +27 -0
  30. package/docs/api/functions/isValidArray.md +27 -0
  31. package/docs/api/functions/isValidArrayWithFirstElement.md +27 -0
  32. package/docs/api/functions/makeSSML.md +33 -0
  33. package/docs/api/functions/shuffleArray.md +33 -0
  34. package/docs/api/functions/synthesizeSpeech.md +39 -0
  35. package/docs/api/interfaces/DictKanji.md +43 -0
  36. package/docs/api/interfaces/DictKanjiForm.md +51 -0
  37. package/docs/api/interfaces/DictKanjiMisc.md +61 -0
  38. package/docs/api/interfaces/DictKanjiReading.md +31 -0
  39. package/docs/api/interfaces/DictKanjiReadingMeaning.md +33 -0
  40. package/docs/api/interfaces/DictKanjiReadingMeaningGroup.md +33 -0
  41. package/docs/api/interfaces/DictKanjiWithRadicals.md +33 -0
  42. package/docs/api/interfaces/DictMeaning.md +129 -0
  43. package/docs/api/interfaces/DictRadical.md +41 -0
  44. package/docs/api/interfaces/DictReading.md +61 -0
  45. package/docs/api/interfaces/DictWord.md +53 -0
  46. package/docs/api/interfaces/ExamplePart.md +75 -0
  47. package/docs/api/interfaces/Grammar.md +165 -0
  48. package/docs/api/interfaces/GrammarMeaning.md +31 -0
  49. package/docs/api/interfaces/Kana.md +125 -0
  50. package/docs/api/interfaces/Kanji.md +239 -0
  51. package/docs/api/interfaces/KanjiComponent.md +31 -0
  52. package/docs/api/interfaces/KanjiForm.md +33 -0
  53. package/docs/api/interfaces/Phrase.md +47 -0
  54. package/docs/api/interfaces/Radical.md +165 -0
  55. package/docs/api/interfaces/Reading.md +43 -0
  56. package/docs/api/interfaces/ResultEntry.md +75 -0
  57. package/docs/api/interfaces/TanakaExample.md +51 -0
  58. package/docs/api/interfaces/Translation.md +33 -0
  59. package/docs/api/interfaces/UsefulRegExps.md +93 -0
  60. package/docs/api/interfaces/Word.md +149 -0
  61. package/docs/api/type-aliases/Dict.md +13 -0
  62. package/docs/api/type-aliases/DictName.md +13 -0
  63. package/docs/api/type-aliases/EntryType.md +13 -0
  64. package/docs/api/type-aliases/JLPT.md +13 -0
  65. package/docs/api/type-aliases/Result.md +13 -0
  66. package/package.json +87 -0
@@ -0,0 +1,33 @@
1
+ [**henkan**](../README.md)
2
+
3
+ ***
4
+
5
+ [henkan](../README.md) / KanjiForm
6
+
7
+ # Interface: KanjiForm
8
+
9
+ Defined in: types.ts:378
10
+
11
+ A kanji form of the word
12
+
13
+ Converted from a [DictKanjiForm](DictKanjiForm.md)
14
+
15
+ ## Properties
16
+
17
+ ### kanjiForm
18
+
19
+ > `readonly` **kanjiForm**: `string`
20
+
21
+ Defined in: types.ts:382
22
+
23
+ The kanji form
24
+
25
+ ***
26
+
27
+ ### notes?
28
+
29
+ > `optional` **notes**: `string`[]
30
+
31
+ Defined in: types.ts:386
32
+
33
+ Optional notes for the kanji form
@@ -0,0 +1,47 @@
1
+ [**henkan**](../README.md)
2
+
3
+ ***
4
+
5
+ [henkan](../README.md) / Phrase
6
+
7
+ # Interface: Phrase
8
+
9
+ Defined in: types.ts:546
10
+
11
+ Phrase information
12
+
13
+ Converted from [TanakaExample](TanakaExample.md)
14
+
15
+ ## Properties
16
+
17
+ ### originalPhrase
18
+
19
+ > `readonly` **originalPhrase**: `string`
20
+
21
+ Defined in: types.ts:558
22
+
23
+ #### See
24
+
25
+ [TanakaExample.phrase](TanakaExample.md#phrase)
26
+
27
+ ***
28
+
29
+ ### phrase
30
+
31
+ > `readonly` **phrase**: `string`
32
+
33
+ Defined in: types.ts:550
34
+
35
+ The Japanese phrase, either with furigana attached or not
36
+
37
+ ***
38
+
39
+ ### translation
40
+
41
+ > `readonly` **translation**: `string`
42
+
43
+ Defined in: types.ts:554
44
+
45
+ #### See
46
+
47
+ [TanakaExample.translation](TanakaExample.md#translation)
@@ -0,0 +1,165 @@
1
+ [**henkan**](../README.md)
2
+
3
+ ***
4
+
5
+ [henkan](../README.md) / Radical
6
+
7
+ # Interface: Radical
8
+
9
+ Defined in: types.ts:506
10
+
11
+ Kanji radical/component information
12
+
13
+ ## Extends
14
+
15
+ - [`ResultEntry`](ResultEntry.md)\<`"radical"`\>
16
+
17
+ ## Properties
18
+
19
+ ### deckPath?
20
+
21
+ > `optional` **deckPath**: `string`
22
+
23
+ Defined in: types.ts:366
24
+
25
+ The full path of the Anki deck
26
+
27
+ #### Inherited from
28
+
29
+ [`ResultEntry`](ResultEntry.md).[`deckPath`](ResultEntry.md#deckpath)
30
+
31
+ ***
32
+
33
+ ### id?
34
+
35
+ > `readonly` `optional` **id**: `string`
36
+
37
+ Defined in: types.ts:358
38
+
39
+ ID used for the Anki note ID
40
+
41
+ #### Inherited from
42
+
43
+ [`ResultEntry`](ResultEntry.md).[`id`](ResultEntry.md#id)
44
+
45
+ ***
46
+
47
+ ### kanji?
48
+
49
+ > `optional` **kanji**: [`Kanji`](Kanji.md)[]
50
+
51
+ Defined in: types.ts:534
52
+
53
+ Kanji that include the radical/component
54
+
55
+ ***
56
+
57
+ ### meanings
58
+
59
+ > **meanings**: `string`[]
60
+
61
+ Defined in: types.ts:518
62
+
63
+ The radical/component meanings
64
+
65
+ ***
66
+
67
+ ### mnemonic?
68
+
69
+ > `optional` **mnemonic**: `string`
70
+
71
+ Defined in: types.ts:530
72
+
73
+ The radical/component mnemonic
74
+
75
+ ***
76
+
77
+ ### noteID?
78
+
79
+ > `readonly` `optional` **noteID**: `` `radical_${string}` ``
80
+
81
+ Defined in: types.ts:354
82
+
83
+ ID used for the resulting Anki note
84
+
85
+ #### Inherited from
86
+
87
+ [`ResultEntry`](ResultEntry.md).[`noteID`](ResultEntry.md#noteid)
88
+
89
+ ***
90
+
91
+ ### noteTypeName?
92
+
93
+ > `optional` **noteTypeName**: `string`
94
+
95
+ Defined in: types.ts:362
96
+
97
+ Anki note type name
98
+
99
+ #### Inherited from
100
+
101
+ [`ResultEntry`](ResultEntry.md).[`noteTypeName`](ResultEntry.md#notetypename)
102
+
103
+ ***
104
+
105
+ ### radical
106
+
107
+ > `readonly` **radical**: `string`
108
+
109
+ Defined in: types.ts:510
110
+
111
+ The radical/component character
112
+
113
+ ***
114
+
115
+ ### reading
116
+
117
+ > **reading**: `string`
118
+
119
+ Defined in: types.ts:514
120
+
121
+ The radical/component reading (in kana)
122
+
123
+ ***
124
+
125
+ ### sources?
126
+
127
+ > `optional` **sources**: `string`[]
128
+
129
+ Defined in: types.ts:538
130
+
131
+ The sources from which data for this radical/component has been extracted
132
+
133
+ ***
134
+
135
+ ### strokes?
136
+
137
+ > `optional` **strokes**: `string`
138
+
139
+ Defined in: types.ts:522
140
+
141
+ The stroke count of the radical/component
142
+
143
+ ***
144
+
145
+ ### svg?
146
+
147
+ > `optional` **svg**: `string`
148
+
149
+ Defined in: types.ts:526
150
+
151
+ The radical/component SVG filename
152
+
153
+ ***
154
+
155
+ ### tags?
156
+
157
+ > `optional` **tags**: `string`[]
158
+
159
+ Defined in: types.ts:370
160
+
161
+ Tags generated based on the entry's information
162
+
163
+ #### Inherited from
164
+
165
+ [`ResultEntry`](ResultEntry.md).[`tags`](ResultEntry.md#tags)
@@ -0,0 +1,43 @@
1
+ [**henkan**](../README.md)
2
+
3
+ ***
4
+
5
+ [henkan](../README.md) / Reading
6
+
7
+ # Interface: Reading
8
+
9
+ Defined in: types.ts:394
10
+
11
+ A reading of the word
12
+
13
+ Converted from [DictReading](DictReading.md)
14
+
15
+ ## Properties
16
+
17
+ ### audio?
18
+
19
+ > `optional` **audio**: `string`
20
+
21
+ Defined in: types.ts:406
22
+
23
+ The filename of an audio file for the reading
24
+
25
+ ***
26
+
27
+ ### notes?
28
+
29
+ > `optional` **notes**: `string`[]
30
+
31
+ Defined in: types.ts:402
32
+
33
+ Optional notes for the reading
34
+
35
+ ***
36
+
37
+ ### reading
38
+
39
+ > `readonly` **reading**: `string`
40
+
41
+ Defined in: types.ts:398
42
+
43
+ The reading (in kana)
@@ -0,0 +1,75 @@
1
+ [**henkan**](../README.md)
2
+
3
+ ***
4
+
5
+ [henkan](../README.md) / ResultEntry
6
+
7
+ # Interface: ResultEntry\<EntryType\>
8
+
9
+ Defined in: types.ts:350
10
+
11
+ Basic Anki note information
12
+
13
+ ## Extended by
14
+
15
+ - [`Kanji`](Kanji.md)
16
+ - [`Radical`](Radical.md)
17
+ - [`Word`](Word.md)
18
+ - [`Kana`](Kana.md)
19
+ - [`Grammar`](Grammar.md)
20
+
21
+ ## Type Parameters
22
+
23
+ ### EntryType
24
+
25
+ `EntryType` *extends* `string`
26
+
27
+ ## Properties
28
+
29
+ ### deckPath?
30
+
31
+ > `optional` **deckPath**: `string`
32
+
33
+ Defined in: types.ts:366
34
+
35
+ The full path of the Anki deck
36
+
37
+ ***
38
+
39
+ ### id?
40
+
41
+ > `readonly` `optional` **id**: `string`
42
+
43
+ Defined in: types.ts:358
44
+
45
+ ID used for the Anki note ID
46
+
47
+ ***
48
+
49
+ ### noteID?
50
+
51
+ > `readonly` `optional` **noteID**: `` `${EntryType}_${string}` ``
52
+
53
+ Defined in: types.ts:354
54
+
55
+ ID used for the resulting Anki note
56
+
57
+ ***
58
+
59
+ ### noteTypeName?
60
+
61
+ > `optional` **noteTypeName**: `string`
62
+
63
+ Defined in: types.ts:362
64
+
65
+ Anki note type name
66
+
67
+ ***
68
+
69
+ ### tags?
70
+
71
+ > `optional` **tags**: `string`[]
72
+
73
+ Defined in: types.ts:370
74
+
75
+ Tags generated based on the entry's information
@@ -0,0 +1,51 @@
1
+ [**henkan**](../README.md)
2
+
3
+ ***
4
+
5
+ [henkan](../README.md) / TanakaExample
6
+
7
+ # Interface: TanakaExample
8
+
9
+ Defined in: types.ts:313
10
+
11
+ Tanaka Corpus `examples.utf` examples
12
+
13
+ ## Properties
14
+
15
+ ### furigana?
16
+
17
+ > `optional` **furigana**: `string`
18
+
19
+ Defined in: types.ts:329
20
+
21
+ The Japanese phrase, with furigana attached
22
+
23
+ ***
24
+
25
+ ### parts
26
+
27
+ > **parts**: [`ExamplePart`](ExamplePart.md)[]
28
+
29
+ Defined in: types.ts:325
30
+
31
+ The `B` section, split into parts
32
+
33
+ ***
34
+
35
+ ### phrase
36
+
37
+ > **phrase**: `string`
38
+
39
+ Defined in: types.ts:317
40
+
41
+ The Japanese phrase (found in the `A` section, **before** the tab)
42
+
43
+ ***
44
+
45
+ ### translation
46
+
47
+ > **translation**: `string`
48
+
49
+ Defined in: types.ts:321
50
+
51
+ The English translation of the phrase (found in the `A` section, **after** the tab)
@@ -0,0 +1,33 @@
1
+ [**henkan**](../README.md)
2
+
3
+ ***
4
+
5
+ [henkan](../README.md) / Translation
6
+
7
+ # Interface: Translation
8
+
9
+ Defined in: types.ts:414
10
+
11
+ A translation of the word
12
+
13
+ Converted from [DictMeaning](DictMeaning.md)
14
+
15
+ ## Properties
16
+
17
+ ### notes?
18
+
19
+ > `optional` **notes**: `string`[]
20
+
21
+ Defined in: types.ts:422
22
+
23
+ Information about the translation
24
+
25
+ ***
26
+
27
+ ### translation
28
+
29
+ > `readonly` **translation**: `string`
30
+
31
+ Defined in: types.ts:418
32
+
33
+ The translation
@@ -0,0 +1,93 @@
1
+ [**henkan**](../README.md)
2
+
3
+ ***
4
+
5
+ [henkan](../README.md) / UsefulRegExps
6
+
7
+ # Interface: UsefulRegExps
8
+
9
+ Defined in: types.ts:677
10
+
11
+ Some useful regular expressions
12
+
13
+ ## Properties
14
+
15
+ ### hiragana
16
+
17
+ > `readonly` **hiragana**: `RegExp`
18
+
19
+ Defined in: types.ts:681
20
+
21
+ Matches any *hiragana* character(s)
22
+
23
+ ***
24
+
25
+ ### kanji
26
+
27
+ > `readonly` **kanji**: `RegExp`
28
+
29
+ Defined in: types.ts:689
30
+
31
+ Matches any *kanji* character(s)
32
+
33
+ ***
34
+
35
+ ### katakana
36
+
37
+ > `readonly` **katakana**: `RegExp`
38
+
39
+ Defined in: types.ts:685
40
+
41
+ Matches any *katakana* character(s)
42
+
43
+ ***
44
+
45
+ ### regExChars
46
+
47
+ > `readonly` **regExChars**: `RegExp`
48
+
49
+ Defined in: types.ts:699
50
+
51
+ Matches any character that is part of the regex syntax
52
+
53
+ ***
54
+
55
+ ### scriptSplit
56
+
57
+ > `readonly` **scriptSplit**: `RegExp`
58
+
59
+ Defined in: types.ts:695
60
+
61
+ Matches and splits Japanese expressions into different scripts
62
+
63
+ Used when creating a SSML
64
+
65
+ ***
66
+
67
+ ### tanakaID
68
+
69
+ > `readonly` **tanakaID**: `RegExp`
70
+
71
+ Defined in: types.ts:703
72
+
73
+ Matches the `#ID=` part in a Tanaka Corpus `examples.utf` file
74
+
75
+ ***
76
+
77
+ ### tanakaPart
78
+
79
+ > `readonly` **tanakaPart**: `RegExp`
80
+
81
+ Defined in: types.ts:707
82
+
83
+ Matches and splits a part found in the `B` section of a Tanaka Corpus `examples.utf` file
84
+
85
+ ***
86
+
87
+ ### tanakaReferenceID
88
+
89
+ > `readonly` **tanakaReferenceID**: `RegExp`
90
+
91
+ Defined in: types.ts:711
92
+
93
+ Matches the reference ID element of a Tanaka example part
@@ -0,0 +1,149 @@
1
+ [**henkan**](../README.md)
2
+
3
+ ***
4
+
5
+ [henkan](../README.md) / Word
6
+
7
+ # Interface: Word
8
+
9
+ Defined in: types.ts:566
10
+
11
+ Word information
12
+
13
+ Converted from [DictWord](DictWord.md)
14
+
15
+ ## Extends
16
+
17
+ - [`ResultEntry`](ResultEntry.md)\<`"word"`\>
18
+
19
+ ## Properties
20
+
21
+ ### common?
22
+
23
+ > `optional` **common**: `true`
24
+
25
+ Defined in: types.ts:592
26
+
27
+ Whether or not the word is common
28
+
29
+ A word is considered *common* if the [DictWord.readings](DictWord.md#readings) and/or the [DictWord.kanjiForms](DictWord.md#kanjiforms) array(s) include(s) at least one element with the [DictReading.commonness](DictReading.md#commonness) or [DictKanjiForm.commonness](DictKanjiForm.md#commonness) property defined.
30
+
31
+ ***
32
+
33
+ ### deckPath?
34
+
35
+ > `optional` **deckPath**: `string`
36
+
37
+ Defined in: types.ts:366
38
+
39
+ The full path of the Anki deck
40
+
41
+ #### Inherited from
42
+
43
+ [`ResultEntry`](ResultEntry.md).[`deckPath`](ResultEntry.md#deckpath)
44
+
45
+ ***
46
+
47
+ ### id?
48
+
49
+ > `readonly` `optional` **id**: `string`
50
+
51
+ Defined in: types.ts:358
52
+
53
+ ID used for the Anki note ID
54
+
55
+ #### Inherited from
56
+
57
+ [`ResultEntry`](ResultEntry.md).[`id`](ResultEntry.md#id)
58
+
59
+ ***
60
+
61
+ ### kanji?
62
+
63
+ > `optional` **kanji**: [`Kanji`](Kanji.md)[]
64
+
65
+ Defined in: types.ts:582
66
+
67
+ A list of kanji used in the kanji forms
68
+
69
+ ***
70
+
71
+ ### kanjiForms?
72
+
73
+ > `optional` **kanjiForms**: [`KanjiForm`](KanjiForm.md)[]
74
+
75
+ Defined in: types.ts:578
76
+
77
+ The word kanji forms
78
+
79
+ ***
80
+
81
+ ### noteID?
82
+
83
+ > `readonly` `optional` **noteID**: `` `word_${string}` ``
84
+
85
+ Defined in: types.ts:354
86
+
87
+ ID used for the resulting Anki note
88
+
89
+ #### Inherited from
90
+
91
+ [`ResultEntry`](ResultEntry.md).[`noteID`](ResultEntry.md#noteid)
92
+
93
+ ***
94
+
95
+ ### noteTypeName?
96
+
97
+ > `optional` **noteTypeName**: `string`
98
+
99
+ Defined in: types.ts:362
100
+
101
+ Anki note type name
102
+
103
+ #### Inherited from
104
+
105
+ [`ResultEntry`](ResultEntry.md).[`noteTypeName`](ResultEntry.md#notetypename)
106
+
107
+ ***
108
+
109
+ ### phrases?
110
+
111
+ > `optional` **phrases**: [`Phrase`](Phrase.md)[]
112
+
113
+ Defined in: types.ts:586
114
+
115
+ Phrases associated to the word
116
+
117
+ ***
118
+
119
+ ### readings
120
+
121
+ > **readings**: [`Reading`](Reading.md)[]
122
+
123
+ Defined in: types.ts:570
124
+
125
+ The word readings (in kana)
126
+
127
+ ***
128
+
129
+ ### tags?
130
+
131
+ > `optional` **tags**: `string`[]
132
+
133
+ Defined in: types.ts:370
134
+
135
+ Tags generated based on the entry's information
136
+
137
+ #### Inherited from
138
+
139
+ [`ResultEntry`](ResultEntry.md).[`tags`](ResultEntry.md#tags)
140
+
141
+ ***
142
+
143
+ ### translations?
144
+
145
+ > `optional` **translations**: [`Translation`](Translation.md)[]
146
+
147
+ Defined in: types.ts:574
148
+
149
+ The word translations/senses
@@ -0,0 +1,13 @@
1
+ [**henkan**](../README.md)
2
+
3
+ ***
4
+
5
+ [henkan](../README.md) / Dict
6
+
7
+ # Type Alias: Dict
8
+
9
+ > **Dict** = [`DictWord`](../interfaces/DictWord.md)[] \| [`DictKanji`](../interfaces/DictKanji.md)[] \| [`TanakaExample`](../interfaces/TanakaExample.md)[] \| [`DictRadical`](../interfaces/DictRadical.md)[] \| [`DictKanjiWithRadicals`](../interfaces/DictKanjiWithRadicals.md)[]
10
+
11
+ Defined in: types.ts:335
12
+
13
+ Any type of entry list
@@ -0,0 +1,13 @@
1
+ [**henkan**](../README.md)
2
+
3
+ ***
4
+
5
+ [henkan](../README.md) / DictName
6
+
7
+ # Type Alias: DictName
8
+
9
+ > **DictName** = `"JMDict"` \| `"Kanjidic"` \| `"tanaka"` \| `"radk"` \| `"krad"`
10
+
11
+ Defined in: types.ts:9
12
+
13
+ Standardized dictionary names