diff options
Diffstat (limited to 'src/apps/source.ts')
| -rw-r--r-- | src/apps/source.ts | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/apps/source.ts b/src/apps/source.ts new file mode 100644 index 0000000..66e8f06 --- /dev/null +++ b/src/apps/source.ts @@ -0,0 +1,33 @@ +import { JSX } from "preact/jsx-runtime" + +export interface Source { + type: string, +} + +export interface Listen extends Source { + type: "listen" +} + +export interface Address extends Source { + type: "video" | "image" | "link", + link: URL, + pixelated?: boolean +} + +export interface VirtualFile extends Source { + name: string, + height?: string | number, + width?: string | number +} + +export interface VirtualTextFile extends VirtualFile { + type: "text", + content: JSX.Element +} + +export type Sources = Address | VirtualTextFile | Listen +export type SourceTypes = Sources["type"] +export type GetSource = { + [SourceType in Sources as SourceType["type"]]: SourceType +} + |
