%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
import process from 'node:process'; import isWSL from 'is-wsl'; import termux from './lib/termux.js'; import linux from './lib/linux.js'; import macos from './lib/macos.js'; import windows from './lib/windows.js'; const platformLib = (() => { switch (process.platform) { case 'darwin': return macos; case 'win32': return windows; case 'android': if (process.env.PREFIX !== '/data/data/com.termux/files/usr') { throw new Error('You need to install Termux for this module to work on Android: https://termux.com'); } return termux; default: // `process.platform === 'linux'` for WSL. if (isWSL) { return windows; } return linux; } })(); const clipboard = {}; clipboard.write = async text => { if (typeof text !== 'string') { throw new TypeError(`Expected a string, got ${typeof text}`); } await platformLib.copy({input: text}); }; clipboard.read = async () => platformLib.paste({stripFinalNewline: false}); clipboard.writeSync = text => { if (typeof text !== 'string') { throw new TypeError(`Expected a string, got ${typeof text}`); } platformLib.copySync({input: text}); }; clipboard.readSync = () => platformLib.pasteSync({stripFinalNewline: false}); export default clipboard;