UNPKG

react-grecaptcha-v3

Version:

Google Recaptcha V3 for React.js based application. Keep website performance high while prioritizing security.

52 lines 2.01 kB
function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return !!right[Symbol.hasInstance](left); } else { return left instanceof right; } } import { useCallback } from "react"; import subscribeEvent from "./subscribeEvent"; var unknownToError = function(err) { var fallbackMsg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "Unexpected error"; var msg = _instanceof(err, Error) ? err.message : typeof err === "string" ? err : fallbackMsg; return new Error(msg); }; var useHandleNextInQueue = function(siteKey, queueRef) { return useCallback(function() { var _loop = function() { var item = queueRef.current.shift(); if (item === void 0) { return "break"; } var action = item.action, onComplete = item.onComplete, onError = item.onError; subscribeEvent(function() { var _window_grecaptcha; var _ref; var execute = (_ref = (_window_grecaptcha = window.grecaptcha) === null || _window_grecaptcha === void 0 ? void 0 : _window_grecaptcha.execute) !== null && _ref !== void 0 ? _ref : null; if (execute !== null) { execute(siteKey, { action: action }).then(onComplete).catch(function(err) { onError(unknownToError(err)); }); return; } onError(new Error("Bad execute().")); }); }; if (siteKey === null) { return; } do { var _ret = _loop(); if (_ret === "break") break; }while (true); }, [ queueRef, siteKey ]); }; var useHandleNextInQueue_default = useHandleNextInQueue; export { useHandleNextInQueue_default as default }; //# sourceMappingURL=useHandleNextInQueue.js.map