{"version":3,"file":"clipboard.cjs","names":[],"sources":["../src/macros/env.ts","../src/std/clipboard/mina_clipboard.ts","../src/std/clipboard/web_clipboard.ts","../src/std/clipboard/mod.ts"],"sourcesContent":["/**\n * @internal\n * 小游戏环境宏模块。\n */\n\n/**\n * 小游戏环境宏。\n *\n * 可通过打包工具在 build 时修改，如 esbuild webpack vite 等。\n */\ndeclare const __MINIGAME_STD_MINA__: boolean;\n\n/**\n * 如果在小游戏环境中返回 true，否则返回 false。\n */\nexport const IS_MINA = __MINIGAME_STD_MINA__;\n","/**\n * @internal\n * 小游戏平台的剪贴板操作实现。\n */\n\nimport { RESULT_VOID, type AsyncIOResult, type AsyncVoidIOResult } from 'happy-rusty';\nimport { asyncIOResultify } from '../utils/mod.ts';\n\n/**\n * 异步写入文本数据到剪贴板。\n * @param data - 需要写入的文本数据。\n * @returns 写入操作的结果。\n */\nexport async function writeText(data: string): AsyncVoidIOResult {\n    const setRes = await asyncIOResultify(wx.setClipboardData)({\n        data,\n    });\n\n    return setRes.and(RESULT_VOID);\n}\n\n/**\n * 异步读取剪贴板文本数据。\n * @returns 读取操作的结果。\n */\nexport async function readText(): AsyncIOResult<string> {\n    const getRes = await asyncIOResultify(wx.getClipboardData)();\n\n    return getRes.map(x => x.data);\n}","/**\n * Web 平台的剪贴板操作实现。\n *\n * @internal\n */\n\nimport { tryAsyncResult, type AsyncIOResult, type AsyncVoidIOResult } from 'happy-rusty';\n\n/**\n * 异步写入文本数据到剪贴板。\n * @param data - 需要写入的文本数据。\n * @returns 写入操作的结果。\n */\nexport function writeText(data: string): AsyncVoidIOResult {\n    return tryAsyncResult(navigator.clipboard.writeText(data));\n}\n\n/**\n * 异步读取剪贴板文本数据。\n * @returns 读取操作的结果。\n */\nexport function readText(): AsyncIOResult<string> {\n    return tryAsyncResult(navigator.clipboard.readText());\n}","/**\n * 剪贴板操作模块，提供读取和写入剪贴板文本的功能。\n * @module clipboard\n */\nimport type { AsyncIOResult, AsyncVoidIOResult } from 'happy-rusty';\nimport { IS_MINA } from '../../macros/env.ts';\nimport { validateString } from '../internal/mod.ts';\nimport { readText as minaReadText, writeText as minaWriteText } from './mina_clipboard.ts';\nimport { readText as webReadText, writeText as webWriteText } from './web_clipboard.ts';\n\n/**\n * 异步写入文本数据到剪贴板。\n * @param data - 需要写入的文本数据。\n * @returns 写入操作的结果。\n * @since 1.0.0\n * @example\n * ```ts\n * const result = await writeText('Hello, World!');\n * if (result.isOk()) {\n *     console.log('文本已复制到剪贴板');\n * } else {\n *     console.error('复制失败:', result.unwrapErr());\n * }\n * ```\n */\nexport function writeText(data: string): AsyncVoidIOResult {\n    const dataRes = validateString(data, 'data');\n    if (dataRes.isErr()) return Promise.resolve(dataRes);\n\n    return (IS_MINA ? minaWriteText : webWriteText)(data);\n}\n\n/**\n * 异步读取剪贴板文本数据。\n * @returns 读取操作的结果。\n * @since 1.0.0\n * @example\n * ```ts\n * const result = await readText();\n * if (result.isOk()) {\n *     console.log('剪贴板内容:', result.unwrap());\n * } else {\n *     console.error('读取失败:', result.unwrapErr());\n * }\n * ```\n */\nexport function readText(): AsyncIOResult<string> {\n    return (IS_MINA ? minaReadText : webReadText)();\n}"],"mappings":";;;;;;;;AAeA,MAAa,UAAU;;;;;;;;;;;;ACFvB,eAAsB,YAAU,MAAiC;CAK7D,QAAO,OAAA,GAAA,qBAAA,iBAAA,CAJ+B,GAAG,gBAAgB,CAAC,CAAC,EACvD,KACJ,CAAC,EAAA,CAEa,IAAI,YAAA,WAAW;AACjC;;;;;AAMA,eAAsB,aAAkC;CAGpD,QAAO,OAAA,GAAA,qBAAA,iBAAA,CAF+B,GAAG,gBAAgB,CAAC,CAAC,EAAA,CAE7C,KAAI,MAAK,EAAE,IAAI;AACjC;;;;;;;;;;;;;AChBA,SAAgB,YAAU,MAAiC;CACvD,QAAA,GAAA,YAAA,eAAA,CAAsB,UAAU,UAAU,UAAU,IAAI,CAAC;AAC7D;;;;;AAMA,SAAgB,aAAkC;CAC9C,QAAA,GAAA,YAAA,eAAA,CAAsB,UAAU,UAAU,SAAS,CAAC;AACxD;;;;;;;;;;;;;;;;;;ACEA,SAAgB,UAAU,MAAiC;CACvD,MAAM,WAAA,GAAA,wBAAA,eAAA,CAAyB,MAAM,MAAM;CAC3C,IAAI,QAAQ,MAAM,GAAG,OAAO,QAAQ,QAAQ,OAAO;CAEnD,QAAQ,UAAU,cAAgB,YAAA,CAAc,IAAI;AACxD;;;;;;;;;;;;;;;AAgBA,SAAgB,WAAkC;CAC9C,QAAQ,UAAU,aAAe,WAAA,CAAa;AAClD"}