// Copyright 2019-2021 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT /** * Read and write to the system clipboard. * * This package is also accessible with `window.__TAURI__.clipboard` when [`build.withGlobalTauri`](https://tauri.app/v1/api/config/#buildconfig.withglobaltauri) in `tauri.conf.json` is set to `true`. * @module */ import { invokeTauriCommand } from './helpers/tauri' /** * Writes plain text to the clipboard. * @example * ```typescript * import { writeText, readText } from '@tauri-apps/api/clipboard'; * await writeText('Tauri is awesome!'); * assert(await readText(), 'Tauri is awesome!'); * ``` * * @returns A promise indicating the success or failure of the operation. */ async function writeText(text: string): Promise { return invokeTauriCommand({ __tauriModule: 'Clipboard', message: { cmd: 'writeText', data: text } }) } /** * Gets the clipboard content as plain text. * @example * ```typescript * import { readText } from '@tauri-apps/api/clipboard'; * const clipboardText = await readText(); * ``` * * @returns A promise resolving to the clipboard content as plain text. */ async function readText(): Promise { return invokeTauriCommand({ __tauriModule: 'Clipboard', message: { cmd: 'readText', // if data is not set, `serde` will ignore the custom deserializer // that is set when the API is not allowlisted data: null } }) } export { writeText, readText }