refactor: split modern.ts into focused sub-modules

- Extract ai, kiku, lapis, proxy, tags, fields, media, behavior, metadata into own files
- Move applyAnkiKikuResolution import to kiku.ts
- Fix nPlusOne migration: later invalid duplicate values now correctly supersede earlier valid ones
This commit is contained in:
2026-07-16 15:26:43 -07:00
parent 1ee9415eda
commit 7fec29316c
14 changed files with 584 additions and 492 deletions
@@ -0,0 +1,22 @@
import { DEFAULT_CONFIG } from '../../definitions';
import type { ResolveContext } from '../context';
import { asString } from '../shared';
import { applyModernValue } from './modern-value';
export function applyModernMetadataResolution(
context: ResolveContext,
metadata: Record<string, unknown>,
): void {
applyModernValue(
context,
metadata,
'pattern',
'ankiConnect.metadata.pattern',
asString,
DEFAULT_CONFIG.ankiConnect.metadata.pattern,
(value) => {
context.resolved.ankiConnect.metadata.pattern = value;
},
'Expected string.',
);
}