mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-07-29 19:21:33 -07:00
refactor: split anki-connect and stats-server resolvers into modules (#169)
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
import type { ResolveContext } from '../context';
|
||||
import { asBoolean, asString, isObject } from '../shared';
|
||||
|
||||
export function applyLapisResolution(
|
||||
context: ResolveContext,
|
||||
ankiConnect: Record<string, unknown>,
|
||||
): void {
|
||||
if (isObject(ankiConnect.isLapis)) {
|
||||
const lapisEnabled = asBoolean(ankiConnect.isLapis.enabled);
|
||||
if (lapisEnabled !== undefined) {
|
||||
context.resolved.ankiConnect.isLapis.enabled = lapisEnabled;
|
||||
} else if (ankiConnect.isLapis.enabled !== undefined) {
|
||||
context.warn(
|
||||
'ankiConnect.isLapis.enabled',
|
||||
ankiConnect.isLapis.enabled,
|
||||
context.resolved.ankiConnect.isLapis.enabled,
|
||||
'Expected boolean.',
|
||||
);
|
||||
}
|
||||
|
||||
const sentenceCardModel = asString(ankiConnect.isLapis.sentenceCardModel);
|
||||
if (sentenceCardModel !== undefined) {
|
||||
context.resolved.ankiConnect.isLapis.sentenceCardModel = sentenceCardModel;
|
||||
} else if (ankiConnect.isLapis.sentenceCardModel !== undefined) {
|
||||
context.warn(
|
||||
'ankiConnect.isLapis.sentenceCardModel',
|
||||
ankiConnect.isLapis.sentenceCardModel,
|
||||
context.resolved.ankiConnect.isLapis.sentenceCardModel,
|
||||
'Expected string.',
|
||||
);
|
||||
}
|
||||
|
||||
if (ankiConnect.isLapis.sentenceCardSentenceField !== undefined) {
|
||||
context.warn(
|
||||
'ankiConnect.isLapis.sentenceCardSentenceField',
|
||||
ankiConnect.isLapis.sentenceCardSentenceField,
|
||||
'Sentence',
|
||||
'Deprecated key; sentence-card sentence field is fixed to Sentence.',
|
||||
);
|
||||
}
|
||||
|
||||
if (ankiConnect.isLapis.sentenceCardAudioField !== undefined) {
|
||||
context.warn(
|
||||
'ankiConnect.isLapis.sentenceCardAudioField',
|
||||
ankiConnect.isLapis.sentenceCardAudioField,
|
||||
'SentenceAudio',
|
||||
'Deprecated key; sentence-card audio field is fixed to SentenceAudio.',
|
||||
);
|
||||
}
|
||||
} else if (ankiConnect.isLapis !== undefined) {
|
||||
context.warn(
|
||||
'ankiConnect.isLapis',
|
||||
ankiConnect.isLapis,
|
||||
context.resolved.ankiConnect.isLapis,
|
||||
'Expected object.',
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user