{"versions":{"0.0.2":{"name":"@teddyzhu/clipboard","version":"0.0.2","description":"it's a node package with napi-rs wrapper clipboard-rs","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/Teddy-Zhu/node-clipboard-rs.git"},"license":"MIT","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"napi":{"binaryName":"clipboard","targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","aarch64-unknown-linux-gnu","aarch64-apple-darwin","aarch64-pc-windows-msvc"]},"engines":{"node":">= 10.16.0 < 11 || >= 11.8.0 < 12 || >= 12.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"artifacts":"napi artifacts","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","build:debug":"napi build --platform","format":"run-p format:prettier format:rs format:toml","format:prettier":"prettier . -w","format:toml":"taplo format","format:rs":"cargo fmt","lint":"oxlint .","prepublishOnly":"napi prepublish -t npm","test":"ava","version":"napi version","prepare":"husky"},"devDependencies":{"@emnapi/core":"^1.4.3","@emnapi/runtime":"^1.4.3","@napi-rs/cli":"^3.0.0","@oxc-node/core":"^0.0.29","@taplo/cli":"^0.7.0","@tybys/wasm-util":"^0.10.0","ava":"^6.4.0","chalk":"^5.4.1","husky":"^9.1.7","lint-staged":"^16.1.2","npm-run-all2":"^8.0.4","oxlint":"^1.3.0","prettier":"^3.6.0","tinybench":"^4.0.1","typescript":"^5.8.3"},"lint-staged":{"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"],"*.toml":["taplo format"]},"ava":{"extensions":{"ts":"module"},"timeout":"2m","workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"},"nodeArguments":["--import","@oxc-node/core/register"]},"prettier":{"printWidth":120,"semi":false,"trailingComma":"all","singleQuote":true,"arrowParens":"always"},"packageManager":"yarn@4.9.2","optionalDependencies":{"@teddyzhu/clipboard-win32-x64-msvc":"0.0.2","@teddyzhu/clipboard-darwin-x64":"0.0.2","@teddyzhu/clipboard-linux-x64-gnu":"0.0.2","@teddyzhu/clipboard-linux-arm64-gnu":"0.0.2","@teddyzhu/clipboard-darwin-arm64":"0.0.2","@teddyzhu/clipboard-win32-arm64-msvc":"0.0.2"},"_id":"@teddyzhu/clipboard@0.0.2","gitHead":"6246f8a8b13c52f4a972e9a376fb37eef08eb492","types":"./index.d.ts","bugs":{"url":"https://github.com/Teddy-Zhu/node-clipboard-rs/issues"},"homepage":"https://github.com/Teddy-Zhu/node-clipboard-rs#readme","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-aJ0/Lv2AZl5WPDd8C8rVhBkmnizlMXtbSvnD7RGiH3s3lxMFUtfFTLezNPjUCtriyLdrMt1PRkK3Ft6mxVhWHA==","shasum":"8b8cfe6d11671d182ade4ac2a4f11ef387b7ff95","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@teddyzhu/clipboard/-/clipboard-0.0.2.tgz","fileCount":5,"unpackedSize":19535,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@teddyzhu%2fclipboard@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEAB+lbWKh72z9zSXUW4UVIM+sRxdTp/3uxzEoO3bLUAAiEAgcbjVt+WXn7+SIVgx8aJriLpl3JLYM/sjdsPGB6Znpc="}],"size":4994},"_npmUser":{"name":"anonymous","email":"teddyzhu15@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"teddyzhu15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clipboard_0.0.2_1752858521017_0.9371895348954402"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-18T17:08:41.219Z","publish_time":1752858521219,"_source_registry_name":"default","contributors":[]},"0.0.3":{"name":"@teddyzhu/clipboard","version":"0.0.3","description":"it's a node package with napi-rs wrapper clipboard-rs","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/Teddy-Zhu/node-clipboard-rs.git"},"license":"MIT","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"napi":{"binaryName":"clipboard","targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","aarch64-unknown-linux-gnu","aarch64-apple-darwin","aarch64-pc-windows-msvc"]},"engines":{"node":">= 10.16.0 < 11 || >= 11.8.0 < 12 || >= 12.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"artifacts":"napi artifacts","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","build:debug":"napi build --platform","format":"run-p format:prettier format:rs format:toml","format:prettier":"prettier . -w","format:toml":"taplo format","format:rs":"cargo fmt","lint":"oxlint .","prepublishOnly":"napi prepublish -t npm","test":"ava","version":"napi version","prepare":"husky"},"devDependencies":{"@emnapi/core":"^1.4.3","@emnapi/runtime":"^1.4.3","@napi-rs/cli":"^3.0.0","@oxc-node/core":"^0.0.29","@taplo/cli":"^0.7.0","@tybys/wasm-util":"^0.10.0","ava":"^6.4.0","chalk":"^5.4.1","husky":"^9.1.7","lint-staged":"^16.1.2","npm-run-all2":"^8.0.4","oxlint":"^1.3.0","prettier":"^3.6.0","tinybench":"^4.0.1","typescript":"^5.8.3"},"lint-staged":{"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"],"*.toml":["taplo format"]},"ava":{"extensions":{"ts":"module"},"timeout":"2m","workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"},"nodeArguments":["--import","@oxc-node/core/register"]},"prettier":{"printWidth":120,"semi":false,"trailingComma":"all","singleQuote":true,"arrowParens":"always"},"packageManager":"yarn@4.9.2","optionalDependencies":{"@teddyzhu/clipboard-win32-x64-msvc":"0.0.3","@teddyzhu/clipboard-darwin-x64":"0.0.3","@teddyzhu/clipboard-linux-x64-gnu":"0.0.3","@teddyzhu/clipboard-linux-arm64-gnu":"0.0.3","@teddyzhu/clipboard-darwin-arm64":"0.0.3","@teddyzhu/clipboard-win32-arm64-msvc":"0.0.3"},"_id":"@teddyzhu/clipboard@0.0.3","gitHead":"fb1d48593259a9118767a4bba15711da82b07e3c","types":"./index.d.ts","bugs":{"url":"https://github.com/Teddy-Zhu/node-clipboard-rs/issues"},"homepage":"https://github.com/Teddy-Zhu/node-clipboard-rs#readme","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-my7a/919LfqCu0aZFCv1JtItTxStqFTUazxV6fku6WnDM/dlnvMF1rzl4SXKnpU1qorh4xCpc2z2/GnIwNUnyw==","shasum":"3252c04ca3ba14a192466ec574294571486d9763","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@teddyzhu/clipboard/-/clipboard-0.0.3.tgz","fileCount":5,"unpackedSize":21500,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@teddyzhu%2fclipboard@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEFP0MnbQVqmcz9In9Yw7bH6gjvUTN8qjg4wrBCCjEUrAiEA+v89+NHoHZeAcITICpxqeXijPpVZZvt3hG2rdu+KU88="}],"size":5455},"_npmUser":{"name":"anonymous","email":"teddyzhu15@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"teddyzhu15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clipboard_0.0.3_1752893117410_0.37527032644164104"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-19T02:45:17.609Z","publish_time":1752893117609,"_source_registry_name":"default","contributors":[]},"0.0.4":{"name":"@teddyzhu/clipboard","version":"0.0.4","description":"it's a node package with napi-rs wrapper clipboard-rs","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/Teddy-Zhu/node-clipboard-rs.git"},"license":"MIT","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"napi":{"binaryName":"clipboard","targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","aarch64-unknown-linux-gnu","aarch64-apple-darwin","aarch64-pc-windows-msvc"]},"engines":{"node":">= 10.16.0 < 11 || >= 11.8.0 < 12 || >= 12.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"artifacts":"napi artifacts","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","build:debug":"napi build --platform","format":"run-p format:prettier format:rs format:toml","format:prettier":"prettier . -w","format:toml":"taplo format","format:rs":"cargo fmt","lint":"oxlint .","prepublishOnly":"napi prepublish -t npm","test":"ava","version":"napi version","prepare":"husky"},"devDependencies":{"@emnapi/core":"^1.4.3","@emnapi/runtime":"^1.4.3","@napi-rs/cli":"^3.0.0","@oxc-node/core":"^0.0.29","@taplo/cli":"^0.7.0","@tybys/wasm-util":"^0.10.0","ava":"^6.4.0","chalk":"^5.4.1","husky":"^9.1.7","lint-staged":"^16.1.2","npm-run-all2":"^8.0.4","oxlint":"^1.3.0","prettier":"^3.6.0","tinybench":"^4.0.1","typescript":"^5.8.3"},"lint-staged":{"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"],"*.toml":["taplo format"]},"ava":{"extensions":{"ts":"module"},"timeout":"2m","workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"},"nodeArguments":["--import","@oxc-node/core/register"]},"prettier":{"printWidth":120,"semi":false,"trailingComma":"all","singleQuote":true,"arrowParens":"always"},"packageManager":"yarn@4.9.2","optionalDependencies":{"@teddyzhu/clipboard-win32-x64-msvc":"0.0.4","@teddyzhu/clipboard-darwin-x64":"0.0.4","@teddyzhu/clipboard-linux-x64-gnu":"0.0.4","@teddyzhu/clipboard-linux-arm64-gnu":"0.0.4","@teddyzhu/clipboard-darwin-arm64":"0.0.4","@teddyzhu/clipboard-win32-arm64-msvc":"0.0.4"},"_id":"@teddyzhu/clipboard@0.0.4","gitHead":"46148cde5c2d07fccf19c02e3444dc3b03b0acda","types":"./index.d.ts","bugs":{"url":"https://github.com/Teddy-Zhu/node-clipboard-rs/issues"},"homepage":"https://github.com/Teddy-Zhu/node-clipboard-rs#readme","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-JX4bkQgK9Mb8oLQAOlzg+ZXaJLkQoGcshII0Ib3zYEelmBa1qWvkOGcua3O9LPyVahED8kT3VhDLP0egRh1Z5g==","shasum":"010db181706ba057072de1546ded415eb324b9de","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@teddyzhu/clipboard/-/clipboard-0.0.4.tgz","fileCount":5,"unpackedSize":33474,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@teddyzhu%2fclipboard@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIE+U3kU7PQowr66V7DkxER7ZCVo8+yJ6moh2xsX0loPiAiB68nSiW/uBv/gEMbuUCyulya3o4Xa2jYWH+q8hkDb54A=="}],"size":8653},"_npmUser":{"name":"anonymous","email":"teddyzhu15@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"teddyzhu15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clipboard_0.0.4_1753073366599_0.9560001267258957"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-21T04:49:26.781Z","publish_time":1753073366781,"_source_registry_name":"default","contributors":[]},"0.0.5":{"name":"@teddyzhu/clipboard","version":"0.0.5","description":"it's a node package with napi-rs wrapper clipboard-rs","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/Teddy-Zhu/node-clipboard-rs.git"},"license":"MIT","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"napi":{"binaryName":"clipboard","targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","aarch64-unknown-linux-gnu","aarch64-apple-darwin","aarch64-pc-windows-msvc"]},"engines":{"node":">= 10.16.0 < 11 || >= 11.8.0 < 12 || >= 12.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"artifacts":"napi artifacts","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","build:debug":"napi build --platform","format":"run-p format:prettier format:rs format:toml","format:prettier":"prettier . -w","format:toml":"taplo format","format:rs":"cargo fmt","lint":"oxlint .","prepublishOnly":"napi prepublish -t npm","test":"ava","version":"napi version","prepare":"husky"},"devDependencies":{"@emnapi/core":"^1.4.3","@emnapi/runtime":"^1.4.3","@napi-rs/cli":"^3.0.0","@oxc-node/core":"^0.0.29","@taplo/cli":"^0.7.0","@tybys/wasm-util":"^0.10.0","@types/node":"^24.1.0","ava":"^6.4.0","chalk":"^5.4.1","husky":"^9.1.7","lint-staged":"^16.1.2","npm-run-all2":"^8.0.4","oxlint":"^1.3.0","prettier":"^3.6.0","tinybench":"^4.0.1","typescript":"^5.8.3"},"lint-staged":{"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"],"*.toml":["taplo format"]},"ava":{"extensions":{"ts":"module"},"timeout":"2m","workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"},"nodeArguments":["--import","@oxc-node/core/register"]},"prettier":{"printWidth":120,"semi":false,"trailingComma":"all","singleQuote":true,"arrowParens":"always"},"packageManager":"yarn@4.9.2","optionalDependencies":{"@teddyzhu/clipboard-win32-x64-msvc":"0.0.5","@teddyzhu/clipboard-darwin-x64":"0.0.5","@teddyzhu/clipboard-linux-x64-gnu":"0.0.5","@teddyzhu/clipboard-linux-arm64-gnu":"0.0.5","@teddyzhu/clipboard-darwin-arm64":"0.0.5","@teddyzhu/clipboard-win32-arm64-msvc":"0.0.5"},"_id":"@teddyzhu/clipboard@0.0.5","gitHead":"ca6e51d6679fb6e520f0ad5f7d073c46cd8c2905","types":"./index.d.ts","bugs":{"url":"https://github.com/Teddy-Zhu/node-clipboard-rs/issues"},"homepage":"https://github.com/Teddy-Zhu/node-clipboard-rs#readme","_nodeVersion":"22.17.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-XA6MG7nLPZzj51agCwDYaVnVVrt0ByJ3G9rl3ar6N4GETAjUKKup6u76SLp2C5yHRWYV9hwMYDn04OGLar0MVg==","shasum":"2f55a00e741ee65c17f013a3e0daac85fbd46523","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@teddyzhu/clipboard/-/clipboard-0.0.5.tgz","fileCount":5,"unpackedSize":34033,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@teddyzhu%2fclipboard@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC6XeDO1kQvSpUwvPtyyvYhMM4Ny4vQBaSGYL6Nivv7ZQIhAKXTaIARjqMdmOm5bxTixBNSHBrOXuSeUJnrby50Ijit"}],"size":8746},"_npmUser":{"name":"anonymous","email":"teddyzhu15@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"teddyzhu15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clipboard_0.0.5_1753435348526_0.7739559064949968"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-25T09:22:28.705Z","publish_time":1753435348705,"_source_registry_name":"default","contributors":[]},"0.0.6":{"name":"@teddyzhu/clipboard","version":"0.0.6","description":"it's a node package with napi-rs wrapper clipboard-rs","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/Teddy-Zhu/node-clipboard-rs.git"},"license":"MIT","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"napi":{"binaryName":"clipboard","targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","aarch64-unknown-linux-gnu","aarch64-apple-darwin","aarch64-pc-windows-msvc"]},"engines":{"node":">= 10.16.0 < 11 || >= 11.8.0 < 12 || >= 12.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"artifacts":"napi artifacts","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","build:debug":"napi build --platform","format":"run-p format:prettier format:rs format:toml","format:prettier":"prettier . -w","format:toml":"taplo format","format:rs":"cargo fmt","lint":"oxlint .","prepublishOnly":"napi prepublish -t npm","test":"ava","version":"napi version","prepare":"husky"},"devDependencies":{"@emnapi/core":"^1.4.3","@emnapi/runtime":"^1.4.3","@napi-rs/cli":"^3.0.0","@oxc-node/core":"^0.0.29","@taplo/cli":"^0.7.0","@tybys/wasm-util":"^0.10.0","@types/node":"^24.1.0","ava":"^6.4.0","chalk":"^5.4.1","husky":"^9.1.7","lint-staged":"^16.1.2","npm-run-all2":"^8.0.4","oxlint":"^1.3.0","prettier":"^3.6.0","tinybench":"^4.0.1","typescript":"^5.8.3"},"lint-staged":{"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"],"*.toml":["taplo format"]},"ava":{"extensions":{"ts":"module"},"timeout":"2m","workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"},"nodeArguments":["--import","@oxc-node/core/register"]},"prettier":{"printWidth":120,"semi":false,"trailingComma":"all","singleQuote":true,"arrowParens":"always"},"packageManager":"yarn@4.9.2","optionalDependencies":{"@teddyzhu/clipboard-win32-x64-msvc":"0.0.6","@teddyzhu/clipboard-darwin-x64":"0.0.6","@teddyzhu/clipboard-linux-x64-gnu":"0.0.6","@teddyzhu/clipboard-linux-arm64-gnu":"0.0.6","@teddyzhu/clipboard-darwin-arm64":"0.0.6","@teddyzhu/clipboard-win32-arm64-msvc":"0.0.6"},"_id":"@teddyzhu/clipboard@0.0.6","gitHead":"bb08b3e5b0eba87ef8fbe84c13c78560bdec9f97","types":"./index.d.ts","bugs":{"url":"https://github.com/Teddy-Zhu/node-clipboard-rs/issues"},"homepage":"https://github.com/Teddy-Zhu/node-clipboard-rs#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-hpe8sCfyR0RDO06yQ1VGGabCMkHm5bwM0SNjoYgzg+lMCTevxib8pA3pPEv6AAkijSaqvHa43X4hzCwMYIrhRw==","shasum":"0379b34fb211f457acffbd17a333c10027829351","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@teddyzhu/clipboard/-/clipboard-0.0.6.tgz","fileCount":11,"unpackedSize":9671155,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@teddyzhu%2fclipboard@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCzwCptnI9WrgRvgCUM3KPnXeYO9V7PBpxPDY7If4hMVAIgFj2ArRvIydlgb6d8ychj+5kZ3LeV6oqjv180KV0N4Lg="}],"size":4426834},"_npmUser":{"name":"anonymous","email":"teddyzhu15@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"teddyzhu15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clipboard_0.0.6_1772252948176_0.05788825455418922"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-28T04:29:08.495Z","publish_time":1772252948495,"_source_registry_name":"default","contributors":[]},"0.0.7":{"name":"@teddyzhu/clipboard","version":"0.0.7","description":"it's a node package with napi-rs wrapper clipboard-rs","main":"index.js","repository":{"type":"git","url":"git+https://github.com/Teddy-Zhu/node-clipboard-rs.git"},"license":"MIT","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"napi":{"binaryName":"clipboard","targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","aarch64-unknown-linux-gnu","aarch64-apple-darwin","aarch64-pc-windows-msvc"]},"engines":{"node":">= 10.16.0 < 11 || >= 11.8.0 < 12 || >= 12.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"artifacts":"napi artifacts","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","build:debug":"napi build --platform","format":"run-p format:prettier format:rs format:toml","format:prettier":"prettier . -w","format:toml":"taplo format","format:rs":"cargo fmt","lint":"oxlint .","prepublishOnly":"napi pre-publish -t npm","test":"ava","version":"napi version","prepare":"husky"},"devDependencies":{"@emnapi/core":"^1.4.3","@emnapi/runtime":"^1.4.3","@napi-rs/cli":"^3.0.0","@oxc-node/core":"^0.0.29","@taplo/cli":"^0.7.0","@tybys/wasm-util":"^0.10.0","@types/node":"^24.1.0","ava":"^6.4.0","chalk":"^5.4.1","husky":"^9.1.7","lint-staged":"^16.1.2","npm-run-all2":"^8.0.4","oxlint":"^1.3.0","prettier":"^3.6.0","tinybench":"^4.0.1","typescript":"^5.8.3"},"lint-staged":{"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"],"*.toml":["taplo format"]},"ava":{"extensions":{"ts":"module"},"timeout":"2m","workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"},"nodeArguments":["--import","@oxc-node/core/register"]},"prettier":{"printWidth":120,"semi":false,"trailingComma":"all","singleQuote":true,"arrowParens":"always"},"optionalDependencies":{"@teddyzhu/clipboard-win32-x64-msvc":"0.0.7","@teddyzhu/clipboard-darwin-x64":"0.0.7","@teddyzhu/clipboard-linux-x64-gnu":"0.0.7","@teddyzhu/clipboard-linux-arm64-gnu":"0.0.7","@teddyzhu/clipboard-darwin-arm64":"0.0.7","@teddyzhu/clipboard-win32-arm64-msvc":"0.0.7"},"packageManager":"pnpm@10.28.2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264","_id":"@teddyzhu/clipboard@0.0.7","gitHead":"f40877931052d209c26b52467fbd6a68241401d4","types":"./index.d.ts","bugs":{"url":"https://github.com/Teddy-Zhu/node-clipboard-rs/issues"},"homepage":"https://github.com/Teddy-Zhu/node-clipboard-rs#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-N7b2ZDPQ3ta4+9d3IrvBh4Gm26q6fPPtQyU0wAAureOTXZ4e/EEBq9IehqvDuk1N3ZQXV+aRLBv8dyn3ITJA8A==","shasum":"e65daaf631a9729c7b405bf65ccbb8b82ce1dae4","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@teddyzhu/clipboard/-/clipboard-0.0.7.tgz","fileCount":11,"unpackedSize":9807153,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@teddyzhu%2fclipboard@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBy79ZVYIn+kt76i3ko2xQbSvk8W3BjV4OPKorf8O3kdAiEA40Z0wFPCWeAGTNgukRBBfoHv0NggkD8g+PzYPCgJ1ts="}],"size":4481954},"_npmUser":{"name":"anonymous","email":"teddyzhu15@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"teddyzhu15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clipboard_0.0.7_1772592333722_0.6698630341320695"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-04T02:45:34.032Z","publish_time":1772592334032,"_source_registry_name":"default","contributors":[]},"0.0.8":{"name":"@teddyzhu/clipboard","version":"0.0.8","description":"it's a node package with napi-rs wrapper clipboard-rs","main":"index.js","repository":{"type":"git","url":"git+https://github.com/Teddy-Zhu/node-clipboard-rs.git"},"license":"MIT","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"napi":{"binaryName":"clipboard","targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","aarch64-unknown-linux-gnu","aarch64-apple-darwin","aarch64-pc-windows-msvc"]},"engines":{"node":">= 10.16.0 < 11 || >= 11.8.0 < 12 || >= 12.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"artifacts":"napi artifacts","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","build:debug":"napi build --platform","format":"run-p format:prettier format:rs format:toml","format:prettier":"prettier . -w","format:toml":"taplo format","format:rs":"cargo fmt","lint":"oxlint .","prepublishOnly":"napi pre-publish -t npm","test":"ava","version":"napi version","prepare":"husky"},"devDependencies":{"@emnapi/core":"^1.4.3","@emnapi/runtime":"^1.4.3","@napi-rs/cli":"^3.0.0","@oxc-node/core":"^0.0.29","@taplo/cli":"^0.7.0","@tybys/wasm-util":"^0.10.0","@types/node":"^24.1.0","ava":"^6.4.0","chalk":"^5.4.1","husky":"^9.1.7","lint-staged":"^16.1.2","npm-run-all2":"^8.0.4","oxlint":"^1.3.0","prettier":"^3.6.0","tinybench":"^4.0.1","typescript":"^5.8.3"},"lint-staged":{"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"],"*.toml":["taplo format"]},"ava":{"extensions":{"ts":"module"},"timeout":"2m","workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"},"nodeArguments":["--import","@oxc-node/core/register"]},"prettier":{"printWidth":120,"semi":false,"trailingComma":"all","singleQuote":true,"arrowParens":"always"},"optionalDependencies":{"@teddyzhu/clipboard-win32-x64-msvc":"0.0.8","@teddyzhu/clipboard-darwin-x64":"0.0.8","@teddyzhu/clipboard-linux-x64-gnu":"0.0.8","@teddyzhu/clipboard-linux-arm64-gnu":"0.0.8","@teddyzhu/clipboard-darwin-arm64":"0.0.8","@teddyzhu/clipboard-win32-arm64-msvc":"0.0.8"},"packageManager":"pnpm@10.28.2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264","_id":"@teddyzhu/clipboard@0.0.8","gitHead":"ef0f59a643f9468d8edde6f3961095f0d74eb4e8","types":"./index.d.ts","bugs":{"url":"https://github.com/Teddy-Zhu/node-clipboard-rs/issues"},"homepage":"https://github.com/Teddy-Zhu/node-clipboard-rs#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-C/gZ5Uh2LfGYvN+Hn8Zf+5SmYISpZ27YonIQ8N4kPOU7v/ZuMt/WkhzNGDXo1FNeVYHH80t5lbMJT/LHlRkalQ==","shasum":"6096bd042d64ba465470a4516fcaecfe78679847","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@teddyzhu/clipboard/-/clipboard-0.0.8.tgz","fileCount":11,"unpackedSize":9848113,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@teddyzhu%2fclipboard@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCHwHw5UcUGv4EMIF0qIeBO7U4RpbIhHgGFtW4n4/Ie7wIhAKHkVDm5Quuih2w70QnRYpnSsKLtuy5jte2Mvfsb4CdB"}],"size":4498616},"_npmUser":{"name":"anonymous","email":"teddyzhu15@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"teddyzhu15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clipboard_0.0.8_1772594417572_0.725782018310549"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-04T03:20:17.883Z","publish_time":1772594417883,"_source_registry_name":"default","contributors":[]},"0.0.9":{"name":"@teddyzhu/clipboard","version":"0.0.9","description":"it's a node package with napi-rs wrapper clipboard-rs","main":"index.js","repository":{"type":"git","url":"git+https://github.com/Teddy-Zhu/node-clipboard-rs.git"},"license":"MIT","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"napi":{"binaryName":"clipboard","targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","aarch64-unknown-linux-gnu","aarch64-apple-darwin","aarch64-pc-windows-msvc"]},"engines":{"node":">= 10.16.0 < 11 || >= 11.8.0 < 12 || >= 12.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"artifacts":"napi artifacts","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","build:debug":"napi build --platform","format":"run-p format:prettier format:rs format:toml","format:prettier":"prettier . -w","format:toml":"taplo format","format:rs":"cargo fmt","lint":"oxlint .","prepublishOnly":"napi pre-publish -t npm","test":"ava","version":"napi version","prepare":"husky"},"devDependencies":{"@emnapi/core":"^1.4.3","@emnapi/runtime":"^1.4.3","@napi-rs/cli":"^3.0.0","@oxc-node/core":"^0.0.29","@taplo/cli":"^0.7.0","@tybys/wasm-util":"^0.10.0","@types/node":"^24.1.0","ava":"^6.4.0","chalk":"^5.4.1","husky":"^9.1.7","lint-staged":"^16.1.2","npm-run-all2":"^8.0.4","oxlint":"^1.3.0","prettier":"^3.6.0","tinybench":"^4.0.1","typescript":"^5.8.3"},"lint-staged":{"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"],"*.toml":["taplo format"]},"ava":{"extensions":{"ts":"module"},"timeout":"2m","workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"},"nodeArguments":["--import","@oxc-node/core/register"]},"prettier":{"printWidth":120,"semi":false,"trailingComma":"all","singleQuote":true,"arrowParens":"always"},"optionalDependencies":{"@teddyzhu/clipboard-win32-x64-msvc":"0.0.9","@teddyzhu/clipboard-darwin-x64":"0.0.9","@teddyzhu/clipboard-linux-x64-gnu":"0.0.9","@teddyzhu/clipboard-linux-arm64-gnu":"0.0.9","@teddyzhu/clipboard-darwin-arm64":"0.0.9","@teddyzhu/clipboard-win32-arm64-msvc":"0.0.9"},"packageManager":"pnpm@10.28.2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264","_id":"@teddyzhu/clipboard@0.0.9","gitHead":"0f80c5ec87f50a32a9855bc023e41c8032868739","types":"./index.d.ts","bugs":{"url":"https://github.com/Teddy-Zhu/node-clipboard-rs/issues"},"homepage":"https://github.com/Teddy-Zhu/node-clipboard-rs#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-HI610mIaKRMX5YSWFkwUeHrwGw8biWdSm8g8PhFh7e7m3WTlaFgIp/hENUWyX8qzdozVZYOnFZ9Ygsd2EyhxsA==","shasum":"7005947026e3a52cf9ed9caf645bb4f465eb1af8","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@teddyzhu/clipboard/-/clipboard-0.0.9.tgz","fileCount":11,"unpackedSize":10556473,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@teddyzhu%2fclipboard@0.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDdkV+ea5cA6gRh+GEWasJWIDO1G4i2+509MYIpyD27OwIhANHTYyKWGpDqGSIvknH6PLb9IF/sf3NGii0rSqZz/i7u"}],"size":4787717},"_npmUser":{"name":"anonymous","email":"teddyzhu15@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"teddyzhu15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clipboard_0.0.9_1772599480801_0.6091631801600839"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-04T04:44:41.109Z","publish_time":1772599481109,"_source_registry_name":"default","contributors":[]},"0.0.10":{"name":"@teddyzhu/clipboard","version":"0.0.10","description":"it's a node package with napi-rs wrapper clipboard-rs","main":"index.js","repository":{"type":"git","url":"git+https://github.com/Teddy-Zhu/node-clipboard-rs.git"},"license":"MIT","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"napi":{"binaryName":"clipboard","targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","aarch64-unknown-linux-gnu","aarch64-apple-darwin","aarch64-pc-windows-msvc"]},"engines":{"node":">= 10.16.0 < 11 || >= 11.8.0 < 12 || >= 12.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"artifacts":"napi artifacts","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","build:debug":"napi build --platform","format":"run-p format:prettier format:rs format:toml","format:prettier":"prettier . -w","format:toml":"taplo format","format:rs":"cargo fmt","lint":"oxlint .","prepublishOnly":"napi pre-publish -t npm","test":"ava","version":"napi version","prepare":"husky"},"devDependencies":{"@emnapi/core":"^1.4.3","@emnapi/runtime":"^1.4.3","@napi-rs/cli":"^3.0.0","@oxc-node/core":"^0.0.29","@taplo/cli":"^0.7.0","@tybys/wasm-util":"^0.10.0","@types/node":"^24.1.0","ava":"^6.4.0","chalk":"^5.4.1","husky":"^9.1.7","lint-staged":"^16.1.2","npm-run-all2":"^8.0.4","oxlint":"^1.3.0","prettier":"^3.6.0","tinybench":"^4.0.1","typescript":"^5.8.3"},"lint-staged":{"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"],"*.toml":["taplo format"]},"ava":{"extensions":{"ts":"module"},"timeout":"2m","workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"},"nodeArguments":["--import","@oxc-node/core/register"]},"prettier":{"printWidth":120,"semi":false,"trailingComma":"all","singleQuote":true,"arrowParens":"always"},"optionalDependencies":{"@teddyzhu/clipboard-win32-x64-msvc":"0.0.10","@teddyzhu/clipboard-darwin-x64":"0.0.10","@teddyzhu/clipboard-linux-x64-gnu":"0.0.10","@teddyzhu/clipboard-linux-arm64-gnu":"0.0.10","@teddyzhu/clipboard-darwin-arm64":"0.0.10","@teddyzhu/clipboard-win32-arm64-msvc":"0.0.10"},"packageManager":"pnpm@10.28.2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264","_id":"@teddyzhu/clipboard@0.0.10","gitHead":"0381b55d47bf7235b6302e791251f4dc48c6853e","types":"./index.d.ts","bugs":{"url":"https://github.com/Teddy-Zhu/node-clipboard-rs/issues"},"homepage":"https://github.com/Teddy-Zhu/node-clipboard-rs#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-u52kJBrniKndEA0rEsIndHObf6MGzRfilFVVXvYCXI5tz9mOIsP13NsxeVAjdAvOKpRd4bm9tZSwSEQFvKl4tQ==","shasum":"46989d99644c7aa92b4af60cbc43d16c3c0366cb","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@teddyzhu/clipboard/-/clipboard-0.0.10.tgz","fileCount":11,"unpackedSize":10564672,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@teddyzhu%2fclipboard@0.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEVLSGZnJ9Pz2SM2eVz74NKIWxLlzCHdznJc2QVf392NAiEAyhzOm8XrqNdUbr0b2m8B5K9WjmhCA0t2ftknRjVsMP0="}],"size":4792594},"_npmUser":{"name":"anonymous","email":"teddyzhu15@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"teddyzhu15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clipboard_0.0.10_1772602543045_0.4570052692302402"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-04T05:35:43.385Z","publish_time":1772602543385,"_source_registry_name":"default","contributors":[]}},"dist-tags":{"latest":"0.0.10"},"name":"@teddyzhu/clipboard","time":{"created":"2025-07-18T17:08:58.885Z","modified":"2026-03-04T05:35:59.467Z","0.0.2":"2025-07-18T17:08:41.219Z","0.0.3":"2025-07-19T02:45:17.609Z","0.0.4":"2025-07-21T04:49:26.781Z","0.0.5":"2025-07-25T09:22:28.705Z","0.0.6":"2026-02-28T04:29:08.495Z","0.0.7":"2026-03-04T02:45:34.032Z","0.0.8":"2026-03-04T03:20:17.883Z","0.0.9":"2026-03-04T04:44:41.109Z","0.0.10":"2026-03-04T05:35:43.385Z"},"readme":"# `@teddyzhu/clipboard`\n\n![https://github.com/Teddy-Zhu/node-clipboard-rs/actions](https://github.com/Teddy-Zhu/node-clipboard-rs/workflows/CI/badge.svg)\n\n> 基于 napi-rs 包装 clipboard-rs/wl-clipboard-rs 的 Node.js 剪贴板库，提供跨平台剪贴板操作功能\n\n## 特性\n\n- 🚀 跨平台支持（Windows、macOS、Linux）\n- 📝 支持多种数据格式：文本、HTML、 RTF、图片、文件列表\n- 🖼️ 完整的图片处理支持（PNG、JPEG、GIF、BMP）\n- 👂 剪贴板实时监听功能\n- 🐧 Linux Wayland 环境原生支持\n- ⚡ 同步和异步 API\n- 🎯 TypeScript 类型定义\n\n## 安装\n\n```bash\nnpm install @teddyzhu/clipboard\n```\n\n## 基本使用\n\n### 剪贴板管理器\n\n```javascript\nconst { ClipboardManager } = require('@teddyzhu/clipboard')\n\nconst clipboard = new ClipboardManager()\n\n// 文本操作\nclipboard.setText('Hello World!')\nconsole.log(clipboard.getText()) // \"Hello World!\"\n\n// HTML 操作\nclipboard.setHtml('<h1>Hello HTML</h1>')\nconsole.log(clipboard.getHtml())\n\n// 富文本（RTF）操作\nclipboard.setRichText('Hello RTF')\nconsole.log(clipboard.getRichText())\n\n// 检查格式支持\nconsole.log(clipboard.hasFormat('text')) // true\nconsole.log(clipboard.getAvailableFormats()) // ['text', 'html', ...]\n\n// 清空剪贴板\nclipboard.clear()\n```\n\n### 快速操作函数\n\n```javascript\nconst {\n  getClipboardText,\n  setClipboardText,\n  getClipboardHtml,\n  setClipboardHtml,\n  clearClipboard,\n  getFullClipboardData,\n} = require('@teddyzhu/clipboard')\n\n// 快速文本操作\nsetClipboardText('Hello World!')\nconsole.log(getClipboardText())\n\n// 快速 HTML 操作\nsetClipboardHtml('<p>Hello HTML</p>')\nconsole.log(getClipboardHtml())\n\n// 获取完整剪贴板数据\nconst data = getFullClipboardData()\nconsole.log('可用格式:', data.availableFormats)\nconsole.log('文本内容:', data.text)\nconsole.log('HTML内容:', data.html)\n\n// 清空剪贴板\nclearClipboard()\n```\n\n## 图片操作\n\n### 基本图片操作\n\n```javascript\nconst { ClipboardManager, getClipboardImageData } = require('@teddyzhu/clipboard')\nconst fs = require('fs')\n\nconst clipboard = new ClipboardManager()\n\n// 检查是否有图片\nif (clipboard.hasFormat('image')) {\n  // 获取图片详细信息\n  const imageData = clipboard.getImageData()\n  console.log('图片宽度:', imageData.width + 'px')\n  console.log('图片高度:', imageData.height + 'px')\n  console.log('图片大小:', imageData.size + ' bytes')\n\n  // 保存图片到文件\n  fs.writeFileSync('clipboard_image.png', imageData.data)\n\n  // 获取 base64 编码\n  const base64 = clipboard.getImageBase64()\n  console.log('Base64 长度:', base64.length)\n}\n\n// 从文件设置图片\nconst imageBuffer = fs.readFileSync('image.png')\nclipboard.setImageRaw(imageBuffer)\n\n// 从 base64 设置图片\nconst base64Data = fs.readFileSync('image.png', 'base64')\nclipboard.setImageBase64(base64Data)\n\n// 快速图片操作\nconst quickImageData = getClipboardImageData()\n```\n\n### 异步图片操作\n\n```javascript\nconst clipboard = new ClipboardManager()\n\n// 异步获取图片\ntry {\n  const imageData = await clipboard.getImageDataAsync()\n  console.log('异步获取图片:', imageData.width + 'x' + imageData.height)\n\n  const base64 = await clipboard.getImageBase64Async()\n  console.log('异步获取 Base64 长度:', base64.length)\n} catch (error) {\n  console.error('获取图片失败:', error.message)\n}\n\n// 异步文本操作\nawait clipboard.setTextAsync('Hello Async!')\nconst text = await clipboard.getTextAsync()\nconsole.log('异步文本:', text)\n```\n\n## 文件操作\n\n```javascript\nconst { ClipboardManager, getClipboardFiles, setClipboardFiles } = require('@teddyzhu/clipboard')\n\nconst clipboard = new ClipboardManager()\n\n// 设置文件列表\nconst files = ['/path/to/file1.txt', '/path/to/file2.pdf']\nclipboard.setFiles(files)\n\n// 获取文件列表\nif (clipboard.hasFormat('files')) {\n  const clipboardFiles = clipboard.getFiles()\n  console.log('剪贴板中的文件:', clipboardFiles)\n}\n\n// 快速文件操作\nsetClipboardFiles(['/path/to/document.pdf'])\nconst quickFiles = getClipboardFiles()\nconsole.log('快速获取文件:', quickFiles)\n```\n\n## 自定义格式数据\n\n```javascript\nconst clipboard = new ClipboardManager()\n\n// 设置自定义格式数据\nconst customData = Buffer.from('custom binary data')\nclipboard.setBuffer('application/custom', customData)\n\n// 获取自定义格式数据\ntry {\n  const data = clipboard.getBuffer('application/custom')\n  console.log('自定义数据:', data.toString())\n} catch (error) {\n  console.error('自定义格式不存在')\n}\n```\n\n## 复合内容操作\n\n```javascript\nconst { ClipboardManager, setClipboardContents } = require('@teddyzhu/clipboard')\n\nconst clipboard = new ClipboardManager()\n\n// 同时设置多种格式\nconst contents = {\n  text: 'Hello World!',\n  html: '<h1>Hello HTML</h1>',\n  rtf: 'Hello RTF',\n  // 可选：图片数据\n  // image: { width: 100, height: 100, size: 1000, data: imageBuffer },\n  // 可选：文件列表\n  // files: ['/path/to/file.txt']\n}\n\nclipboard.setContents(contents)\n\n// 快速设置复合内容\nsetClipboardContents({\n  text: 'Multi-format content',\n  html: '<p>Multi-format <strong>content</strong></p>',\n})\n```\n\n## 剪贴板监听\n\n### 基本监听\n\n```javascript\nconst { ClipboardListener } = require('@teddyzhu/clipboard')\n\nconst listener = new ClipboardListener()\n\nlistener.watch((data) => {\n  console.log('剪贴板数据变化:', data)\n  console.log('可用格式:', data.availableFormats)\n\n  if (data.text) {\n    console.log('文本:', data.text)\n  }\n\n  if (data.html) {\n    console.log('HTML:', data.html)\n  }\n\n  if (data.rtf) {\n    console.log('RTF:', data.rtf)\n  }\n\n  if (data.image) {\n    console.log('图片信息:')\n    console.log('  尺寸:', data.image.width + 'x' + data.image.height + 'px')\n    console.log('  大小:', data.image.size + ' bytes')\n    // 注意：图片数据在 data.image.data (Buffer) 中，不是 base64Data\n    console.log('  数据类型:', Buffer.isBuffer(data.image.data) ? 'Buffer' : typeof data.image.data)\n  }\n\n  if (data.files) {\n    console.log('文件:', data.files)\n  }\n})\n\n// 检查监听状态\nconsole.log('是否正在监听:', listener.isWatching())\nconsole.log('监听器类型:', listener.getListenerType()) // 'wayland' 或 'generic'\n\n// 停止监听\nsetTimeout(() => {\n  listener.stop()\n  console.log('已停止监听')\n}, 10000)\n```\n\n## Wayland 支持\n\n本库对 Linux Wayland 环境提供原生支持：\n\n```javascript\nconst { isWaylandClipboardAvailable, ClipboardListener } = require('@teddyzhu/clipboard')\n\n// 检查 Wayland 剪贴板是否可用\nif (isWaylandClipboardAvailable()) {\n  console.log('Wayland 剪贴板监听可用')\n\n  const listener = new ClipboardListener()\n  console.log('当前监听器类型:', listener.getListenerType()) // 在 Wayland 下会显示 'wayland'\n\n  // Wayland 监听器会自动处理不同的 MIME 类型\n  listener.watch((data) => {\n    console.log('Wayland 剪贴板变化:', data)\n  })\n} else {\n  console.log('使用通用剪贴板监听器')\n}\n```\n\n## API 参考\n\n### ClipboardManager 类\n\n| 方法                         | 描述                                   |\n| ---------------------------- | -------------------------------------- |\n| `getText()`                  | 获取纯文本内容                         |\n| `setText(text)`              | 设置纯文本内容                         |\n| `getHtml()`                  | 获取 HTML 内容                         |\n| `setHtml(html)`              | 设置 HTML 内容                         |\n| `getRichText()`              | 获取 RTF 富文本内容                    |\n| `setRichText(text)`          | 设置 RTF 富文本内容                    |\n| `getImageBase64()`           | 获取图片的 base64 编码                 |\n| `getImageData()`             | 获取图片详细信息（包含尺寸和原始数据） |\n| `setImageBase64(base64Data)` | 从 base64 设置图片                     |\n| `setImageRaw(buffer)`        | 从 Buffer 设置图片                     |\n| `getImageRaw()`              | 获取图片原始数据（Buffer）             |\n| `getFiles()`                 | 获取文件列表                           |\n| `setFiles(files)`            | 设置文件列表                           |\n| `setBuffer(format, buffer)`  | 设置自定义格式数据                     |\n| `getBuffer(format)`          | 获取自定义格式数据                     |\n| `setContents(contents)`      | 设置复合内容                           |\n| `hasFormat(format)`          | 检查是否包含指定格式                   |\n| `getAvailableFormats()`      | 获取所有可用格式                       |\n| `clear()`                    | 清空剪贴板                             |\n\n### 异步方法\n\n| 方法                    | 描述                 |\n| ----------------------- | -------------------- |\n| `getTextAsync()`        | 异步获取文本内容     |\n| `setTextAsync(text)`    | 异步设置文本内容     |\n| `getImageBase64Async()` | 异步获取图片 base64  |\n| `getImageDataAsync()`   | 异步获取图片详细信息 |\n\n### ClipboardListener 类\n\n| 方法                | 描述                                     |\n| ------------------- | ---------------------------------------- |\n| `watch(callback)`   | 开始监听剪贴板变化                       |\n| `stop()`            | 停止监听                                 |\n| `isWatching()`      | 检查是否正在监听                         |\n| `getListenerType()` | 获取监听器类型（'wayland' 或 'generic'） |\n\n### 快速操作函数\n\n| 函数                                 | 描述                        |\n| ------------------------------------ | --------------------------- |\n| `getClipboardText()`                 | 快速获取文本                |\n| `setClipboardText(text)`             | 快速设置文本                |\n| `getClipboardHtml()`                 | 快速获取 HTML               |\n| `setClipboardHtml(html)`             | 快速设置 HTML               |\n| `getClipboardImage()`                | 快速获取图片（base64）      |\n| `getClipboardImageData()`            | 快速获取图片详细信息        |\n| `setClipboardImage(base64Data)`      | 快速设置图片（base64）      |\n| `setClipboardImageRaw(buffer)`       | 快速设置图片（Buffer）      |\n| `getClipboardImageRaw()`             | 快速获取图片原始数据        |\n| `getClipboardFiles()`                | 快速获取文件列表            |\n| `setClipboardFiles(files)`           | 快速设置文件列表            |\n| `getClipboardBuffer(format)`         | 快速获取自定义格式数据      |\n| `setClipboardBuffer(format, buffer)` | 快速设置自定义格式数据      |\n| `setClipboardContents(contents)`     | 快速设置复合内容            |\n| `getFullClipboardData()`             | 快速获取完整剪贴板数据      |\n| `clearClipboard()`                   | 快速清空剪贴板              |\n| `isWaylandClipboardAvailable()`      | 检查 Wayland 剪贴板是否可用 |\n\n## 数据结构\n\n### ClipboardData\n\n```typescript\ninterface ClipboardData {\n  availableFormats: string[] // 可用的格式列表\n  text?: string // 纯文本内容\n  rtf?: string // RTF 富文本内容\n  html?: string // HTML 内容\n  image?: ImageData // 图片数据\n  files?: string[] // 文件列表\n}\n```\n\n### ImageData\n\n```typescript\ninterface ImageData {\n  width: number // 图片宽度（像素）\n  height: number // 图片高度（像素）\n  size: number // 图片数据大小（字节）\n  data: Buffer // 图片原始数据（Buffer）\n}\n```\n\n## 注意事项\n\n1. **图片格式**：所有图片都会转换为 PNG 格式存储\n2. **文件路径**：文件路径需要是绝对路径\n3. **自定义格式**：自定义格式的 MIME 类型需要遵循标准\n4. **Wayland 支持**：在 Wayland 环境下会自动使用专用监听器以获得更好的性能\n5. **异步操作**：对于可能耗时的操作，推荐使用异步版本\n6. **错误处理**：所有方法都可能抛出异常，请适当处理错误\n\n## 许可证\n\nMIT","users":{}}