mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-07-29 19:21:33 -07:00
26 lines
1.2 KiB
TypeScript
26 lines
1.2 KiB
TypeScript
import type { ResolveContext } from './context';
|
|
import { initializeAnkiConnectResolution } from './anki-connect/initialize';
|
|
import { applyAnkiKikuResolution } from './anki-connect/kiku';
|
|
import { applyAnkiKnownWordsResolution } from './anki-connect/known-words';
|
|
import { applyAnkiLegacyResolution } from './anki-connect/legacy';
|
|
import { applyAnkiModernResolution } from './anki-connect/modern';
|
|
import { isObject } from './shared';
|
|
|
|
export function applyAnkiConnectResolution(context: ResolveContext): void {
|
|
if (!isObject(context.src.ankiConnect)) {
|
|
return;
|
|
}
|
|
|
|
const ankiConnect = context.src.ankiConnect;
|
|
const behavior = isObject(ankiConnect.behavior) ? ankiConnect.behavior : {};
|
|
const fields = isObject(ankiConnect.fields) ? ankiConnect.fields : {};
|
|
const media = isObject(ankiConnect.media) ? ankiConnect.media : {};
|
|
const metadata = isObject(ankiConnect.metadata) ? ankiConnect.metadata : {};
|
|
|
|
initializeAnkiConnectResolution(context, ankiConnect);
|
|
applyAnkiModernResolution(context, ankiConnect, behavior, media);
|
|
applyAnkiLegacyResolution(context, ankiConnect, behavior, fields, media, metadata);
|
|
applyAnkiKnownWordsResolution(context, ankiConnect, behavior);
|
|
applyAnkiKikuResolution(context);
|
|
}
|