mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
18 lines
617 B
TypeScript
18 lines
617 B
TypeScript
import type { Modality } from "@snapotter/shared";
|
|||
|
|
import type { InputHandler } from "./contract.js";
|
||
|
|
import { DocumentInputHandler } from "./document-input.js";
|
||
|
|
import { ImageInputHandler } from "./image-input.js";
|
||
|
|
import { MediaInputHandler } from "./media-input.js";
|
||
|
|
|
||
|
|
const HANDLERS: Record<Modality, InputHandler> = {
|
||
|
|
image: new ImageInputHandler(),
|
||
|
|
video: new MediaInputHandler("video"),
|
||
|
|
audio: new MediaInputHandler("audio"),
|
||
|
|
document: new DocumentInputHandler(),
|
||
|
|
file: new DocumentInputHandler(),
|
||
|
|
};
|
||
|
|
|
||
|
|
export function inputHandlerFor(modality: Modality): InputHandler {
|
||
|
|
return HANDLERS[modality];
|
||
|
|
}
|