{"version":3,"sources":["node_modules/@capacitor/core/dist/index.js"],"sourcesContent":["/*! Capacitor: https://capacitorjs.com/ - MIT License */\nconst createCapacitorPlatforms = win => {\n const defaultPlatformMap = new Map();\n defaultPlatformMap.set('web', {\n name: 'web'\n });\n const capPlatforms = win.CapacitorPlatforms || {\n currentPlatform: {\n name: 'web'\n },\n platforms: defaultPlatformMap\n };\n const addPlatform = (name, platform) => {\n capPlatforms.platforms.set(name, platform);\n };\n const setPlatform = name => {\n if (capPlatforms.platforms.has(name)) {\n capPlatforms.currentPlatform = capPlatforms.platforms.get(name);\n }\n };\n capPlatforms.addPlatform = addPlatform;\n capPlatforms.setPlatform = setPlatform;\n return capPlatforms;\n};\nconst initPlatforms = win => win.CapacitorPlatforms = createCapacitorPlatforms(win);\n/**\n * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead\n */\nconst CapacitorPlatforms = /*#__PURE__*/initPlatforms(typeof globalThis !== 'undefined' ? globalThis : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {});\n/**\n * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead\n */\nconst addPlatform = CapacitorPlatforms.addPlatform;\n/**\n * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead\n */\nconst setPlatform = CapacitorPlatforms.setPlatform;\nconst legacyRegisterWebPlugin = (cap, webPlugin) => {\n var _a;\n const config = webPlugin.config;\n const Plugins = cap.Plugins;\n if (!(config === null || config === void 0 ? void 0 : config.name)) {\n // TODO: add link to upgrade guide\n throw new Error(`Capacitor WebPlugin is using the deprecated \"registerWebPlugin()\" function, but without the config. Please use \"registerPlugin()\" instead to register this web plugin.\"`);\n }\n // TODO: add link to upgrade guide\n console.warn(`Capacitor plugin \"${config.name}\" is using the deprecated \"registerWebPlugin()\" function`);\n if (!Plugins[config.name] || ((_a = config === null || config === void 0 ? void 0 : config.platforms) === null || _a === void 0 ? void 0 : _a.includes(cap.getPlatform()))) {\n // Add the web plugin into the plugins registry if there already isn't\n // an existing one. If it doesn't already exist, that means\n // there's no existing native implementation for it.\n // - OR -\n // If we already have a plugin registered (meaning it was defined in the native layer),\n // then we should only overwrite it if the corresponding web plugin activates on\n // a certain platform. For example: Geolocation uses the WebPlugin on Android but not iOS\n Plugins[config.name] = webPlugin;\n }\n};\nvar ExceptionCode = /*#__PURE__*/function (ExceptionCode) {\n /**\n * API is not implemented.\n *\n * This usually means the API can't be used because it is not implemented for\n * the current platform.\n */\n ExceptionCode[\"Unimplemented\"] = \"UNIMPLEMENTED\";\n /**\n * API is not available.\n *\n * This means the API can't be used right now because:\n * - it is currently missing a prerequisite, such as network connectivity\n * - it requires a particular platform or browser version\n */\n ExceptionCode[\"Unavailable\"] = \"UNAVAILABLE\";\n return ExceptionCode;\n}(ExceptionCode || {});\nclass CapacitorException extends Error {\n constructor(message, code, data) {\n super(message);\n this.message = message;\n this.code = code;\n this.data = data;\n }\n}\nconst getPlatformId = win => {\n var _a, _b;\n if (win === null || win === void 0 ? void 0 : win.androidBridge) {\n return 'android';\n } else if ((_b = (_a = win === null || win === void 0 ? void 0 : win.webkit) === null || _a === void 0 ? void 0 : _a.messageHandlers) === null || _b === void 0 ? void 0 : _b.bridge) {\n return 'ios';\n } else {\n return 'web';\n }\n};\nconst createCapacitor = win => {\n var _a, _b, _c, _d, _e;\n const capCustomPlatform = win.CapacitorCustomPlatform || null;\n const cap = win.Capacitor || {};\n const Plugins = cap.Plugins = cap.Plugins || {};\n /**\n * @deprecated Use `capCustomPlatform` instead, default functions like registerPlugin will function with the new object.\n */\n const capPlatforms = win.CapacitorPlatforms;\n const defaultGetPlatform = () => {\n return capCustomPlatform !== null ? capCustomPlatform.name : getPlatformId(win);\n };\n const getPlatform = ((_a = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _a === void 0 ? void 0 : _a.getPlatform) || defaultGetPlatform;\n const defaultIsNativePlatform = () => getPlatform() !== 'web';\n const isNativePlatform = ((_b = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _b === void 0 ? void 0 : _b.isNativePlatform) || defaultIsNativePlatform;\n const defaultIsPluginAvailable = pluginName => {\n const plugin = registeredPlugins.get(pluginName);\n if (plugin === null || plugin === void 0 ? void 0 : plugin.platforms.has(getPlatform())) {\n // JS implementation available for the current platform.\n return true;\n }\n if (getPluginHeader(pluginName)) {\n // Native implementation available.\n return true;\n }\n return false;\n };\n const isPluginAvailable = ((_c = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _c === void 0 ? void 0 : _c.isPluginAvailable) || defaultIsPluginAvailable;\n const defaultGetPluginHeader = pluginName => {\n var _a;\n return (_a = cap.PluginHeaders) === null || _a === void 0 ? void 0 : _a.find(h => h.name === pluginName);\n };\n const getPluginHeader = ((_d = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _d === void 0 ? void 0 : _d.getPluginHeader) || defaultGetPluginHeader;\n const handleError = err => win.console.error(err);\n const pluginMethodNoop = (_target, prop, pluginName) => {\n return Promise.reject(`${pluginName} does not have an implementation of \"${prop}\".`);\n };\n const registeredPlugins = new Map();\n const defaultRegisterPlugin = (pluginName, jsImplementations = {}) => {\n const registeredPlugin = registeredPlugins.get(pluginName);\n if (registeredPlugin) {\n console.warn(`Capacitor plugin \"${pluginName}\" already registered. Cannot register plugins twice.`);\n return registeredPlugin.proxy;\n }\n const platform = getPlatform();\n const pluginHeader = getPluginHeader(pluginName);\n let jsImplementation;\n const loadPluginImplementation = async () => {\n if (!jsImplementation && platform in jsImplementations) {\n jsImplementation = typeof jsImplementations[platform] === 'function' ? jsImplementation = await jsImplementations[platform]() : jsImplementation = jsImplementations[platform];\n } else if (capCustomPlatform !== null && !jsImplementation && 'web' in jsImplementations) {\n jsImplementation = typeof jsImplementations['web'] === 'function' ? jsImplementation = await jsImplementations['web']() : jsImplementation = jsImplementations['web'];\n }\n return jsImplementation;\n };\n const createPluginMethod = (impl, prop) => {\n var _a, _b;\n if (pluginHeader) {\n const methodHeader = pluginHeader === null || pluginHeader === void 0 ? void 0 : pluginHeader.methods.find(m => prop === m.name);\n if (methodHeader) {\n if (methodHeader.rtype === 'promise') {\n return options => cap.nativePromise(pluginName, prop.toString(), options);\n } else {\n return (options, callback) => cap.nativeCallback(pluginName, prop.toString(), options, callback);\n }\n } else if (impl) {\n return (_a = impl[prop]) === null || _a === void 0 ? void 0 : _a.bind(impl);\n }\n } else if (impl) {\n return (_b = impl[prop]) === null || _b === void 0 ? void 0 : _b.bind(impl);\n } else {\n throw new CapacitorException(`\"${pluginName}\" plugin is not implemented on ${platform}`, ExceptionCode.Unimplemented);\n }\n };\n const createPluginMethodWrapper = prop => {\n let remove;\n const wrapper = (...args) => {\n const p = loadPluginImplementation().then(impl => {\n const fn = createPluginMethod(impl, prop);\n if (fn) {\n const p = fn(...args);\n remove = p === null || p === void 0 ? void 0 : p.remove;\n return p;\n } else {\n throw new CapacitorException(`\"${pluginName}.${prop}()\" is not implemented on ${platform}`, ExceptionCode.Unimplemented);\n }\n });\n if (prop === 'addListener') {\n p.remove = async () => remove();\n }\n return p;\n };\n // Some flair ✨\n wrapper.toString = () => `${prop.toString()}() { [capacitor code] }`;\n Object.defineProperty(wrapper, 'name', {\n value: prop,\n writable: false,\n configurable: false\n });\n return wrapper;\n };\n const addListener = createPluginMethodWrapper('addListener');\n const removeListener = createPluginMethodWrapper('removeListener');\n const addListenerNative = (eventName, callback) => {\n const call = addListener({\n eventName\n }, callback);\n const remove = async () => {\n const callbackId = await call;\n removeListener({\n eventName,\n callbackId\n }, callback);\n };\n const p = new Promise(resolve => call.then(() => resolve({\n remove\n })));\n p.remove = async () => {\n console.warn(`Using addListener() without 'await' is deprecated.`);\n await remove();\n };\n return p;\n };\n const proxy = new Proxy({}, {\n get(_, prop) {\n switch (prop) {\n // https://github.com/facebook/react/issues/20030\n case '$$typeof':\n return undefined;\n case 'toJSON':\n return () => ({});\n case 'addListener':\n return pluginHeader ? addListenerNative : addListener;\n case 'removeListener':\n return removeListener;\n default:\n return createPluginMethodWrapper(prop);\n }\n }\n });\n Plugins[pluginName] = proxy;\n registeredPlugins.set(pluginName, {\n name: pluginName,\n proxy,\n platforms: new Set([...Object.keys(jsImplementations), ...(pluginHeader ? [platform] : [])])\n });\n return proxy;\n };\n const registerPlugin = ((_e = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _e === void 0 ? void 0 : _e.registerPlugin) || defaultRegisterPlugin;\n // Add in convertFileSrc for web, it will already be available in native context\n if (!cap.convertFileSrc) {\n cap.convertFileSrc = filePath => filePath;\n }\n cap.getPlatform = getPlatform;\n cap.handleError = handleError;\n cap.isNativePlatform = isNativePlatform;\n cap.isPluginAvailable = isPluginAvailable;\n cap.pluginMethodNoop = pluginMethodNoop;\n cap.registerPlugin = registerPlugin;\n cap.Exception = CapacitorException;\n cap.DEBUG = !!cap.DEBUG;\n cap.isLoggingEnabled = !!cap.isLoggingEnabled;\n // Deprecated props\n cap.platform = cap.getPlatform();\n cap.isNative = cap.isNativePlatform();\n return cap;\n};\nconst initCapacitorGlobal = win => win.Capacitor = createCapacitor(win);\nconst Capacitor = /*#__PURE__*/initCapacitorGlobal(typeof globalThis !== 'undefined' ? globalThis : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {});\nconst registerPlugin = Capacitor.registerPlugin;\n/**\n * @deprecated Provided for backwards compatibility for Capacitor v2 plugins.\n * Capacitor v3 plugins should import the plugin directly. This \"Plugins\"\n * export is deprecated in v3, and will be removed in v4.\n */\nconst Plugins = Capacitor.Plugins;\n/**\n * Provided for backwards compatibility. Use the registerPlugin() API\n * instead, and provide the web plugin as the \"web\" implmenetation.\n * For example\n *\n * export const Example = registerPlugin('Example', {\n * web: () => import('./web').then(m => new m.Example())\n * })\n *\n * @deprecated Deprecated in v3, will be removed from v4.\n */\nconst registerWebPlugin = plugin => legacyRegisterWebPlugin(Capacitor, plugin);\n\n/**\n * Base class web plugins should extend.\n */\nclass WebPlugin {\n constructor(config) {\n this.listeners = {};\n this.windowListeners = {};\n if (config) {\n // TODO: add link to upgrade guide\n console.warn(`Capacitor WebPlugin \"${config.name}\" config object was deprecated in v3 and will be removed in v4.`);\n this.config = config;\n }\n }\n addListener(eventName, listenerFunc) {\n const listeners = this.listeners[eventName];\n if (!listeners) {\n this.listeners[eventName] = [];\n }\n this.listeners[eventName].push(listenerFunc);\n // If we haven't added a window listener for this event and it requires one,\n // go ahead and add it\n const windowListener = this.windowListeners[eventName];\n if (windowListener && !windowListener.registered) {\n this.addWindowListener(windowListener);\n }\n const remove = async () => this.removeListener(eventName, listenerFunc);\n const p = Promise.resolve({\n remove\n });\n Object.defineProperty(p, 'remove', {\n value: async () => {\n console.warn(`Using addListener() without 'await' is deprecated.`);\n await remove();\n }\n });\n return p;\n }\n async removeAllListeners() {\n this.listeners = {};\n for (const listener in this.windowListeners) {\n this.removeWindowListener(this.windowListeners[listener]);\n }\n this.windowListeners = {};\n }\n notifyListeners(eventName, data) {\n const listeners = this.listeners[eventName];\n if (listeners) {\n listeners.forEach(listener => listener(data));\n }\n }\n hasListeners(eventName) {\n return !!this.listeners[eventName].length;\n }\n registerWindowListener(windowEventName, pluginEventName) {\n this.windowListeners[pluginEventName] = {\n registered: false,\n windowEventName,\n pluginEventName,\n handler: event => {\n this.notifyListeners(pluginEventName, event);\n }\n };\n }\n unimplemented(msg = 'not implemented') {\n return new Capacitor.Exception(msg, ExceptionCode.Unimplemented);\n }\n unavailable(msg = 'not available') {\n return new Capacitor.Exception(msg, ExceptionCode.Unavailable);\n }\n async removeListener(eventName, listenerFunc) {\n const listeners = this.listeners[eventName];\n if (!listeners) {\n return;\n }\n const index = listeners.indexOf(listenerFunc);\n this.listeners[eventName].splice(index, 1);\n // If there are no more listeners for this type of event,\n // remove the window listener\n if (!this.listeners[eventName].length) {\n this.removeWindowListener(this.windowListeners[eventName]);\n }\n }\n addWindowListener(handle) {\n window.addEventListener(handle.windowEventName, handle.handler);\n handle.registered = true;\n }\n removeWindowListener(handle) {\n if (!handle) {\n return;\n }\n window.removeEventListener(handle.windowEventName, handle.handler);\n handle.registered = false;\n }\n}\nconst WebView = /*#__PURE__*/registerPlugin('WebView');\n/******** END WEB VIEW PLUGIN ********/\n/******** COOKIES PLUGIN ********/\n/**\n * Safely web encode a string value (inspired by js-cookie)\n * @param str The string value to encode\n */\nconst encode = str => encodeURIComponent(str).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape);\n/**\n * Safely web decode a string value (inspired by js-cookie)\n * @param str The string value to decode\n */\nconst decode = str => str.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent);\nclass CapacitorCookiesPluginWeb extends WebPlugin {\n async getCookies() {\n const cookies = document.cookie;\n const cookieMap = {};\n cookies.split(';').forEach(cookie => {\n if (cookie.length <= 0) return;\n // Replace first \"=\" with CAP_COOKIE to prevent splitting on additional \"=\"\n let [key, value] = cookie.replace(/=/, 'CAP_COOKIE').split('CAP_COOKIE');\n key = decode(key).trim();\n value = decode(value).trim();\n cookieMap[key] = value;\n });\n return cookieMap;\n }\n async setCookie(options) {\n try {\n // Safely Encoded Key/Value\n const encodedKey = encode(options.key);\n const encodedValue = encode(options.value);\n // Clean & sanitize options\n const expires = `; expires=${(options.expires || '').replace('expires=', '')}`; // Default is \"; expires=\"\n const path = (options.path || '/').replace('path=', ''); // Default is \"path=/\"\n const domain = options.url != null && options.url.length > 0 ? `domain=${options.url}` : '';\n document.cookie = `${encodedKey}=${encodedValue || ''}${expires}; path=${path}; ${domain};`;\n } catch (error) {\n return Promise.reject(error);\n }\n }\n async deleteCookie(options) {\n try {\n document.cookie = `${options.key}=; Max-Age=0`;\n } catch (error) {\n return Promise.reject(error);\n }\n }\n async clearCookies() {\n try {\n const cookies = document.cookie.split(';') || [];\n for (const cookie of cookies) {\n document.cookie = cookie.replace(/^ +/, '').replace(/=.*/, `=;expires=${new Date().toUTCString()};path=/`);\n }\n } catch (error) {\n return Promise.reject(error);\n }\n }\n async clearAllCookies() {\n try {\n await this.clearCookies();\n } catch (error) {\n return Promise.reject(error);\n }\n }\n}\nconst CapacitorCookies = registerPlugin('CapacitorCookies', {\n web: () => new CapacitorCookiesPluginWeb()\n});\n// UTILITY FUNCTIONS\n/**\n * Read in a Blob value and return it as a base64 string\n * @param blob The blob value to convert to a base64 string\n */\nconst readBlobAsBase64 = async blob => new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => {\n const base64String = reader.result;\n // remove prefix \"data:application/pdf;base64,\"\n resolve(base64String.indexOf(',') >= 0 ? base64String.split(',')[1] : base64String);\n };\n reader.onerror = error => reject(error);\n reader.readAsDataURL(blob);\n});\n/**\n * Normalize an HttpHeaders map by lowercasing all of the values\n * @param headers The HttpHeaders object to normalize\n */\nconst normalizeHttpHeaders = (headers = {}) => {\n const originalKeys = Object.keys(headers);\n const loweredKeys = Object.keys(headers).map(k => k.toLocaleLowerCase());\n const normalized = loweredKeys.reduce((acc, key, index) => {\n acc[key] = headers[originalKeys[index]];\n return acc;\n }, {});\n return normalized;\n};\n/**\n * Builds a string of url parameters that\n * @param params A map of url parameters\n * @param shouldEncode true if you should encodeURIComponent() the values (true by default)\n */\nconst buildUrlParams = (params, shouldEncode = true) => {\n if (!params) return null;\n const output = Object.entries(params).reduce((accumulator, entry) => {\n const [key, value] = entry;\n let encodedValue;\n let item;\n if (Array.isArray(value)) {\n item = '';\n value.forEach(str => {\n encodedValue = shouldEncode ? encodeURIComponent(str) : str;\n item += `${key}=${encodedValue}&`;\n });\n // last character will always be \"&\" so slice it off\n item.slice(0, -1);\n } else {\n encodedValue = shouldEncode ? encodeURIComponent(value) : value;\n item = `${key}=${encodedValue}`;\n }\n return `${accumulator}&${item}`;\n }, '');\n // Remove initial \"&\" from the reduce\n return output.substr(1);\n};\n/**\n * Build the RequestInit object based on the options passed into the initial request\n * @param options The Http plugin options\n * @param extra Any extra RequestInit values\n */\nconst buildRequestInit = (options, extra = {}) => {\n const output = Object.assign({\n method: options.method || 'GET',\n headers: options.headers\n }, extra);\n // Get the content-type\n const headers = normalizeHttpHeaders(options.headers);\n const type = headers['content-type'] || '';\n // If body is already a string, then pass it through as-is.\n if (typeof options.data === 'string') {\n output.body = options.data;\n }\n // Build request initializers based off of content-type\n else if (type.includes('application/x-www-form-urlencoded')) {\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(options.data || {})) {\n params.set(key, value);\n }\n output.body = params.toString();\n } else if (type.includes('multipart/form-data') || options.data instanceof FormData) {\n const form = new FormData();\n if (options.data instanceof FormData) {\n options.data.forEach((value, key) => {\n form.append(key, value);\n });\n } else {\n for (const key of Object.keys(options.data)) {\n form.append(key, options.data[key]);\n }\n }\n output.body = form;\n const headers = new Headers(output.headers);\n headers.delete('content-type'); // content-type will be set by `window.fetch` to includy boundary\n output.headers = headers;\n } else if (type.includes('application/json') || typeof options.data === 'object') {\n output.body = JSON.stringify(options.data);\n }\n return output;\n};\n// WEB IMPLEMENTATION\nclass CapacitorHttpPluginWeb extends WebPlugin {\n /**\n * Perform an Http request given a set of options\n * @param options Options to build the HTTP request\n */\n async request(options) {\n const requestInit = buildRequestInit(options, options.webFetchExtra);\n const urlParams = buildUrlParams(options.params, options.shouldEncodeUrlParams);\n const url = urlParams ? `${options.url}?${urlParams}` : options.url;\n const response = await fetch(url, requestInit);\n const contentType = response.headers.get('content-type') || '';\n // Default to 'text' responseType so no parsing happens\n let {\n responseType = 'text'\n } = response.ok ? options : {};\n // If the response content-type is json, force the response to be json\n if (contentType.includes('application/json')) {\n responseType = 'json';\n }\n let data;\n let blob;\n switch (responseType) {\n case 'arraybuffer':\n case 'blob':\n blob = await response.blob();\n data = await readBlobAsBase64(blob);\n break;\n case 'json':\n data = await response.json();\n break;\n case 'document':\n case 'text':\n default:\n data = await response.text();\n }\n // Convert fetch headers to Capacitor HttpHeaders\n const headers = {};\n response.headers.forEach((value, key) => {\n headers[key] = value;\n });\n return {\n data,\n headers,\n status: response.status,\n url: response.url\n };\n }\n /**\n * Perform an Http GET request given a set of options\n * @param options Options to build the HTTP request\n */\n async get(options) {\n return this.request(Object.assign(Object.assign({}, options), {\n method: 'GET'\n }));\n }\n /**\n * Perform an Http POST request given a set of options\n * @param options Options to build the HTTP request\n */\n async post(options) {\n return this.request(Object.assign(Object.assign({}, options), {\n method: 'POST'\n }));\n }\n /**\n * Perform an Http PUT request given a set of options\n * @param options Options to build the HTTP request\n */\n async put(options) {\n return this.request(Object.assign(Object.assign({}, options), {\n method: 'PUT'\n }));\n }\n /**\n * Perform an Http PATCH request given a set of options\n * @param options Options to build the HTTP request\n */\n async patch(options) {\n return this.request(Object.assign(Object.assign({}, options), {\n method: 'PATCH'\n }));\n }\n /**\n * Perform an Http DELETE request given a set of options\n * @param options Options to build the HTTP request\n */\n async delete(options) {\n return this.request(Object.assign(Object.assign({}, options), {\n method: 'DELETE'\n }));\n }\n}\nconst CapacitorHttp = registerPlugin('CapacitorHttp', {\n web: () => new CapacitorHttpPluginWeb()\n});\n/******** END HTTP PLUGIN ********/\n\nexport { Capacitor, CapacitorCookies, CapacitorException, CapacitorHttp, CapacitorPlatforms, ExceptionCode, Plugins, WebPlugin, WebView, addPlatform, buildRequestInit, registerPlugin, registerWebPlugin, setPlatform };\n"],"mappings":"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","names":["createCapacitorPlatforms","win","defaultPlatformMap","capPlatforms","addPlatform","name","platform","setPlatform","initPlatforms","CapacitorPlatforms","ExceptionCode","CapacitorException","message","code","data","getPlatformId","win","_a","_b","createCapacitor","_c","_d","_e","capCustomPlatform","cap","Plugins","capPlatforms","defaultGetPlatform","getPlatform","defaultIsNativePlatform","isNativePlatform","defaultIsPluginAvailable","pluginName","plugin","registeredPlugins","getPluginHeader","isPluginAvailable","defaultGetPluginHeader","h","handleError","err","pluginMethodNoop","_target","prop","defaultRegisterPlugin","jsImplementations","registeredPlugin","platform","pluginHeader","jsImplementation","loadPluginImplementation","__async","createPluginMethod","impl","methodHeader","m","options","callback","createPluginMethodWrapper","remove","wrapper","args","p","fn","addListener","removeListener","addListenerNative","eventName","call","callbackId","resolve","proxy","_","registerPlugin","filePath","initCapacitorGlobal","Capacitor","WebPlugin","config","eventName","listenerFunc","windowListener","remove","__async","p","listener","data","listeners","windowEventName","pluginEventName","event","msg","Capacitor","ExceptionCode","index","handle","encode","str","decode","CapacitorCookiesPluginWeb","WebPlugin","__async","cookies","cookieMap","cookie","key","value","options","encodedKey","encodedValue","expires","path","domain","error","CapacitorCookies","registerPlugin","readBlobAsBase64","blob","resolve","reject","reader","base64String","normalizeHttpHeaders","headers","originalKeys","k","acc","index","buildUrlParams","params","shouldEncode","accumulator","entry","item","buildRequestInit","extra","output","type","form","CapacitorHttpPluginWeb","requestInit","urlParams","url","response","contentType","responseType","data","CapacitorHttp"],"x_google_ignoreList":[0]}