Browse Source

update tag

main
parent
commit
292beabffe
3 changed files with 20 additions and 4 deletions
  1. +2
    -0
      scripts/get-kanji-level.ts
  2. +10
    -0
      scripts/populate-from-wanikani.ts
  3. +8
    -4
      src/wanikani.ts

+ 2
- 0
scripts/get-kanji-level.ts View File

@ -26,6 +26,8 @@ async function makeWaniKaniKanjiLevels(
for (const k of wkKanji) {
const { level, characters } = k.data;
const label = WaniKani.getLevelLabel(level);
if (!label) throw new Error(`Invalid level: ${level}`);
const category = `${label.range}: ${
label.ja
} ${label.en.toLocaleUpperCase()}`;

+ 10
- 0
scripts/populate-from-wanikani.ts View File

@ -6,6 +6,16 @@ if (require.main === module) {
// { ja: 'Japanese', audio: 'JapaneseAudio' },
// { mode: { online: true } },
// );
// new WaniKani().populateSentence(
// 'note:jp.takoboto',
// {
// vocabJa: 'Japanese',
// sentenceJa: 'Sentence',
// sentenceAudio: 'SentenceAudio',
// sentenceEn: 'SentenceMeaning',
// },
// { overwrite: true },
// );
new WaniKani().addTags('note:jp.takoboto', {
ja: 'Japanese',
});

+ 8
- 4
src/wanikani.ts View File

@ -19,7 +19,7 @@ export class WaniKani {
});
}
static getLevelLabel(level: number): ILevelLabel {
static getLevelLabel(level: number): ILevelLabel | null {
if (level < 11) {
return {
range: '01-10',
@ -58,7 +58,7 @@ export class WaniKani {
};
}
throw new Error(`invalid level: ${level}`);
return null;
}
async subjects({
@ -303,9 +303,13 @@ export class WaniKani {
>();
vocabularies.map((v) => {
if (vocabMap.has(v.data.characters)) return;
const level = v.data.level;
const label = WaniKani.getLevelLabel(level);
if (!label) throw new Error(`Invalid level: ${level}`);
vocabMap.set(v.data.characters, {
level: v.data.level,
label: WaniKani.getLevelLabel(v.data.level),
level,
label,
});
});
if (!vocabMap.size) return;

Loading…
Cancel
Save