UNPKG

minigame-std

Version:

Cross-platform standard library for WeChat minigame and web browsers with unified APIs for crypto, fs, fetch, storage, and more.

96 lines (95 loc) 2.65 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); let src_std_internal_mod_ts = require("./_internal.cjs"); let happy_rusty = require("happy-rusty"); let src_std_utils_mod_ts = require("./utils.cjs"); //#region src/macros/env.ts /** * 如果在小游戏环境中返回 true,否则返回 false。 */ const IS_MINA = __MINIGAME_STD_MINA__; //#endregion //#region src/std/clipboard/mina_clipboard.ts /** * @internal * 小游戏平台的剪贴板操作实现。 */ /** * 异步写入文本数据到剪贴板。 * @param data - 需要写入的文本数据。 * @returns 写入操作的结果。 */ async function writeText$2(data) { return (await (0, src_std_utils_mod_ts.asyncIOResultify)(wx.setClipboardData)({ data })).and(happy_rusty.RESULT_VOID); } /** * 异步读取剪贴板文本数据。 * @returns 读取操作的结果。 */ async function readText$2() { return (await (0, src_std_utils_mod_ts.asyncIOResultify)(wx.getClipboardData)()).map((x) => x.data); } //#endregion //#region src/std/clipboard/web_clipboard.ts /** * Web 平台的剪贴板操作实现。 * * @internal */ /** * 异步写入文本数据到剪贴板。 * @param data - 需要写入的文本数据。 * @returns 写入操作的结果。 */ function writeText$1(data) { return (0, happy_rusty.tryAsyncResult)(navigator.clipboard.writeText(data)); } /** * 异步读取剪贴板文本数据。 * @returns 读取操作的结果。 */ function readText$1() { return (0, happy_rusty.tryAsyncResult)(navigator.clipboard.readText()); } //#endregion //#region src/std/clipboard/mod.ts /** * 异步写入文本数据到剪贴板。 * @param data - 需要写入的文本数据。 * @returns 写入操作的结果。 * @since 1.0.0 * @example * ```ts * const result = await writeText('Hello, World!'); * if (result.isOk()) { * console.log('文本已复制到剪贴板'); * } else { * console.error('复制失败:', result.unwrapErr()); * } * ``` */ function writeText(data) { const dataRes = (0, src_std_internal_mod_ts.validateString)(data, "data"); if (dataRes.isErr()) return Promise.resolve(dataRes); return (IS_MINA ? writeText$2 : writeText$1)(data); } /** * 异步读取剪贴板文本数据。 * @returns 读取操作的结果。 * @since 1.0.0 * @example * ```ts * const result = await readText(); * if (result.isOk()) { * console.log('剪贴板内容:', result.unwrap()); * } else { * console.error('读取失败:', result.unwrapErr()); * } * ``` */ function readText() { return (IS_MINA ? readText$2 : readText$1)(); } //#endregion exports.readText = readText; exports.writeText = writeText; //# sourceMappingURL=clipboard.cjs.map