UNPKG

taro-hooks

Version:
50 lines (49 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var taro_1 = require("@tarojs/taro"); var core_1 = require("@taro-hooks/core"); var shared_1 = require("@taro-hooks/shared"); var usePromise_1 = tslib_1.__importDefault(require("../usePromise")); function useClipboardData() { var _ref = (0, core_1.useState)(), clipboardData = _ref[0], changeClipborardData = _ref[1]; var getAsync = (0, usePromise_1["default"])(taro_1.getClipboardData); var setAsync = (0, usePromise_1["default"])(taro_1.setClipboardData); var set = function set(data) { var clipboard = data; if ((0, shared_1.strictOf)(data, 'Object') || (0, shared_1.isUndef)(data) || (0, shared_1.strictOf)(data, 'Null')) { clipboard = JSON.stringify(data); } else if (!(0, shared_1.isString)(data)) { clipboard = data.toString(); } changeClipborardData(clipboard); return setAsync({ data: clipboard }); }; var get = function get() { return getAsync().then(function (_ref2) { var data = _ref2.data; var clipboard = data; try { clipboard = JSON.parse(data); } catch (e) { (0, shared_1.logError)(e); } changeClipborardData(clipboard); return clipboard; }); }; (0, core_1.useEffect)(function () { get(); }, []); return [clipboardData, { set: set, get: get }]; } exports["default"] = useClipboardData;