(function(n,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("@kthksgy/procedure-call")):typeof define=="function"&&define.amd?define(["exports","@kthksgy/procedure-call"],e):(n=typeof globalThis<"u"?globalThis:n||self,e(n.KthksgyProcedureCallReactNativeWebView={},n.KthksgyProcedureCall))})(this,function(n,e){"use strict";const s="__pc_rnwv_callWebViewHost__",a="__pc_rnwv_webViewInjectionHandler__";async function l(t,i,o){if(typeof window=="object"&&window!==null)return e.callTarget(window.ReactNativeWebView,t,i,o);throw console.error(`[${e.NAME}] \`window.ReactNativeWebView.postMessage()\`が初期化されていないため、手続き\`${t}\`のリクエストを送信できません。`),new e.ProcedureCallError(e.PROCEDURE_CALL_ERROR_CODE.UNINITIALIZED)}function _(){return typeof window=="object"&&window!==null&&!!window.ReactNativeWebView}async function f(t){const i=function(o,w){typeof window=="object"&&window!==null&&typeof window.ReactNativeWebView=="object"&&window.ReactNativeWebView!==null&&typeof window.ReactNativeWebView.postMessage=="function"?window.ReactNativeWebView.postMessage(o):console.error(`[${e.NAME}] \`window.ReactNativeWebView.postMessage()\`が初期化されていないため、手続き\`${w.name}\`のレスポンスを送信できません。`)};await e.handler(t,i)}function b(){return typeof window=="object"&&window!==null?(window[s]=l,window[a]=f):console.warn(`[${e.NAME}] \`window\`が存在しません。`),E}function E(){typeof window=="object"&&window!==null?(window[s]=void 0,window[a]=void 0):console.warn(`[${e.NAME}] \`window\`が存在しません。`)}async function u(t,i,o,w){if(typeof t=="object"&&t!==null&&typeof t.injectJavaScript=="function"){const r=function(c){t.injectJavaScript(`window[${e.generateTemplateLiteralString(a)}](${e.generateTemplateLiteralString(c)});true;`)};return e.call(i,o,r,w)}else throw console.error(`[${e.NAME}] WebViewが初期化されていないため、手続き\`${i}\`のリクエストを送信できません。`),new e.ProcedureCallError(e.PROCEDURE_CALL_ERROR_CODE.UNINITIALIZED)}function g(){return e.isDefaultProcedureRegistered("bypassConsole")||e.registerDefaultProcedure("bypassConsole",async function(t){console[t.level]("",t.content)}),`console = {...console, ...Object.fromEntries(['debug', 'error', 'info', 'log', 'warn'].map(function (level) { return [level, function (...parameters) { window[${e.generateTemplateLiteralString(s)}]('bypassConsole', { content: parameters.map(function (parameter) { return String((parameter !== null && typeof parameter === 'object') ? JSON.stringify(parameter) : parameter); }).join(' '), level, }); }]; }) )};`}function W(t){return async function(i){const o=i.nativeEvent.data,w=function(r,c){const d=t();d?d.injectJavaScript(`window[${e.generateTemplateLiteralString(a)}](${e.generateTemplateLiteralString(r)});true;`):console.error(`[${e.NAME}] WebViewが初期化されていないため、手続き\`${c.name}\`の結果を送信できません。`)};await e.handler(o,w)}}const R="0.0.1";n.PROCEDURE_CALL_KEY_CALL_WEB_VIEW_HOST=s,n.PROCEDURE_CALL_KEY_WEB_VIEW_INJECTION_HANDLER=a,n.VERSION=R,n.callWebViewGuest=u,n.callWebViewHost=l,n.generateBypassConsoleInstaller=g,n.generateWebViewMessageEventHandler=W,n.isWebViewGuest=_,n.startWebViewInjectionHandler=b,n.stopWebViewInjectionHandler=E,n.webViewInjectionHandler=f,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}); //# sourceMappingURL=index.umd.cjs.map