@tooee/clipboard 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clipboard.d.ts +1 -0
- package/dist/clipboard.d.ts.map +1 -1
- package/dist/clipboard.js +53 -0
- package/dist/clipboard.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/clipboard.ts +58 -0
- package/src/index.ts +1 -1
package/dist/clipboard.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export interface ClipboardContent {
|
|
|
5
5
|
export declare function readClipboard(): Promise<ClipboardContent | undefined>;
|
|
6
6
|
export declare function readClipboardText(): Promise<string | undefined>;
|
|
7
7
|
export declare function copyToClipboard(text: string): Promise<void>;
|
|
8
|
+
export declare function copyToPrimary(text: string): Promise<void>;
|
|
8
9
|
//# sourceMappingURL=clipboard.d.ts.map
|
package/dist/clipboard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CA+D3E;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA6BrE;AAyED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE"}
|
|
1
|
+
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CA+D3E;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA6BrE;AAyED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE;AAwDD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/D"}
|
package/dist/clipboard.js
CHANGED
|
@@ -155,4 +155,57 @@ function getCopyMethod() {
|
|
|
155
155
|
export async function copyToClipboard(text) {
|
|
156
156
|
await getCopyMethod()(text);
|
|
157
157
|
}
|
|
158
|
+
let primaryCopyMethod = null;
|
|
159
|
+
function getPrimaryCopyMethod() {
|
|
160
|
+
if (primaryCopyMethod)
|
|
161
|
+
return primaryCopyMethod;
|
|
162
|
+
const os = platform();
|
|
163
|
+
if (os === "linux") {
|
|
164
|
+
if (process.env["WAYLAND_DISPLAY"] && Bun.which("wl-copy")) {
|
|
165
|
+
primaryCopyMethod = async (text) => {
|
|
166
|
+
const proc = Bun.spawn(["wl-copy", "--primary"], {
|
|
167
|
+
stdin: "pipe",
|
|
168
|
+
stdout: "ignore",
|
|
169
|
+
stderr: "ignore",
|
|
170
|
+
});
|
|
171
|
+
proc.stdin.write(text);
|
|
172
|
+
proc.stdin.end();
|
|
173
|
+
await proc.exited.catch(() => undefined);
|
|
174
|
+
};
|
|
175
|
+
return primaryCopyMethod;
|
|
176
|
+
}
|
|
177
|
+
if (Bun.which("xclip")) {
|
|
178
|
+
primaryCopyMethod = async (text) => {
|
|
179
|
+
const proc = Bun.spawn(["xclip", "-selection", "primary"], {
|
|
180
|
+
stdin: "pipe",
|
|
181
|
+
stdout: "ignore",
|
|
182
|
+
stderr: "ignore",
|
|
183
|
+
});
|
|
184
|
+
proc.stdin.write(text);
|
|
185
|
+
proc.stdin.end();
|
|
186
|
+
await proc.exited.catch(() => undefined);
|
|
187
|
+
};
|
|
188
|
+
return primaryCopyMethod;
|
|
189
|
+
}
|
|
190
|
+
if (Bun.which("xsel")) {
|
|
191
|
+
primaryCopyMethod = async (text) => {
|
|
192
|
+
const proc = Bun.spawn(["xsel", "--primary", "--input"], {
|
|
193
|
+
stdin: "pipe",
|
|
194
|
+
stdout: "ignore",
|
|
195
|
+
stderr: "ignore",
|
|
196
|
+
});
|
|
197
|
+
proc.stdin.write(text);
|
|
198
|
+
proc.stdin.end();
|
|
199
|
+
await proc.exited.catch(() => undefined);
|
|
200
|
+
};
|
|
201
|
+
return primaryCopyMethod;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
// macOS/Windows don't have PRIMARY selection — fall back to clipboard
|
|
205
|
+
primaryCopyMethod = getCopyMethod();
|
|
206
|
+
return primaryCopyMethod;
|
|
207
|
+
}
|
|
208
|
+
export async function copyToPrimary(text) {
|
|
209
|
+
await getPrimaryCopyMethod()(text);
|
|
210
|
+
}
|
|
158
211
|
//# sourceMappingURL=clipboard.js.map
|
package/dist/clipboard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { copyToClipboard, readClipboard, readClipboardText } from "./clipboard.js";
|
|
1
|
+
export { copyToClipboard, copyToPrimary, readClipboard, readClipboardText } from "./clipboard.js";
|
|
2
2
|
export type { ClipboardContent } from "./clipboard.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACjG,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { copyToClipboard, readClipboard, readClipboardText } from "./clipboard.js";
|
|
1
|
+
export { copyToClipboard, copyToPrimary, readClipboard, readClipboardText } from "./clipboard.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA"}
|
package/package.json
CHANGED
package/src/clipboard.ts
CHANGED
|
@@ -177,3 +177,61 @@ function getCopyMethod(): (text: string) => Promise<void> {
|
|
|
177
177
|
export async function copyToClipboard(text: string): Promise<void> {
|
|
178
178
|
await getCopyMethod()(text)
|
|
179
179
|
}
|
|
180
|
+
|
|
181
|
+
let primaryCopyMethod: ((text: string) => Promise<void>) | null = null
|
|
182
|
+
|
|
183
|
+
function getPrimaryCopyMethod(): (text: string) => Promise<void> {
|
|
184
|
+
if (primaryCopyMethod) return primaryCopyMethod
|
|
185
|
+
|
|
186
|
+
const os = platform()
|
|
187
|
+
|
|
188
|
+
if (os === "linux") {
|
|
189
|
+
if (process.env["WAYLAND_DISPLAY"] && Bun.which("wl-copy")) {
|
|
190
|
+
primaryCopyMethod = async (text: string) => {
|
|
191
|
+
const proc = Bun.spawn(["wl-copy", "--primary"], {
|
|
192
|
+
stdin: "pipe",
|
|
193
|
+
stdout: "ignore",
|
|
194
|
+
stderr: "ignore",
|
|
195
|
+
})
|
|
196
|
+
proc.stdin.write(text)
|
|
197
|
+
proc.stdin.end()
|
|
198
|
+
await proc.exited.catch(() => undefined)
|
|
199
|
+
}
|
|
200
|
+
return primaryCopyMethod
|
|
201
|
+
}
|
|
202
|
+
if (Bun.which("xclip")) {
|
|
203
|
+
primaryCopyMethod = async (text: string) => {
|
|
204
|
+
const proc = Bun.spawn(["xclip", "-selection", "primary"], {
|
|
205
|
+
stdin: "pipe",
|
|
206
|
+
stdout: "ignore",
|
|
207
|
+
stderr: "ignore",
|
|
208
|
+
})
|
|
209
|
+
proc.stdin.write(text)
|
|
210
|
+
proc.stdin.end()
|
|
211
|
+
await proc.exited.catch(() => undefined)
|
|
212
|
+
}
|
|
213
|
+
return primaryCopyMethod
|
|
214
|
+
}
|
|
215
|
+
if (Bun.which("xsel")) {
|
|
216
|
+
primaryCopyMethod = async (text: string) => {
|
|
217
|
+
const proc = Bun.spawn(["xsel", "--primary", "--input"], {
|
|
218
|
+
stdin: "pipe",
|
|
219
|
+
stdout: "ignore",
|
|
220
|
+
stderr: "ignore",
|
|
221
|
+
})
|
|
222
|
+
proc.stdin.write(text)
|
|
223
|
+
proc.stdin.end()
|
|
224
|
+
await proc.exited.catch(() => undefined)
|
|
225
|
+
}
|
|
226
|
+
return primaryCopyMethod
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// macOS/Windows don't have PRIMARY selection — fall back to clipboard
|
|
231
|
+
primaryCopyMethod = getCopyMethod()
|
|
232
|
+
return primaryCopyMethod
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export async function copyToPrimary(text: string): Promise<void> {
|
|
236
|
+
await getPrimaryCopyMethod()(text)
|
|
237
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { copyToClipboard, readClipboard, readClipboardText } from "./clipboard.js"
|
|
1
|
+
export { copyToClipboard, copyToPrimary, readClipboard, readClipboardText } from "./clipboard.js"
|
|
2
2
|
export type { ClipboardContent } from "./clipboard.js"
|