diff options
Diffstat (limited to 'apps/web/src/lib/clipboard/handlers/index.ts')
| -rw-r--r-- | apps/web/src/lib/clipboard/handlers/index.ts | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/apps/web/src/lib/clipboard/handlers/index.ts b/apps/web/src/lib/clipboard/handlers/index.ts deleted file mode 100644 index 29d4d1d0..00000000 --- a/apps/web/src/lib/clipboard/handlers/index.ts +++ /dev/null @@ -1,49 +0,0 @@ -import type { - ClipboardEntry, - ClipboardEntryType, - ClipboardHandler, - ClipboardHandlerMap, - CopyContext, - PasteContext, -} from "../types"; -import { ElementsClipboardHandler } from "./elements"; -import { KeyframesClipboardHandler } from "./keyframes"; - -export const clipboardHandlers = { - elements: ElementsClipboardHandler, - keyframes: KeyframesClipboardHandler, -} satisfies ClipboardHandlerMap; - -export const clipboardCopyHandlers = [ - KeyframesClipboardHandler, - ElementsClipboardHandler, -] as const satisfies readonly ClipboardHandler<ClipboardEntryType>[]; - -export function copyClipboardEntry({ - context, -}: { - context: CopyContext; -}): ClipboardEntry | null { - for (const handler of clipboardCopyHandlers) { - if (!handler.canCopy(context)) { - continue; - } - - return handler.copy(context); - } - - return null; -} - -export function buildPasteClipboardCommand({ - entry, - context, -}: { - entry: ClipboardEntry; - context: PasteContext; -}) { - const handler = clipboardHandlers[entry.type] as ClipboardHandler< - typeof entry.type - >; - return handler.paste(entry as never, context); -} |
