UNPKG

991 BJavaScriptView Raw
1"use strict";
2/**
3 * useClipboard.ts
4 * This code is inspired from the @react-native-community/hooks package
5 * All credit goes to author of the useClipboard custom hooks.
6 * https://github.com/react-native-community/hooks
7 */
8Object.defineProperty(exports, "__esModule", { value: true });
9var react_1 = require("react");
10var Clipboard_1 = require("./Clipboard");
11var listeners = new Set();
12function setString(content) {
13 Clipboard_1.Clipboard.setString(content);
14 listeners.forEach(function (listener) { return listener(content); });
15}
16exports.useClipboard = function () {
17 var _a = react_1.useState(''), data = _a[0], updateClipboardData = _a[1];
18 react_1.useEffect(function () {
19 Clipboard_1.Clipboard.getString().then(updateClipboardData);
20 }, []);
21 react_1.useEffect(function () {
22 listeners.add(updateClipboardData);
23 return function () {
24 listeners.delete(updateClipboardData);
25 };
26 }, []);
27 return [data, setString];
28};