{"version":3,"sources":["/home/runner/work/react-grecaptcha-v3/react-grecaptcha-v3/dist/useHandleNextInQueue.cjs","../src/useHandleNextInQueue.ts"],"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","useHandleNextInQueue_exports","default","useHandleNextInQueue_default","module","exports","import_react","require","import_subscribeEvent","unknownToError","err","fallbackMsg","msg","Error","message","useHandleNextInQueue","siteKey","queueRef","useCallback","item","current","shift","action","onComplete","onError","subscribeEvent","window","execute","grecaptcha","then","catch"],"mappings":"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","sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n  for (var name in all)\n    __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n  if (from && typeof from === \"object\" || typeof from === \"function\") {\n    for (let key of __getOwnPropNames(from))\n      if (!__hasOwnProp.call(to, key) && key !== except)\n        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n  }\n  return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n  // If the importer is in node compatibility mode or this is not an ESM\n  // file that has been converted to a CommonJS file using a Babel-\n  // compatible transform (i.e. \"__esModule\" has not been set), then set\n  // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n  isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n  mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useHandleNextInQueue_exports = {};\n__export(useHandleNextInQueue_exports, {\n  default: () => useHandleNextInQueue_default\n});\nmodule.exports = __toCommonJS(useHandleNextInQueue_exports);\nvar import_react = require(\"react\");\nvar import_subscribeEvent = __toESM(require(\"./subscribeEvent\"), 1);\nconst unknownToError = (err, fallbackMsg = \"Unexpected error\") => {\n  const msg = err instanceof Error ? err.message : typeof err === \"string\" ? err : fallbackMsg;\n  return new Error(msg);\n};\nconst useHandleNextInQueue = (siteKey, queueRef) => (0, import_react.useCallback)(() => {\n  if (siteKey === null) {\n    return;\n  }\n  do {\n    const item = queueRef.current.shift();\n    if (item === void 0) {\n      break;\n    }\n    const { action, onComplete, onError } = item;\n    (0, import_subscribeEvent.default)(() => {\n      const execute = window.grecaptcha?.execute ?? null;\n      if (execute !== null) {\n        execute(siteKey, { action }).then(onComplete).catch((err) => {\n          onError(unknownToError(err));\n        });\n        return;\n      }\n      onError(new Error(\"Bad execute().\"));\n    });\n  } while (true);\n}, [queueRef, siteKey]);\nvar useHandleNextInQueue_default = useHandleNextInQueue;\n","import { type RefObject, useCallback } from 'react'\nimport subscribeEvent from './subscribeEvent'\nimport type { QueueItem } from './useQueueRef'\nconst unknownToError = (\n    err: unknown,\n    fallbackMsg = 'Unexpected error'\n): Error => {\n    const msg =\n        err instanceof Error\n            ? err.message\n            : typeof err === 'string'\n              ? err\n              : fallbackMsg\n    return new Error(msg)\n}\n\nconst useHandleNextInQueue = (\n    siteKey: string | null,\n    queueRef: RefObject<QueueItem[]>\n): (() => void) =>\n    useCallback(() => {\n        if (siteKey === null) {\n            return\n        }\n        do {\n            const item = queueRef.current.shift()\n            if (item === undefined) {\n                break\n            }\n            const { action, onComplete, onError } = item\n\n            subscribeEvent(() => {\n                const execute = window.grecaptcha?.execute ?? null\n                if (execute !== null) {\n                    execute(siteKey, { action })\n                        .then(onComplete)\n                        .catch((err: unknown) => {\n                            onError(unknownToError(err))\n                        })\n                    return\n                }\n                onError(new Error('Bad execute().'))\n            })\n        } while (true)\n    }, [queueRef, siteKey])\nexport default useHandleNextInQueue\n"]}