UNPKG

@guanghechen/mini-copy

Version:

Access system clipboard (also support to share clipboard in wsl with windows).

80 lines (74 loc) 2 kB
import { IReporter } from '@guanghechen/reporter.types'; declare const DEFAULT_LINE_END: string; interface IFakeClipboardProps { filepath: string; encoding?: BufferEncoding; reporter?: IReporter; } interface IFakeClipboardReadOptions { } interface IFakeClipboardWriteOptions { } declare class FakeClipboard { readonly filepath: string; readonly encoding: BufferEncoding; readonly reporter: IReporter | null; private isInitialized; constructor(props: IFakeClipboardProps); read(_options?: IFakeClipboardReadOptions): Promise<string>; write(content: string, _options?: IFakeClipboardWriteOptions): Promise<void>; protected init(): Promise<void>; } interface ICopyOptions { /** * System `copy` command location. */ copyCommandPath?: string; /** * Arguments passed to the `copy` command. */ copyCommandArgs?: string[]; /** * Fake clipboard. */ fakeClipboard?: FakeClipboard; /** * Logger. */ reporter?: IReporter; } /** * Copy content to system clipboard. * @param content the content you want to write into system clipboard. * @param options */ declare function copy(content: string, options?: ICopyOptions): Promise<void | never>; interface IPasteOptions { /** * System `paste` command location. */ pasteCommandPath?: string; /** * Arguments passed to the `paste` command. */ pasteCommandArgs?: string[]; /** * Fake clipboard. */ fakeClipboard?: FakeClipboard; /** * Logger. */ reporter?: IReporter; /** * System line-ending symbol. */ lineEnd?: string; } /** * get the data from system clipboard * @param options */ declare function paste(options?: IPasteOptions): Promise<string | never>; export { DEFAULT_LINE_END, FakeClipboard, copy, paste }; export type { ICopyOptions, IFakeClipboardProps, IFakeClipboardReadOptions, IFakeClipboardWriteOptions, IPasteOptions };