@capacitor/core 4.0.1-alpha.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cordova.js CHANGED
@@ -1116,7 +1116,7 @@
1116
1116
  ) {
1117
1117
  var success = status === 0 || status === 1;
1118
1118
  var args = convertMessageToArgsNativeToJs(message);
1119
- setTimeout(function () {
1119
+ Promise.resolve().then(function () {
1120
1120
  cordova.callbackFromNative(
1121
1121
  callbackId,
1122
1122
  success,
@@ -1124,7 +1124,7 @@
1124
1124
  args,
1125
1125
  keepCallback,
1126
1126
  ); // eslint-disable-line
1127
- }, 0);
1127
+ });
1128
1128
  };
1129
1129
 
1130
1130
  // for backwards compatibility
@@ -0,0 +1,3 @@
1
+ /*! Capacitor: https://capacitorjs.com/ - MIT License */
2
+ const capacitorExports=function(e){"use strict";const n=(e=>e.CapacitorPlatforms=(e=>{const n=new Map;n.set("web",{name:"web"});const t=e.CapacitorPlatforms||{currentPlatform:{name:"web"},platforms:n};return t.addPlatform=(e,n)=>{t.platforms.set(e,n)},t.setPlatform=e=>{t.platforms.has(e)&&(t.currentPlatform=t.platforms.get(e))},t})(e))("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}),t=n.addPlatform,i=n.setPlatform;var r;e.ExceptionCode=void 0,(r=e.ExceptionCode||(e.ExceptionCode={})).Unimplemented="UNIMPLEMENTED",r.Unavailable="UNAVAILABLE";class o extends Error{constructor(e,n,t){super(e),this.message=e,this.code=n,this.data=t}}const s=n=>{var t,i,r,s,a;const l=n.CapacitorCustomPlatform||null,d=n.Capacitor||{},c=d.Plugins=d.Plugins||{},u=n.CapacitorPlatforms,m=(null===(t=null==u?void 0:u.currentPlatform)||void 0===t?void 0:t.getPlatform)||(()=>null!==l?l.name:(e=>{var n,t;return(null==e?void 0:e.androidBridge)?"android":(null===(t=null===(n=null==e?void 0:e.webkit)||void 0===n?void 0:n.messageHandlers)||void 0===t?void 0:t.bridge)?"ios":"web"})(n)),f=(null===(i=null==u?void 0:u.currentPlatform)||void 0===i?void 0:i.isNativePlatform)||(()=>"web"!==m()),g=(null===(r=null==u?void 0:u.currentPlatform)||void 0===r?void 0:r.isPluginAvailable)||(e=>{const n=w.get(e);return!!(null==n?void 0:n.platforms.has(m()))||!!v(e)}),v=(null===(s=null==u?void 0:u.currentPlatform)||void 0===s?void 0:s.getPluginHeader)||(e=>{var n;return null===(n=d.PluginHeaders)||void 0===n?void 0:n.find((n=>n.name===e))}),w=new Map,p=(null===(a=null==u?void 0:u.currentPlatform)||void 0===a?void 0:a.registerPlugin)||((n,t={})=>{const i=w.get(n);if(i)return console.warn(`Capacitor plugin "${n}" already registered. Cannot register plugins twice.`),i.proxy;const r=m(),s=v(n);let a;const u=i=>{let c;const u=(...u)=>{const m=(async()=>(!a&&r in t?a=a="function"==typeof t[r]?await t[r]():t[r]:null!==l&&!a&&"web"in t&&(a=a="function"==typeof t.web?await t.web():t.web),a))().then((t=>{const a=((t,i)=>{var a,l;if(!s){if(t)return null===(l=t[i])||void 0===l?void 0:l.bind(t);throw new o(`"${n}" plugin is not implemented on ${r}`,e.ExceptionCode.Unimplemented)}{const e=null==s?void 0:s.methods.find((e=>i===e.name));if(e)return"promise"===e.rtype?e=>d.nativePromise(n,i.toString(),e):(e,t)=>d.nativeCallback(n,i.toString(),e,t);if(t)return null===(a=t[i])||void 0===a?void 0:a.bind(t)}})(t,i);if(a){const e=a(...u);return c=null==e?void 0:e.remove,e}throw new o(`"${n}.${i}()" is not implemented on ${r}`,e.ExceptionCode.Unimplemented)}));return"addListener"===i&&(m.remove=async()=>c()),m};return u.toString=()=>`${i.toString()}() { [capacitor code] }`,Object.defineProperty(u,"name",{value:i,writable:!1,configurable:!1}),u},f=u("addListener"),g=u("removeListener"),p=(e,n)=>{const t=f({eventName:e},n),i=async()=>{const i=await t;g({eventName:e,callbackId:i},n)},r=new Promise((e=>t.then((()=>e({remove:i})))));return r.remove=async()=>{console.warn("Using addListener() without 'await' is deprecated."),await i()},r},h=new Proxy({},{get(e,n){switch(n){case"$$typeof":return;case"toJSON":return()=>({});case"addListener":return s?p:f;case"removeListener":return g;default:return u(n)}}});return c[n]=h,w.set(n,{name:n,proxy:h,platforms:new Set([...Object.keys(t),...s?[r]:[]])}),h});return d.convertFileSrc||(d.convertFileSrc=e=>e),d.getPlatform=m,d.handleError=e=>n.console.error(e),d.isNativePlatform=f,d.isPluginAvailable=g,d.pluginMethodNoop=(e,n,t)=>Promise.reject(`${t} does not have an implementation of "${n}".`),d.registerPlugin=p,d.Exception=o,d.DEBUG=!!d.DEBUG,d.isLoggingEnabled=!!d.isLoggingEnabled,d.platform=d.getPlatform(),d.isNative=d.isNativePlatform(),d},a=(e=>e.Capacitor=s(e))("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}),l=a.registerPlugin,d=a.Plugins;const c=l("WebView");return e.Capacitor=a,e.CapacitorException=o,e.CapacitorPlatforms=n,e.Plugins=d,e.WebPlugin=class{constructor(e){this.listeners={},this.windowListeners={},e&&(console.warn(`Capacitor WebPlugin "${e.name}" config object was deprecated in v3 and will be removed in v4.`),this.config=e)}addListener(e,n){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(n);const t=this.windowListeners[e];t&&!t.registered&&this.addWindowListener(t);const i=async()=>this.removeListener(e,n),r=Promise.resolve({remove:i});return Object.defineProperty(r,"remove",{value:async()=>{console.warn("Using addListener() without 'await' is deprecated."),await i()}}),r}async removeAllListeners(){this.listeners={};for(const e in this.windowListeners)this.removeWindowListener(this.windowListeners[e]);this.windowListeners={}}notifyListeners(e,n){const t=this.listeners[e];t&&t.forEach((e=>e(n)))}hasListeners(e){return!!this.listeners[e].length}registerWindowListener(e,n){this.windowListeners[n]={registered:!1,windowEventName:e,pluginEventName:n,handler:e=>{this.notifyListeners(n,e)}}}unimplemented(n="not implemented"){return new a.Exception(n,e.ExceptionCode.Unimplemented)}unavailable(n="not available"){return new a.Exception(n,e.ExceptionCode.Unavailable)}async removeListener(e,n){const t=this.listeners[e];if(!t)return;const i=t.indexOf(n);this.listeners[e].splice(i,1),this.listeners[e].length||this.removeWindowListener(this.windowListeners[e])}addWindowListener(e){window.addEventListener(e.windowEventName,e.handler),e.registered=!0}removeWindowListener(e){e&&(window.removeEventListener(e.windowEventName,e.handler),e.registered=!1)}},e.WebView=c,e.addPlatform=t,e.registerPlugin=l,e.registerWebPlugin=e=>((e,n)=>{var t;const i=n.config,r=e.Plugins;if(!i||!i.name)throw new Error('Capacitor WebPlugin is using the deprecated "registerWebPlugin()" function, but without the config. Please use "registerPlugin()" instead to register this web plugin."');console.warn(`Capacitor plugin "${i.name}" is using the deprecated "registerWebPlugin()" function`),r[i.name]&&!(null===(t=null==i?void 0:i.platforms)||void 0===t?void 0:t.includes(e.getPlatform()))||(r[i.name]=n)})(a,e),e.setPlatform=i,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
3
+ //# sourceMappingURL=capacitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capacitor.js","sources":["../build/platforms.js","../build/util.js","../build/runtime.js","../build/global.js","../build/core-plugins.js","../build/web-plugin.js","../build/legacy/legacy-web-plugin-merge.js"],"sourcesContent":["const createCapacitorPlatforms = (win) => {\n const defaultPlatformMap = new Map();\n defaultPlatformMap.set('web', { name: 'web' });\n const capPlatforms = win.CapacitorPlatforms || {\n currentPlatform: { name: 'web' },\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 */\nexport const CapacitorPlatforms = /*#__PURE__*/ initPlatforms((typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {}));\n/**\n * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead\n */\nexport const addPlatform = CapacitorPlatforms.addPlatform;\n/**\n * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead\n */\nexport const setPlatform = CapacitorPlatforms.setPlatform;\n//# sourceMappingURL=platforms.js.map","export var ExceptionCode;\n(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})(ExceptionCode || (ExceptionCode = {}));\nexport class 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}\nexport const getPlatformId = (win) => {\n var _a, _b;\n if (win === null || win === void 0 ? void 0 : win.androidBridge) {\n return 'android';\n }\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 }\n else {\n return 'web';\n }\n};\n//# sourceMappingURL=util.js.map","import { CapacitorException, getPlatformId, ExceptionCode } from './util';\nexport const 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\n ? capCustomPlatform.name\n : 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) ||\n defaultIsPluginAvailable;\n const defaultGetPluginHeader = (pluginName) => { var _a; return (_a = cap.PluginHeaders) === null || _a === void 0 ? void 0 : _a.find(h => h.name === pluginName); };\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 =\n typeof jsImplementations[platform] === 'function'\n ? (jsImplementation = await jsImplementations[platform]())\n : (jsImplementation = jsImplementations[platform]);\n }\n else if (capCustomPlatform !== null &&\n !jsImplementation &&\n 'web' in jsImplementations) {\n jsImplementation =\n typeof jsImplementations['web'] === 'function'\n ? (jsImplementation = await jsImplementations['web']())\n : (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 }\n else {\n return (options, callback) => cap.nativeCallback(pluginName, prop.toString(), options, callback);\n }\n }\n else if (impl) {\n return (_a = impl[prop]) === null || _a === void 0 ? void 0 : _a.bind(impl);\n }\n }\n else if (impl) {\n return (_b = impl[prop]) === null || _b === void 0 ? void 0 : _b.bind(impl);\n }\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 }\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({ eventName }, 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({ remove })));\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([\n ...Object.keys(jsImplementations),\n ...(pluginHeader ? [platform] : []),\n ]),\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};\nexport const initCapacitorGlobal = (win) => (win.Capacitor = createCapacitor(win));\n//# sourceMappingURL=runtime.js.map","import { legacyRegisterWebPlugin } from './legacy/legacy-web-plugin-merge';\nimport { initCapacitorGlobal } from './runtime';\nexport const Capacitor = /*#__PURE__*/ initCapacitorGlobal(typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {});\nexport const 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 */\nexport const 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 */\nexport const registerWebPlugin = (plugin) => legacyRegisterWebPlugin(Capacitor, plugin);\n//# sourceMappingURL=global.js.map","import { registerPlugin } from './global';\nexport const WebView = /*#__PURE__*/ registerPlugin('WebView');\n//# sourceMappingURL=core-plugins.js.map","import { Capacitor } from './global';\nimport { ExceptionCode } from './util';\n/**\n * Base class web plugins should extend.\n */\nexport class 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({ remove });\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}\n//# sourceMappingURL=web-plugin.js.map","export const legacyRegisterWebPlugin = (cap, webPlugin) => {\n var _a;\n const config = webPlugin.config;\n const Plugins = cap.Plugins;\n if (!config || !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};\n//# sourceMappingURL=legacy-web-plugin-merge.js.map"],"names":["CapacitorPlatforms","win","defaultPlatformMap","Map","set","name","capPlatforms","currentPlatform","platforms","addPlatform","platform","setPlatform","has","get","createCapacitorPlatforms","initPlatforms","globalThis","self","window","global","ExceptionCode","exports","CapacitorException","Error","constructor","message","code","data","super","this","createCapacitor","_a","_b","_c","_d","_e","capCustomPlatform","CapacitorCustomPlatform","cap","Capacitor","Plugins","getPlatform","androidBridge","webkit","messageHandlers","bridge","getPlatformId","isNativePlatform","isPluginAvailable","pluginName","plugin","registeredPlugins","getPluginHeader","PluginHeaders","find","h","registerPlugin","jsImplementations","registeredPlugin","console","warn","proxy","pluginHeader","jsImplementation","createPluginMethodWrapper","prop","remove","wrapper","args","p","async","loadPluginImplementation","then","impl","fn","bind","Unimplemented","methodHeader","methods","m","rtype","options","nativePromise","toString","callback","nativeCallback","createPluginMethod","Object","defineProperty","value","writable","configurable","addListener","removeListener","addListenerNative","eventName","call","callbackId","Promise","resolve","Proxy","_","Set","keys","convertFileSrc","filePath","handleError","err","error","pluginMethodNoop","_target","reject","Exception","DEBUG","isLoggingEnabled","isNative","initCapacitorGlobal","WebView","config","listeners","windowListeners","listenerFunc","push","windowListener","registered","addWindowListener","listener","removeWindowListener","notifyListeners","forEach","hasListeners","length","registerWindowListener","windowEventName","pluginEventName","handler","event","unimplemented","msg","unavailable","Unavailable","index","indexOf","splice","handle","addEventListener","removeEventListener","webPlugin","includes","legacyRegisterWebPlugin"],"mappings":"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"}
@@ -0,0 +1,424 @@
1
+ /*! Capacitor: https://capacitorjs.com/ - MIT License */
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ const createCapacitorPlatforms = (win) => {
7
+ const defaultPlatformMap = new Map();
8
+ defaultPlatformMap.set('web', { name: 'web' });
9
+ const capPlatforms = win.CapacitorPlatforms || {
10
+ currentPlatform: { name: 'web' },
11
+ platforms: defaultPlatformMap,
12
+ };
13
+ const addPlatform = (name, platform) => {
14
+ capPlatforms.platforms.set(name, platform);
15
+ };
16
+ const setPlatform = (name) => {
17
+ if (capPlatforms.platforms.has(name)) {
18
+ capPlatforms.currentPlatform = capPlatforms.platforms.get(name);
19
+ }
20
+ };
21
+ capPlatforms.addPlatform = addPlatform;
22
+ capPlatforms.setPlatform = setPlatform;
23
+ return capPlatforms;
24
+ };
25
+ const initPlatforms = (win) => (win.CapacitorPlatforms = createCapacitorPlatforms(win));
26
+ /**
27
+ * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead
28
+ */
29
+ const CapacitorPlatforms = /*#__PURE__*/ initPlatforms((typeof globalThis !== 'undefined'
30
+ ? globalThis
31
+ : typeof self !== 'undefined'
32
+ ? self
33
+ : typeof window !== 'undefined'
34
+ ? window
35
+ : typeof global !== 'undefined'
36
+ ? global
37
+ : {}));
38
+ /**
39
+ * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead
40
+ */
41
+ const addPlatform = CapacitorPlatforms.addPlatform;
42
+ /**
43
+ * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead
44
+ */
45
+ const setPlatform = CapacitorPlatforms.setPlatform;
46
+
47
+ const legacyRegisterWebPlugin = (cap, webPlugin) => {
48
+ var _a;
49
+ const config = webPlugin.config;
50
+ const Plugins = cap.Plugins;
51
+ if (!config || !config.name) {
52
+ // TODO: add link to upgrade guide
53
+ throw new Error(`Capacitor WebPlugin is using the deprecated "registerWebPlugin()" function, but without the config. Please use "registerPlugin()" instead to register this web plugin."`);
54
+ }
55
+ // TODO: add link to upgrade guide
56
+ console.warn(`Capacitor plugin "${config.name}" is using the deprecated "registerWebPlugin()" function`);
57
+ if (!Plugins[config.name] || ((_a = config === null || config === void 0 ? void 0 : config.platforms) === null || _a === void 0 ? void 0 : _a.includes(cap.getPlatform()))) {
58
+ // Add the web plugin into the plugins registry if there already isn't
59
+ // an existing one. If it doesn't already exist, that means
60
+ // there's no existing native implementation for it.
61
+ // - OR -
62
+ // If we already have a plugin registered (meaning it was defined in the native layer),
63
+ // then we should only overwrite it if the corresponding web plugin activates on
64
+ // a certain platform. For example: Geolocation uses the WebPlugin on Android but not iOS
65
+ Plugins[config.name] = webPlugin;
66
+ }
67
+ };
68
+
69
+ exports.ExceptionCode = void 0;
70
+ (function (ExceptionCode) {
71
+ /**
72
+ * API is not implemented.
73
+ *
74
+ * This usually means the API can't be used because it is not implemented for
75
+ * the current platform.
76
+ */
77
+ ExceptionCode["Unimplemented"] = "UNIMPLEMENTED";
78
+ /**
79
+ * API is not available.
80
+ *
81
+ * This means the API can't be used right now because:
82
+ * - it is currently missing a prerequisite, such as network connectivity
83
+ * - it requires a particular platform or browser version
84
+ */
85
+ ExceptionCode["Unavailable"] = "UNAVAILABLE";
86
+ })(exports.ExceptionCode || (exports.ExceptionCode = {}));
87
+ class CapacitorException extends Error {
88
+ constructor(message, code, data) {
89
+ super(message);
90
+ this.message = message;
91
+ this.code = code;
92
+ this.data = data;
93
+ }
94
+ }
95
+ const getPlatformId = (win) => {
96
+ var _a, _b;
97
+ if (win === null || win === void 0 ? void 0 : win.androidBridge) {
98
+ return 'android';
99
+ }
100
+ 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) {
101
+ return 'ios';
102
+ }
103
+ else {
104
+ return 'web';
105
+ }
106
+ };
107
+
108
+ const createCapacitor = (win) => {
109
+ var _a, _b, _c, _d, _e;
110
+ const capCustomPlatform = win.CapacitorCustomPlatform || null;
111
+ const cap = win.Capacitor || {};
112
+ const Plugins = (cap.Plugins = cap.Plugins || {});
113
+ /**
114
+ * @deprecated Use `capCustomPlatform` instead, default functions like registerPlugin will function with the new object.
115
+ */
116
+ const capPlatforms = win.CapacitorPlatforms;
117
+ const defaultGetPlatform = () => {
118
+ return capCustomPlatform !== null
119
+ ? capCustomPlatform.name
120
+ : getPlatformId(win);
121
+ };
122
+ const getPlatform = ((_a = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _a === void 0 ? void 0 : _a.getPlatform) || defaultGetPlatform;
123
+ const defaultIsNativePlatform = () => getPlatform() !== 'web';
124
+ const isNativePlatform = ((_b = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _b === void 0 ? void 0 : _b.isNativePlatform) || defaultIsNativePlatform;
125
+ const defaultIsPluginAvailable = (pluginName) => {
126
+ const plugin = registeredPlugins.get(pluginName);
127
+ if (plugin === null || plugin === void 0 ? void 0 : plugin.platforms.has(getPlatform())) {
128
+ // JS implementation available for the current platform.
129
+ return true;
130
+ }
131
+ if (getPluginHeader(pluginName)) {
132
+ // Native implementation available.
133
+ return true;
134
+ }
135
+ return false;
136
+ };
137
+ const isPluginAvailable = ((_c = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _c === void 0 ? void 0 : _c.isPluginAvailable) ||
138
+ defaultIsPluginAvailable;
139
+ const defaultGetPluginHeader = (pluginName) => { var _a; return (_a = cap.PluginHeaders) === null || _a === void 0 ? void 0 : _a.find(h => h.name === pluginName); };
140
+ const getPluginHeader = ((_d = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _d === void 0 ? void 0 : _d.getPluginHeader) || defaultGetPluginHeader;
141
+ const handleError = (err) => win.console.error(err);
142
+ const pluginMethodNoop = (_target, prop, pluginName) => {
143
+ return Promise.reject(`${pluginName} does not have an implementation of "${prop}".`);
144
+ };
145
+ const registeredPlugins = new Map();
146
+ const defaultRegisterPlugin = (pluginName, jsImplementations = {}) => {
147
+ const registeredPlugin = registeredPlugins.get(pluginName);
148
+ if (registeredPlugin) {
149
+ console.warn(`Capacitor plugin "${pluginName}" already registered. Cannot register plugins twice.`);
150
+ return registeredPlugin.proxy;
151
+ }
152
+ const platform = getPlatform();
153
+ const pluginHeader = getPluginHeader(pluginName);
154
+ let jsImplementation;
155
+ const loadPluginImplementation = async () => {
156
+ if (!jsImplementation && platform in jsImplementations) {
157
+ jsImplementation =
158
+ typeof jsImplementations[platform] === 'function'
159
+ ? (jsImplementation = await jsImplementations[platform]())
160
+ : (jsImplementation = jsImplementations[platform]);
161
+ }
162
+ else if (capCustomPlatform !== null &&
163
+ !jsImplementation &&
164
+ 'web' in jsImplementations) {
165
+ jsImplementation =
166
+ typeof jsImplementations['web'] === 'function'
167
+ ? (jsImplementation = await jsImplementations['web']())
168
+ : (jsImplementation = jsImplementations['web']);
169
+ }
170
+ return jsImplementation;
171
+ };
172
+ const createPluginMethod = (impl, prop) => {
173
+ var _a, _b;
174
+ if (pluginHeader) {
175
+ const methodHeader = pluginHeader === null || pluginHeader === void 0 ? void 0 : pluginHeader.methods.find(m => prop === m.name);
176
+ if (methodHeader) {
177
+ if (methodHeader.rtype === 'promise') {
178
+ return (options) => cap.nativePromise(pluginName, prop.toString(), options);
179
+ }
180
+ else {
181
+ return (options, callback) => cap.nativeCallback(pluginName, prop.toString(), options, callback);
182
+ }
183
+ }
184
+ else if (impl) {
185
+ return (_a = impl[prop]) === null || _a === void 0 ? void 0 : _a.bind(impl);
186
+ }
187
+ }
188
+ else if (impl) {
189
+ return (_b = impl[prop]) === null || _b === void 0 ? void 0 : _b.bind(impl);
190
+ }
191
+ else {
192
+ throw new CapacitorException(`"${pluginName}" plugin is not implemented on ${platform}`, exports.ExceptionCode.Unimplemented);
193
+ }
194
+ };
195
+ const createPluginMethodWrapper = (prop) => {
196
+ let remove;
197
+ const wrapper = (...args) => {
198
+ const p = loadPluginImplementation().then(impl => {
199
+ const fn = createPluginMethod(impl, prop);
200
+ if (fn) {
201
+ const p = fn(...args);
202
+ remove = p === null || p === void 0 ? void 0 : p.remove;
203
+ return p;
204
+ }
205
+ else {
206
+ throw new CapacitorException(`"${pluginName}.${prop}()" is not implemented on ${platform}`, exports.ExceptionCode.Unimplemented);
207
+ }
208
+ });
209
+ if (prop === 'addListener') {
210
+ p.remove = async () => remove();
211
+ }
212
+ return p;
213
+ };
214
+ // Some flair ✨
215
+ wrapper.toString = () => `${prop.toString()}() { [capacitor code] }`;
216
+ Object.defineProperty(wrapper, 'name', {
217
+ value: prop,
218
+ writable: false,
219
+ configurable: false,
220
+ });
221
+ return wrapper;
222
+ };
223
+ const addListener = createPluginMethodWrapper('addListener');
224
+ const removeListener = createPluginMethodWrapper('removeListener');
225
+ const addListenerNative = (eventName, callback) => {
226
+ const call = addListener({ eventName }, callback);
227
+ const remove = async () => {
228
+ const callbackId = await call;
229
+ removeListener({
230
+ eventName,
231
+ callbackId,
232
+ }, callback);
233
+ };
234
+ const p = new Promise(resolve => call.then(() => resolve({ remove })));
235
+ p.remove = async () => {
236
+ console.warn(`Using addListener() without 'await' is deprecated.`);
237
+ await remove();
238
+ };
239
+ return p;
240
+ };
241
+ const proxy = new Proxy({}, {
242
+ get(_, prop) {
243
+ switch (prop) {
244
+ // https://github.com/facebook/react/issues/20030
245
+ case '$$typeof':
246
+ return undefined;
247
+ case 'toJSON':
248
+ return () => ({});
249
+ case 'addListener':
250
+ return pluginHeader ? addListenerNative : addListener;
251
+ case 'removeListener':
252
+ return removeListener;
253
+ default:
254
+ return createPluginMethodWrapper(prop);
255
+ }
256
+ },
257
+ });
258
+ Plugins[pluginName] = proxy;
259
+ registeredPlugins.set(pluginName, {
260
+ name: pluginName,
261
+ proxy,
262
+ platforms: new Set([
263
+ ...Object.keys(jsImplementations),
264
+ ...(pluginHeader ? [platform] : []),
265
+ ]),
266
+ });
267
+ return proxy;
268
+ };
269
+ const registerPlugin = ((_e = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _e === void 0 ? void 0 : _e.registerPlugin) || defaultRegisterPlugin;
270
+ // Add in convertFileSrc for web, it will already be available in native context
271
+ if (!cap.convertFileSrc) {
272
+ cap.convertFileSrc = filePath => filePath;
273
+ }
274
+ cap.getPlatform = getPlatform;
275
+ cap.handleError = handleError;
276
+ cap.isNativePlatform = isNativePlatform;
277
+ cap.isPluginAvailable = isPluginAvailable;
278
+ cap.pluginMethodNoop = pluginMethodNoop;
279
+ cap.registerPlugin = registerPlugin;
280
+ cap.Exception = CapacitorException;
281
+ cap.DEBUG = !!cap.DEBUG;
282
+ cap.isLoggingEnabled = !!cap.isLoggingEnabled;
283
+ // Deprecated props
284
+ cap.platform = cap.getPlatform();
285
+ cap.isNative = cap.isNativePlatform();
286
+ return cap;
287
+ };
288
+ const initCapacitorGlobal = (win) => (win.Capacitor = createCapacitor(win));
289
+
290
+ const Capacitor = /*#__PURE__*/ initCapacitorGlobal(typeof globalThis !== 'undefined'
291
+ ? globalThis
292
+ : typeof self !== 'undefined'
293
+ ? self
294
+ : typeof window !== 'undefined'
295
+ ? window
296
+ : typeof global !== 'undefined'
297
+ ? global
298
+ : {});
299
+ const registerPlugin = Capacitor.registerPlugin;
300
+ /**
301
+ * @deprecated Provided for backwards compatibility for Capacitor v2 plugins.
302
+ * Capacitor v3 plugins should import the plugin directly. This "Plugins"
303
+ * export is deprecated in v3, and will be removed in v4.
304
+ */
305
+ const Plugins = Capacitor.Plugins;
306
+ /**
307
+ * Provided for backwards compatibility. Use the registerPlugin() API
308
+ * instead, and provide the web plugin as the "web" implmenetation.
309
+ * For example
310
+ *
311
+ * export const Example = registerPlugin('Example', {
312
+ * web: () => import('./web').then(m => new m.Example())
313
+ * })
314
+ *
315
+ * @deprecated Deprecated in v3, will be removed from v4.
316
+ */
317
+ const registerWebPlugin = (plugin) => legacyRegisterWebPlugin(Capacitor, plugin);
318
+
319
+ /**
320
+ * Base class web plugins should extend.
321
+ */
322
+ class WebPlugin {
323
+ constructor(config) {
324
+ this.listeners = {};
325
+ this.windowListeners = {};
326
+ if (config) {
327
+ // TODO: add link to upgrade guide
328
+ console.warn(`Capacitor WebPlugin "${config.name}" config object was deprecated in v3 and will be removed in v4.`);
329
+ this.config = config;
330
+ }
331
+ }
332
+ addListener(eventName, listenerFunc) {
333
+ const listeners = this.listeners[eventName];
334
+ if (!listeners) {
335
+ this.listeners[eventName] = [];
336
+ }
337
+ this.listeners[eventName].push(listenerFunc);
338
+ // If we haven't added a window listener for this event and it requires one,
339
+ // go ahead and add it
340
+ const windowListener = this.windowListeners[eventName];
341
+ if (windowListener && !windowListener.registered) {
342
+ this.addWindowListener(windowListener);
343
+ }
344
+ const remove = async () => this.removeListener(eventName, listenerFunc);
345
+ const p = Promise.resolve({ remove });
346
+ Object.defineProperty(p, 'remove', {
347
+ value: async () => {
348
+ console.warn(`Using addListener() without 'await' is deprecated.`);
349
+ await remove();
350
+ },
351
+ });
352
+ return p;
353
+ }
354
+ async removeAllListeners() {
355
+ this.listeners = {};
356
+ for (const listener in this.windowListeners) {
357
+ this.removeWindowListener(this.windowListeners[listener]);
358
+ }
359
+ this.windowListeners = {};
360
+ }
361
+ notifyListeners(eventName, data) {
362
+ const listeners = this.listeners[eventName];
363
+ if (listeners) {
364
+ listeners.forEach(listener => listener(data));
365
+ }
366
+ }
367
+ hasListeners(eventName) {
368
+ return !!this.listeners[eventName].length;
369
+ }
370
+ registerWindowListener(windowEventName, pluginEventName) {
371
+ this.windowListeners[pluginEventName] = {
372
+ registered: false,
373
+ windowEventName,
374
+ pluginEventName,
375
+ handler: event => {
376
+ this.notifyListeners(pluginEventName, event);
377
+ },
378
+ };
379
+ }
380
+ unimplemented(msg = 'not implemented') {
381
+ return new Capacitor.Exception(msg, exports.ExceptionCode.Unimplemented);
382
+ }
383
+ unavailable(msg = 'not available') {
384
+ return new Capacitor.Exception(msg, exports.ExceptionCode.Unavailable);
385
+ }
386
+ async removeListener(eventName, listenerFunc) {
387
+ const listeners = this.listeners[eventName];
388
+ if (!listeners) {
389
+ return;
390
+ }
391
+ const index = listeners.indexOf(listenerFunc);
392
+ this.listeners[eventName].splice(index, 1);
393
+ // If there are no more listeners for this type of event,
394
+ // remove the window listener
395
+ if (!this.listeners[eventName].length) {
396
+ this.removeWindowListener(this.windowListeners[eventName]);
397
+ }
398
+ }
399
+ addWindowListener(handle) {
400
+ window.addEventListener(handle.windowEventName, handle.handler);
401
+ handle.registered = true;
402
+ }
403
+ removeWindowListener(handle) {
404
+ if (!handle) {
405
+ return;
406
+ }
407
+ window.removeEventListener(handle.windowEventName, handle.handler);
408
+ handle.registered = false;
409
+ }
410
+ }
411
+
412
+ const WebView = /*#__PURE__*/ registerPlugin('WebView');
413
+
414
+ exports.Capacitor = Capacitor;
415
+ exports.CapacitorException = CapacitorException;
416
+ exports.CapacitorPlatforms = CapacitorPlatforms;
417
+ exports.Plugins = Plugins;
418
+ exports.WebPlugin = WebPlugin;
419
+ exports.WebView = WebView;
420
+ exports.addPlatform = addPlatform;
421
+ exports.registerPlugin = registerPlugin;
422
+ exports.registerWebPlugin = registerWebPlugin;
423
+ exports.setPlatform = setPlatform;
424
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../build/platforms.js","../build/legacy/legacy-web-plugin-merge.js","../build/util.js","../build/runtime.js","../build/global.js","../build/web-plugin.js","../build/core-plugins.js"],"sourcesContent":["const createCapacitorPlatforms = (win) => {\n const defaultPlatformMap = new Map();\n defaultPlatformMap.set('web', { name: 'web' });\n const capPlatforms = win.CapacitorPlatforms || {\n currentPlatform: { name: 'web' },\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 */\nexport const CapacitorPlatforms = /*#__PURE__*/ initPlatforms((typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {}));\n/**\n * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead\n */\nexport const addPlatform = CapacitorPlatforms.addPlatform;\n/**\n * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead\n */\nexport const setPlatform = CapacitorPlatforms.setPlatform;\n//# sourceMappingURL=platforms.js.map","export const legacyRegisterWebPlugin = (cap, webPlugin) => {\n var _a;\n const config = webPlugin.config;\n const Plugins = cap.Plugins;\n if (!config || !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};\n//# sourceMappingURL=legacy-web-plugin-merge.js.map","export var ExceptionCode;\n(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})(ExceptionCode || (ExceptionCode = {}));\nexport class 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}\nexport const getPlatformId = (win) => {\n var _a, _b;\n if (win === null || win === void 0 ? void 0 : win.androidBridge) {\n return 'android';\n }\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 }\n else {\n return 'web';\n }\n};\n//# sourceMappingURL=util.js.map","import { CapacitorException, getPlatformId, ExceptionCode } from './util';\nexport const 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\n ? capCustomPlatform.name\n : 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) ||\n defaultIsPluginAvailable;\n const defaultGetPluginHeader = (pluginName) => { var _a; return (_a = cap.PluginHeaders) === null || _a === void 0 ? void 0 : _a.find(h => h.name === pluginName); };\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 =\n typeof jsImplementations[platform] === 'function'\n ? (jsImplementation = await jsImplementations[platform]())\n : (jsImplementation = jsImplementations[platform]);\n }\n else if (capCustomPlatform !== null &&\n !jsImplementation &&\n 'web' in jsImplementations) {\n jsImplementation =\n typeof jsImplementations['web'] === 'function'\n ? (jsImplementation = await jsImplementations['web']())\n : (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 }\n else {\n return (options, callback) => cap.nativeCallback(pluginName, prop.toString(), options, callback);\n }\n }\n else if (impl) {\n return (_a = impl[prop]) === null || _a === void 0 ? void 0 : _a.bind(impl);\n }\n }\n else if (impl) {\n return (_b = impl[prop]) === null || _b === void 0 ? void 0 : _b.bind(impl);\n }\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 }\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({ eventName }, 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({ remove })));\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([\n ...Object.keys(jsImplementations),\n ...(pluginHeader ? [platform] : []),\n ]),\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};\nexport const initCapacitorGlobal = (win) => (win.Capacitor = createCapacitor(win));\n//# sourceMappingURL=runtime.js.map","import { legacyRegisterWebPlugin } from './legacy/legacy-web-plugin-merge';\nimport { initCapacitorGlobal } from './runtime';\nexport const Capacitor = /*#__PURE__*/ initCapacitorGlobal(typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {});\nexport const 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 */\nexport const 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 */\nexport const registerWebPlugin = (plugin) => legacyRegisterWebPlugin(Capacitor, plugin);\n//# sourceMappingURL=global.js.map","import { Capacitor } from './global';\nimport { ExceptionCode } from './util';\n/**\n * Base class web plugins should extend.\n */\nexport class 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({ remove });\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}\n//# sourceMappingURL=web-plugin.js.map","import { registerPlugin } from './global';\nexport const WebView = /*#__PURE__*/ registerPlugin('WebView');\n//# sourceMappingURL=core-plugins.js.map"],"names":["ExceptionCode"],"mappings":"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"}