it-tools/src/composable/copy.ts

15 lines
431 B
TypeScript
Raw Normal View History

import { type MaybeRef, get, useClipboard } from '@vueuse/core';
2022-04-04 00:24:45 +02:00
import { useMessage } from 'naive-ui';
export function useCopy({ source, text = 'Copied to the clipboard' }: { source: MaybeRef<unknown>; text?: string }) {
const { copy } = useClipboard({ source: computed(() => String(get(source))) });
2022-04-04 00:24:45 +02:00
const message = useMessage();
return {
async copy() {
await copy();
message.success(text);
},
};
}