@capacitor/core 2.2.1 → 2.4.2
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/dist/capacitor.js +1 -1
- package/dist/capacitor.js.map +1 -1
- package/dist/esm/core-plugin-definitions.d.ts +42 -2
- package/dist/esm/core-plugin-definitions.js.map +1 -1
- package/dist/esm/web/camera.d.ts +1 -0
- package/dist/esm/web/camera.js +89 -11
- package/dist/esm/web/camera.js.map +1 -1
- package/dist/esm/web/device.js +2 -0
- package/dist/esm/web/device.js.map +1 -1
- package/dist/index.js +90 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/capacitor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["esm/core-plugin-definitions.js","esm/web-runtime.js","esm/global.js","esm/web/index.js","../node_modules/tslib/tslib.es6.js","esm/web/accessibility.js","esm/web/app.js","esm/web/browser.js","esm/web/camera.js","esm/web/clipboard.js","esm/web/filesystem.js","esm/util.js","esm/web/geolocation.js","esm/web/device.js","esm/web/local-notifications.js","esm/web/share.js","esm/web/modals.js","esm/web/motion.js","esm/web/network.js","esm/web/permissions.js","esm/web/splash-screen.js","esm/web/storage.js","esm/web/toast.js","esm/web-plugins.js"],"names":["CameraSource","CameraDirection","CameraResultType","FilesystemDirectory","FilesystemEncoding","HapticsImpactStyle","HapticsNotificationType","KeyboardStyle","KeyboardResize","ActionSheetOptionStyle","PermissionType","PhotosAlbumType","StatusBarStyle","StatusBarAnimation","globalThis","CapacitorWeb","_this","this","platform","isNative","Plugins","Proxy","get","target","prop","thisRef_1","_target","_prop","pluginMethodNoop","bind","prototype","pluginName","Promise","reject","getPlatform","isPluginAvailable","name","hasOwnProperty","convertFileSrc","filePath","handleError","e","console","error","Capacitor","self","window","global","WebPluginRegistry","plugins","loadedPlugins","addPlugin","plugin","config","getPlugin","loadPlugin","load","getPlugins","p","name_1","push","WebPlugins","WebPlugin","pluginRegistry","loaded","listeners","windowListeners","addWindowListener","handle","addEventListener","windowEventName","handler","registered","removeWindowListener","removeEventListener","addListener","eventName","listenerFunc","windowListener","remove","removeListener","index","indexOf","splice","length","removeAllListeners","listener","notifyListeners","data","forEach","hasListeners","registerWindowListener","pluginEventName","event","requestPermissions","nativePromise","resolve","results","mergeWebPlugins","knownPlugins","_i","plugins_1","mergeWebPlugin","platforms","shouldMergeWebPlugin","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","__extends","__","constructor","create","__awaiter","thisArg","_arguments","P","generator","fulfilled","value","step","next","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","n","v","op","TypeError","call","pop","AccessibilityPluginWeb","_super","isScreenReaderEnabled","Error","speak","options","utterance","SpeechSynthesisUtterance","language","lang","speechSynthesis","Accessibility","AppPluginWeb","document","handleVisibilityChange","exitApp","canOpenUrl","_options","openUrl","completed","getLaunchUrl","url","getState","isActive","hidden","App","BrowserPluginWeb","open","_a","_lastWindow","windowName","prefetch","close","Browser","CameraPluginWeb","getPhoto","cameraModal","createElement","appendChild","componentOnReady","photo","_b","detail","message","_getCameraPhoto","dismiss","removeChild","present","reader","FileReader","format","type","split","resultType","Uri","webPath","URL","createObjectURL","readAsDataURL","onloadend","r","DataUrl","dataUrl","base64String","onerror","Camera","ClipboardPluginWeb","write","blob","clipboardItemInput","navigator","clipboard","undefined","string","writeText","image","fetch","ClipboardItem","read","clipboardItems","clipboardBlob","readText","types","getType","_getBlobData","text","includes","readAsText","Clipboard","FilesystemPluginWeb","DEFAULT_DIRECTORY","Data","DB_VERSION","DB_NAME","_writeCmds","initDb","_db","request","indexedDB","onupgradeneeded","doUpgrade","onsuccess","onblocked","warn","db","oldVersion","objectStoreNames","contains","deleteObjectStore","createObjectStore","keyPath","createIndex","dbRequest","cmd","args","readFlag","conn","store","transaction","objectStore","req","dbIndexRequest","indexName","getPath","directory","uriPath","cleanedUriPath","replace","fsPath","clear","tx","readFile","path","entry","content","writeFile","doRecursive","occupiedEntry","encoding","parentPath","subDirIndex","parentArgPath","now","pathObj","recursive","substr","lastIndexOf","mkdir","Date","folder","size","ctime","mtime","uri","appendFile","parentArgPathIndex","deleteFile","IDBKeyRange","only","depth","parentEntry","match","rmdir","fullPath","readDirResult","entry_1","entryPath","readdir","files","stat","entries","map","substring","getUri","rename","_copy","copy","doRename","to","from","fromDirectory","toDirectory","fromPath","toPath","toObj","toPathComponents","toPath_1","fromObj","updateTime","file","contents","contents_1","filename","startsWith","join","_debug","Filesystem","extend","objs","arguments","o","k","GeolocationPluginWeb","getCurrentPosition","_result","geolocation","pos","err","enableHighAccuracy","timeout","maximumAge","watchPosition","callback","clearWatch","parseInt","id","Geolocation","DevicePluginWeb","getInfo","ua","uaFields","userAgent","parseUa","model","appVersion","appBuild","operatingSystem","osVersion","manufacturer","vendor","isVirtual","uuid","getUid","getBatteryInfo","battery","getBattery","batteryLevel","level","isCharging","charging","getLanguageCode","_ua","start","end","fields","oscpu","lastParts","test","MSStream","uid","localStorage","getItem","c","Math","random","toString","setItem","Device","LocalNotificationsPluginWeb","pending","createChannel","channel","deleteChannel","listChannels","sendPending","toRemove","localNotification","schedule","at","buildNotification","log","filter","find","ln","sendNotification","l","diff","setTimeout","Notification","title","notifications","notification","getPending","registerActionTypes","cancel","areEnabled","permission","requestPermission","granted","LocalNotifications","SharePluginWeb","share","Share","ModalsPluginWeb","alert","prompt","val","inputText","cancelled","confirm","showActions","_reject","actionSheet","querySelector","header","cancelable","selection","Modals","MotionPluginWeb","Motion","NetworkPluginWeb","listenerFunction","getStatus","connected","onLine","connection","mozConnection","webkitConnection","connectionType","effectiveType","onlineBindFunc","offlineBindFunc","localeCompare","Network","PermissionsPluginWeb","query","permissions","Photos","state","Permissions","SplashScreenPluginWeb","show","_callback","hide","SplashScreen","StoragePluginWeb","KEY_PREFIX","makeKey","key","set","removeItem","keys","isKey","getKey","Storage","ToastPluginWeb","duration","toast","Toast"],"mappings":"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","sourcesContent":["export var CameraSource;\n(function (CameraSource) {\n CameraSource[\"Prompt\"] = \"PROMPT\";\n CameraSource[\"Camera\"] = \"CAMERA\";\n CameraSource[\"Photos\"] = \"PHOTOS\";\n})(CameraSource || (CameraSource = {}));\nexport var CameraDirection;\n(function (CameraDirection) {\n CameraDirection[\"Rear\"] = \"REAR\";\n CameraDirection[\"Front\"] = \"FRONT\";\n})(CameraDirection || (CameraDirection = {}));\nexport var CameraResultType;\n(function (CameraResultType) {\n CameraResultType[\"Uri\"] = \"uri\";\n CameraResultType[\"Base64\"] = \"base64\";\n CameraResultType[\"DataUrl\"] = \"dataUrl\";\n})(CameraResultType || (CameraResultType = {}));\nexport var FilesystemDirectory;\n(function (FilesystemDirectory) {\n /**\n * The Documents directory\n * On iOS it's the app's documents directory.\n * Use this directory to store user-generated content.\n * On Android it's the Public Documents folder, so it's accessible from other apps.\n * It's not accesible on Android 10 unless the app enables legacy External Storage\n * by adding `android:requestLegacyExternalStorage=\"true\"` in the `application` tag\n * in the `AndroidManifest.xml`\n */\n FilesystemDirectory[\"Documents\"] = \"DOCUMENTS\";\n /**\n * The Data directory\n * On iOS it will use the Documents directory\n * On Android it's the directory holding application files.\n * Files will be deleted when the application is uninstalled.\n */\n FilesystemDirectory[\"Data\"] = \"DATA\";\n /**\n * The Cache directory\n * Can be deleted in cases of low memory, so use this directory to write app-specific files\n * that your app can re-create easily.\n */\n FilesystemDirectory[\"Cache\"] = \"CACHE\";\n /**\n * The external directory\n * On iOS it will use the Documents directory\n * On Android it's the directory on the primary shared/external\n * storage device where the application can place persistent files it owns.\n * These files are internal to the applications, and not typically visible\n * to the user as media.\n * Files will be deleted when the application is uninstalled.\n */\n FilesystemDirectory[\"External\"] = \"EXTERNAL\";\n /**\n * The external storage directory\n * On iOS it will use the Documents directory\n * On Android it's the primary shared/external storage directory.\n * It's not accesible on Android 10 unless the app enables legacy External Storage\n * by adding `android:requestLegacyExternalStorage=\"true\"` in the `application` tag\n * in the `AndroidManifest.xml`\n */\n FilesystemDirectory[\"ExternalStorage\"] = \"EXTERNAL_STORAGE\";\n})(FilesystemDirectory || (FilesystemDirectory = {}));\nexport var FilesystemEncoding;\n(function (FilesystemEncoding) {\n FilesystemEncoding[\"UTF8\"] = \"utf8\";\n FilesystemEncoding[\"ASCII\"] = \"ascii\";\n FilesystemEncoding[\"UTF16\"] = \"utf16\";\n})(FilesystemEncoding || (FilesystemEncoding = {}));\nexport var HapticsImpactStyle;\n(function (HapticsImpactStyle) {\n HapticsImpactStyle[\"Heavy\"] = \"HEAVY\";\n HapticsImpactStyle[\"Medium\"] = \"MEDIUM\";\n HapticsImpactStyle[\"Light\"] = \"LIGHT\";\n})(HapticsImpactStyle || (HapticsImpactStyle = {}));\nexport var HapticsNotificationType;\n(function (HapticsNotificationType) {\n HapticsNotificationType[\"SUCCESS\"] = \"SUCCESS\";\n HapticsNotificationType[\"WARNING\"] = \"WARNING\";\n HapticsNotificationType[\"ERROR\"] = \"ERROR\";\n})(HapticsNotificationType || (HapticsNotificationType = {}));\nexport var KeyboardStyle;\n(function (KeyboardStyle) {\n KeyboardStyle[\"Dark\"] = \"DARK\";\n KeyboardStyle[\"Light\"] = \"LIGHT\";\n})(KeyboardStyle || (KeyboardStyle = {}));\nexport var KeyboardResize;\n(function (KeyboardResize) {\n KeyboardResize[\"Body\"] = \"body\";\n KeyboardResize[\"Ionic\"] = \"ionic\";\n KeyboardResize[\"Native\"] = \"native\";\n KeyboardResize[\"None\"] = \"none\";\n})(KeyboardResize || (KeyboardResize = {}));\nexport var ActionSheetOptionStyle;\n(function (ActionSheetOptionStyle) {\n ActionSheetOptionStyle[\"Default\"] = \"DEFAULT\";\n ActionSheetOptionStyle[\"Destructive\"] = \"DESTRUCTIVE\";\n ActionSheetOptionStyle[\"Cancel\"] = \"CANCEL\";\n})(ActionSheetOptionStyle || (ActionSheetOptionStyle = {}));\n//\nexport var PermissionType;\n(function (PermissionType) {\n PermissionType[\"Camera\"] = \"camera\";\n PermissionType[\"Photos\"] = \"photos\";\n PermissionType[\"Geolocation\"] = \"geolocation\";\n PermissionType[\"Notifications\"] = \"notifications\";\n PermissionType[\"ClipboardRead\"] = \"clipboard-read\";\n PermissionType[\"ClipboardWrite\"] = \"clipboard-write\";\n PermissionType[\"Microphone\"] = \"microphone\";\n})(PermissionType || (PermissionType = {}));\nexport var PhotosAlbumType;\n(function (PhotosAlbumType) {\n /**\n * Album is a \"smart\" album (such as Favorites or Recently Added)\n */\n PhotosAlbumType[\"Smart\"] = \"smart\";\n /**\n * Album is a cloud-shared album\n */\n PhotosAlbumType[\"Shared\"] = \"shared\";\n /**\n * Album is a user-created album\n */\n PhotosAlbumType[\"User\"] = \"user\";\n})(PhotosAlbumType || (PhotosAlbumType = {}));\nexport var StatusBarStyle;\n(function (StatusBarStyle) {\n /**\n * Light text for dark backgrounds.\n */\n StatusBarStyle[\"Dark\"] = \"DARK\";\n /**\n * Dark text for light backgrounds.\n */\n StatusBarStyle[\"Light\"] = \"LIGHT\";\n})(StatusBarStyle || (StatusBarStyle = {}));\nexport var StatusBarAnimation;\n(function (StatusBarAnimation) {\n /**\n * No animation during show/hide.\n */\n StatusBarAnimation[\"None\"] = \"NONE\";\n /**\n * Slide animation during show/hide.\n */\n StatusBarAnimation[\"Slide\"] = \"SLIDE\";\n /**\n * Fade animation during show/hide.\n */\n StatusBarAnimation[\"Fade\"] = \"FADE\";\n})(StatusBarAnimation || (StatusBarAnimation = {}));\n//# sourceMappingURL=core-plugin-definitions.js.map","var CapacitorWeb = /** @class */ (function () {\n function CapacitorWeb() {\n var _this = this;\n this.platform = 'web';\n this.isNative = false;\n // Need to assign here to avoid having to define every plugin but still\n // get the typed benefits of the provided plugins in PluginRegistry\n this.Plugins = {};\n // Gracefully degrade in non-Proxy supporting engines, e.g. IE11. This\n // effectively means that trying to access an unavailable plugin will\n // locally throw, but this is still better than throwing a syntax error.\n if (typeof Proxy !== 'undefined') {\n // Build a proxy for the Plugins object that returns the \"Noop Plugin\"\n // if a plugin isn't available\n this.Plugins = new Proxy(this.Plugins, {\n get: function (target, prop) {\n if (typeof target[prop] === 'undefined') {\n var thisRef_1 = _this;\n return new Proxy({}, {\n get: function (_target, _prop) {\n if (typeof _target[_prop] === 'undefined') {\n return thisRef_1.pluginMethodNoop.bind(thisRef_1, _target, _prop, prop);\n }\n else {\n return _target[_prop];\n }\n }\n });\n }\n else {\n return target[prop];\n }\n }\n });\n }\n }\n CapacitorWeb.prototype.pluginMethodNoop = function (_target, _prop, pluginName) {\n return Promise.reject(pluginName + \" does not have web implementation.\");\n };\n CapacitorWeb.prototype.getPlatform = function () {\n return this.platform;\n };\n CapacitorWeb.prototype.isPluginAvailable = function (name) {\n return this.Plugins.hasOwnProperty(name);\n };\n CapacitorWeb.prototype.convertFileSrc = function (filePath) {\n return filePath;\n };\n CapacitorWeb.prototype.handleError = function (e) {\n console.error(e);\n };\n return CapacitorWeb;\n}());\nexport { CapacitorWeb };\n//# sourceMappingURL=web-runtime.js.map","import { CapacitorWeb } from './web-runtime';\n// Create our default Capacitor instance, which will be\n// overridden on native platforms\nvar Capacitor = (function (globalThis) {\n // Create a new CapacitorWeb instance if one doesn't already exist on globalThis\n // Ensure the global is assigned the same Capacitor instance,\n // then export Capacitor so it can be imported in other modules\n return globalThis.Capacitor = (globalThis.Capacitor || new CapacitorWeb());\n})(\n// figure out the current globalThis, such as \"window\", \"self\" or \"global\"\n// ensure errors are not thrown in an node SSR environment or web worker\ntypeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {});\nvar Plugins = Capacitor.Plugins;\nexport { Capacitor, Plugins };\n//# sourceMappingURL=global.js.map","var WebPluginRegistry = /** @class */ (function () {\n function WebPluginRegistry() {\n this.plugins = {};\n this.loadedPlugins = {};\n }\n WebPluginRegistry.prototype.addPlugin = function (plugin) {\n this.plugins[plugin.config.name] = plugin;\n };\n WebPluginRegistry.prototype.getPlugin = function (name) {\n return this.plugins[name];\n };\n WebPluginRegistry.prototype.loadPlugin = function (name) {\n var plugin = this.getPlugin(name);\n if (!plugin) {\n console.error(\"Unable to load web plugin \" + name + \", no such plugin found.\");\n return;\n }\n plugin.load();\n };\n WebPluginRegistry.prototype.getPlugins = function () {\n var p = [];\n for (var name_1 in this.plugins) {\n p.push(this.plugins[name_1]);\n }\n return p;\n };\n return WebPluginRegistry;\n}());\nexport { WebPluginRegistry };\nvar WebPlugins = new WebPluginRegistry();\nexport { WebPlugins };\nvar WebPlugin = /** @class */ (function () {\n function WebPlugin(config, pluginRegistry) {\n this.config = config;\n this.loaded = false;\n this.listeners = {};\n this.windowListeners = {};\n if (!pluginRegistry) {\n WebPlugins.addPlugin(this);\n }\n else {\n pluginRegistry.addPlugin(this);\n }\n }\n WebPlugin.prototype.addWindowListener = function (handle) {\n window.addEventListener(handle.windowEventName, handle.handler);\n handle.registered = true;\n };\n WebPlugin.prototype.removeWindowListener = function (handle) {\n if (!handle) {\n return;\n }\n window.removeEventListener(handle.windowEventName, handle.handler);\n handle.registered = false;\n };\n WebPlugin.prototype.addListener = function (eventName, listenerFunc) {\n var _this = this;\n var 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 var windowListener = this.windowListeners[eventName];\n if (windowListener && !windowListener.registered) {\n this.addWindowListener(windowListener);\n }\n return {\n remove: function () {\n _this.removeListener(eventName, listenerFunc);\n }\n };\n };\n WebPlugin.prototype.removeListener = function (eventName, listenerFunc) {\n var listeners = this.listeners[eventName];\n if (!listeners) {\n return;\n }\n var 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 WebPlugin.prototype.removeAllListeners = function () {\n this.listeners = {};\n for (var listener in this.windowListeners) {\n this.removeWindowListener(this.windowListeners[listener]);\n }\n this.windowListeners = {};\n };\n WebPlugin.prototype.notifyListeners = function (eventName, data) {\n var listeners = this.listeners[eventName];\n if (listeners) {\n listeners.forEach(function (listener) { return listener(data); });\n }\n };\n WebPlugin.prototype.hasListeners = function (eventName) {\n return !!this.listeners[eventName].length;\n };\n WebPlugin.prototype.registerWindowListener = function (windowEventName, pluginEventName) {\n var _this = this;\n this.windowListeners[pluginEventName] = {\n registered: false,\n windowEventName: windowEventName,\n pluginEventName: pluginEventName,\n handler: function (event) {\n _this.notifyListeners(pluginEventName, event);\n }\n };\n };\n WebPlugin.prototype.requestPermissions = function () {\n if (Capacitor.isNative) {\n return Capacitor.nativePromise(this.config.name, 'requestPermissions', {});\n }\n else {\n return Promise.resolve({ results: [] });\n }\n };\n WebPlugin.prototype.load = function () {\n this.loaded = true;\n };\n return WebPlugin;\n}());\nexport { WebPlugin };\nvar shouldMergeWebPlugin = function (plugin) {\n return plugin.config.platforms && plugin.config.platforms.indexOf(Capacitor.platform) >= 0;\n};\n/**\n * For all our known web plugins, merge them into the global plugins\n * registry if they aren't already existing. If they don't exist, that\n * means there's no existing native implementation for it.\n * @param knownPlugins the Capacitor.Plugins global registry.\n */\nexport var mergeWebPlugins = function (knownPlugins) {\n var plugins = WebPlugins.getPlugins();\n for (var _i = 0, plugins_1 = plugins; _i < plugins_1.length; _i++) {\n var plugin = plugins_1[_i];\n mergeWebPlugin(knownPlugins, plugin);\n }\n};\nexport var mergeWebPlugin = function (knownPlugins, plugin) {\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 if (knownPlugins.hasOwnProperty(plugin.config.name) && !shouldMergeWebPlugin(plugin)) {\n return;\n }\n knownPlugins[plugin.config.name] = plugin;\n};\n//# sourceMappingURL=index.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar AccessibilityPluginWeb = /** @class */ (function (_super) {\n __extends(AccessibilityPluginWeb, _super);\n function AccessibilityPluginWeb() {\n return _super.call(this, {\n name: 'Accessibility',\n platforms: ['web']\n }) || this;\n }\n AccessibilityPluginWeb.prototype.isScreenReaderEnabled = function () {\n throw new Error('Feature not available in the browser');\n };\n AccessibilityPluginWeb.prototype.speak = function (options) {\n if (!('speechSynthesis' in window)) {\n return Promise.reject('Browser does not support the Speech Synthesis API');\n }\n var utterance = new SpeechSynthesisUtterance(options.value);\n if (options.language) {\n utterance.lang = options.language;\n }\n window.speechSynthesis.speak(utterance);\n return Promise.resolve();\n };\n return AccessibilityPluginWeb;\n}(WebPlugin));\nexport { AccessibilityPluginWeb };\nvar Accessibility = new AccessibilityPluginWeb();\nexport { Accessibility };\n//# sourceMappingURL=accessibility.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar AppPluginWeb = /** @class */ (function (_super) {\n __extends(AppPluginWeb, _super);\n function AppPluginWeb() {\n var _this = _super.call(this, {\n name: 'App',\n platforms: ['web']\n }) || this;\n if (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', _this.handleVisibilityChange.bind(_this), false);\n }\n return _this;\n }\n AppPluginWeb.prototype.exitApp = function () {\n throw new Error('Method not implemented.');\n };\n AppPluginWeb.prototype.canOpenUrl = function (_options) {\n return Promise.resolve({ value: true });\n };\n AppPluginWeb.prototype.openUrl = function (_options) {\n return Promise.resolve({ completed: true });\n };\n AppPluginWeb.prototype.getLaunchUrl = function () {\n return Promise.resolve({ url: '' });\n };\n AppPluginWeb.prototype.getState = function () {\n return Promise.resolve({ isActive: document.hidden !== true });\n };\n AppPluginWeb.prototype.handleVisibilityChange = function () {\n var data = {\n isActive: document.hidden !== true\n };\n this.notifyListeners('appStateChange', data);\n };\n return AppPluginWeb;\n}(WebPlugin));\nexport { AppPluginWeb };\nvar App = new AppPluginWeb();\nexport { App };\n//# sourceMappingURL=app.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nvar BrowserPluginWeb = /** @class */ (function (_super) {\n __extends(BrowserPluginWeb, _super);\n function BrowserPluginWeb() {\n return _super.call(this, {\n name: 'Browser',\n platforms: ['web']\n }) || this;\n }\n BrowserPluginWeb.prototype.open = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this._lastWindow = window.open(options.url, options.windowName || '_blank');\n return [2 /*return*/, Promise.resolve()];\n });\n });\n };\n BrowserPluginWeb.prototype.prefetch = function (_options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n // Does nothing\n return [2 /*return*/, Promise.resolve()];\n });\n });\n };\n BrowserPluginWeb.prototype.close = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this._lastWindow && this._lastWindow.close();\n return [2 /*return*/, Promise.resolve()];\n });\n });\n };\n return BrowserPluginWeb;\n}(WebPlugin));\nexport { BrowserPluginWeb };\nvar Browser = new BrowserPluginWeb();\nexport { Browser };\n//# sourceMappingURL=browser.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nimport { CameraResultType } from '../core-plugin-definitions';\nvar CameraPluginWeb = /** @class */ (function (_super) {\n __extends(CameraPluginWeb, _super);\n function CameraPluginWeb() {\n return _super.call(this, {\n name: 'Camera',\n platforms: ['web']\n }) || this;\n }\n CameraPluginWeb.prototype.getPhoto = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n options;\n return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {\n var cameraModal;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n cameraModal = document.createElement('pwa-camera-modal');\n document.body.appendChild(cameraModal);\n return [4 /*yield*/, cameraModal.componentOnReady()];\n case 1:\n _a.sent();\n cameraModal.addEventListener('onPhoto', function (e) { return __awaiter(_this, void 0, void 0, function () {\n var photo, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n photo = e.detail;\n if (!(photo === null)) return [3 /*break*/, 1];\n reject('User cancelled photos app');\n return [3 /*break*/, 4];\n case 1:\n if (!(photo instanceof Error)) return [3 /*break*/, 2];\n reject(photo.message);\n return [3 /*break*/, 4];\n case 2:\n _a = resolve;\n return [4 /*yield*/, this._getCameraPhoto(photo, options)];\n case 3:\n _a.apply(void 0, [_b.sent()]);\n _b.label = 4;\n case 4:\n cameraModal.dismiss();\n document.body.removeChild(cameraModal);\n return [2 /*return*/];\n }\n });\n }); });\n cameraModal.present();\n return [2 /*return*/];\n }\n });\n }); })];\n });\n });\n };\n CameraPluginWeb.prototype._getCameraPhoto = function (photo, options) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n var format = photo.type.split('/')[1];\n if (options.resultType === CameraResultType.Uri) {\n resolve({\n webPath: URL.createObjectURL(photo),\n format: format\n });\n }\n else {\n reader.readAsDataURL(photo);\n reader.onloadend = function () {\n var r = reader.result;\n if (options.resultType === CameraResultType.DataUrl) {\n resolve({\n dataUrl: r,\n format: format\n });\n }\n else {\n resolve({\n base64String: r.split(',')[1],\n format: format\n });\n }\n };\n reader.onerror = function (e) {\n reject(e);\n };\n }\n });\n };\n return CameraPluginWeb;\n}(WebPlugin));\nexport { CameraPluginWeb };\nvar Camera = new CameraPluginWeb();\nexport { Camera };\n//# sourceMappingURL=camera.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nvar ClipboardPluginWeb = /** @class */ (function (_super) {\n __extends(ClipboardPluginWeb, _super);\n function ClipboardPluginWeb() {\n return _super.call(this, {\n name: 'Clipboard',\n platforms: ['web']\n }) || this;\n }\n ClipboardPluginWeb.prototype.write = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var blob, clipboardItemInput, err_1;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!navigator.clipboard) {\n return [2 /*return*/, Promise.reject('Clipboard API not available in this browser')];\n }\n if (!(options.string !== undefined || options.url)) return [3 /*break*/, 2];\n if (!navigator.clipboard.writeText) {\n return [2 /*return*/, Promise.reject('Writting to clipboard not supported in this browser')];\n }\n return [4 /*yield*/, navigator.clipboard.writeText(options.string !== undefined ? options.string : options.url)];\n case 1:\n _b.sent();\n return [3 /*break*/, 10];\n case 2:\n if (!options.image) return [3 /*break*/, 9];\n if (!navigator.clipboard.write) {\n return [2 /*return*/, Promise.reject('Setting images not supported in this browser')];\n }\n _b.label = 3;\n case 3:\n _b.trys.push([3, 7, , 8]);\n return [4 /*yield*/, fetch(options.image)];\n case 4: return [4 /*yield*/, (_b.sent()).blob()];\n case 5:\n blob = _b.sent();\n clipboardItemInput = new ClipboardItem((_a = {}, _a[blob.type] = blob, _a));\n return [4 /*yield*/, navigator.clipboard.write([clipboardItemInput])];\n case 6:\n _b.sent();\n return [3 /*break*/, 8];\n case 7:\n err_1 = _b.sent();\n return [2 /*return*/, Promise.reject('Failed to write image')];\n case 8: return [3 /*break*/, 10];\n case 9: return [2 /*return*/, Promise.reject('Nothing to write')];\n case 10: return [2 /*return*/, Promise.resolve()];\n }\n });\n });\n };\n ClipboardPluginWeb.prototype.read = function () {\n return __awaiter(this, void 0, void 0, function () {\n var clipboardItems, type, clipboardBlob, data, err_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!navigator.clipboard) {\n return [2 /*return*/, Promise.reject('Clipboard API not available in this browser')];\n }\n if (!!navigator.clipboard.read) return [3 /*break*/, 1];\n if (!navigator.clipboard.readText) {\n return [2 /*return*/, Promise.reject('Reading from clipboard not supported in this browser')];\n }\n return [2 /*return*/, this.readText()];\n case 1:\n _a.trys.push([1, 5, , 6]);\n return [4 /*yield*/, navigator.clipboard.read()];\n case 2:\n clipboardItems = _a.sent();\n type = clipboardItems[0].types[0];\n return [4 /*yield*/, clipboardItems[0].getType(type)];\n case 3:\n clipboardBlob = _a.sent();\n return [4 /*yield*/, this._getBlobData(clipboardBlob, type)];\n case 4:\n data = _a.sent();\n return [2 /*return*/, Promise.resolve({ value: data, type: type })];\n case 5:\n err_2 = _a.sent();\n return [2 /*return*/, this.readText()];\n case 6: return [2 /*return*/];\n }\n });\n });\n };\n ClipboardPluginWeb.prototype.readText = function () {\n return __awaiter(this, void 0, void 0, function () {\n var text;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, navigator.clipboard.readText()];\n case 1:\n text = _a.sent();\n return [2 /*return*/, Promise.resolve({ value: text, type: 'text/plain' })];\n }\n });\n });\n };\n ClipboardPluginWeb.prototype._getBlobData = function (clipboardBlob, type) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n if (type.includes('image')) {\n reader.readAsDataURL(clipboardBlob);\n }\n else {\n reader.readAsText(clipboardBlob);\n }\n reader.onloadend = function () {\n var r = reader.result;\n resolve(r);\n };\n reader.onerror = function (e) {\n reject(e);\n };\n });\n };\n return ClipboardPluginWeb;\n}(WebPlugin));\nexport { ClipboardPluginWeb };\nvar Clipboard = new ClipboardPluginWeb();\nexport { Clipboard };\n//# sourceMappingURL=clipboard.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nimport { FilesystemDirectory } from '../core-plugin-definitions';\nvar FilesystemPluginWeb = /** @class */ (function (_super) {\n __extends(FilesystemPluginWeb, _super);\n function FilesystemPluginWeb() {\n var _this = _super.call(this, {\n name: 'Filesystem',\n platforms: ['web']\n }) || this;\n _this.DEFAULT_DIRECTORY = FilesystemDirectory.Data;\n _this.DB_VERSION = 1;\n _this.DB_NAME = 'Disc';\n _this._writeCmds = ['add', 'put', 'delete'];\n return _this;\n }\n FilesystemPluginWeb.prototype.initDb = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n if (this._db !== undefined) {\n return [2 /*return*/, this._db];\n }\n if (!('indexedDB' in window)) {\n throw new Error('This browser doesn\\'t support IndexedDB');\n }\n return [2 /*return*/, new Promise(function (resolve, reject) {\n var request = indexedDB.open(_this.DB_NAME, _this.DB_VERSION);\n request.onupgradeneeded = FilesystemPluginWeb.doUpgrade;\n request.onsuccess = function () {\n _this._db = request.result;\n resolve(request.result);\n };\n request.onerror = function () { return reject(request.error); };\n request.onblocked = function () {\n console.warn('db blocked');\n };\n })];\n });\n });\n };\n FilesystemPluginWeb.doUpgrade = function (event) {\n var eventTarget = event.target;\n var db = eventTarget.result;\n switch (event.oldVersion) {\n case 0:\n case 1:\n default:\n if (db.objectStoreNames.contains('FileStorage')) {\n db.deleteObjectStore('FileStorage');\n }\n var store = db.createObjectStore('FileStorage', { keyPath: 'path' });\n store.createIndex('by_folder', 'folder');\n }\n };\n FilesystemPluginWeb.prototype.dbRequest = function (cmd, args) {\n return __awaiter(this, void 0, void 0, function () {\n var readFlag;\n return __generator(this, function (_a) {\n readFlag = this._writeCmds.indexOf(cmd) !== -1 ? 'readwrite' : 'readonly';\n return [2 /*return*/, this.initDb()\n .then(function (conn) {\n return new Promise(function (resolve, reject) {\n var tx = conn.transaction(['FileStorage'], readFlag);\n var store = tx.objectStore('FileStorage');\n var req = store[cmd].apply(store, args);\n req.onsuccess = function () { return resolve(req.result); };\n req.onerror = function () { return reject(req.error); };\n });\n })];\n });\n });\n };\n FilesystemPluginWeb.prototype.dbIndexRequest = function (indexName, cmd, args) {\n return __awaiter(this, void 0, void 0, function () {\n var readFlag;\n return __generator(this, function (_a) {\n readFlag = this._writeCmds.indexOf(cmd) !== -1 ? 'readwrite' : 'readonly';\n return [2 /*return*/, this.initDb()\n .then(function (conn) {\n return new Promise(function (resolve, reject) {\n var tx = conn.transaction(['FileStorage'], readFlag);\n var store = tx.objectStore('FileStorage');\n var index = store.index(indexName);\n var req = index[cmd].apply(index, args);\n req.onsuccess = function () { return resolve(req.result); };\n req.onerror = function () { return reject(req.error); };\n });\n })];\n });\n });\n };\n FilesystemPluginWeb.prototype.getPath = function (directory, uriPath) {\n directory = directory || this.DEFAULT_DIRECTORY;\n var cleanedUriPath = uriPath !== undefined ? uriPath.replace(/^[/]+|[/]+$/g, '') : '';\n var fsPath = '/' + directory;\n if (uriPath !== '')\n fsPath += '/' + cleanedUriPath;\n return fsPath;\n };\n FilesystemPluginWeb.prototype.clear = function () {\n return __awaiter(this, void 0, void 0, function () {\n var conn, tx, store;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.initDb()];\n case 1:\n conn = _a.sent();\n tx = conn.transaction(['FileStorage'], 'readwrite');\n store = tx.objectStore('FileStorage');\n store.clear();\n return [2 /*return*/, {}];\n }\n });\n });\n };\n /**\n * Read a file from disk\n * @param options options for the file read\n * @return a promise that resolves with the read file data result\n */\n FilesystemPluginWeb.prototype.readFile = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, entry;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n entry = _a.sent();\n if (entry === undefined)\n throw Error('File does not exist.');\n return [2 /*return*/, { data: entry.content }];\n }\n });\n });\n };\n /**\n * Write a file to disk in the specified location on device\n * @param options options for the file write\n * @return a promise that resolves with the file write result\n */\n FilesystemPluginWeb.prototype.writeFile = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, data, doRecursive, occupiedEntry, encoding, parentPath, parentEntry, subDirIndex, parentArgPath, now, pathObj;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n data = options.data;\n doRecursive = options.recursive;\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n occupiedEntry = _a.sent();\n if (occupiedEntry && occupiedEntry.type === 'directory')\n throw ('The supplied path is a directory.');\n encoding = options.encoding;\n parentPath = path.substr(0, path.lastIndexOf('/'));\n return [4 /*yield*/, this.dbRequest('get', [parentPath])];\n case 2:\n parentEntry = _a.sent();\n if (!(parentEntry === undefined)) return [3 /*break*/, 4];\n subDirIndex = parentPath.indexOf('/', 1);\n if (!(subDirIndex !== -1)) return [3 /*break*/, 4];\n parentArgPath = parentPath.substr(subDirIndex);\n return [4 /*yield*/, this.mkdir({ path: parentArgPath, directory: options.directory, recursive: doRecursive })];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n now = Date.now();\n pathObj = {\n path: path,\n folder: parentPath,\n type: 'file',\n size: data.length,\n ctime: now,\n mtime: now,\n content: !encoding && data.indexOf(',') >= 0 ? data.split(',')[1] : data,\n };\n return [4 /*yield*/, this.dbRequest('put', [pathObj])];\n case 5:\n _a.sent();\n return [2 /*return*/, {\n uri: pathObj.path\n }];\n }\n });\n });\n };\n /**\n * Append to a file on disk in the specified location on device\n * @param options options for the file append\n * @return a promise that resolves with the file write result\n */\n FilesystemPluginWeb.prototype.appendFile = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, data, parentPath, now, ctime, occupiedEntry, parentEntry, parentArgPathIndex, parentArgPath, pathObj;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n data = options.data;\n parentPath = path.substr(0, path.lastIndexOf('/'));\n now = Date.now();\n ctime = now;\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n occupiedEntry = _a.sent();\n if (occupiedEntry && occupiedEntry.type === 'directory')\n throw ('The supplied path is a directory.');\n return [4 /*yield*/, this.dbRequest('get', [parentPath])];\n case 2:\n parentEntry = _a.sent();\n if (!(parentEntry === undefined)) return [3 /*break*/, 4];\n parentArgPathIndex = parentPath.indexOf('/', 1);\n parentArgPath = parentArgPathIndex !== -1 ? parentPath.substr(parentArgPathIndex) : '/';\n return [4 /*yield*/, this.mkdir({ path: parentArgPath, directory: options.directory, recursive: true })];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n if (occupiedEntry !== undefined) {\n data = occupiedEntry.content + data;\n ctime = occupiedEntry.ctime;\n }\n pathObj = {\n path: path,\n folder: parentPath,\n type: 'file',\n size: data.length,\n ctime: ctime,\n mtime: now,\n content: data\n };\n return [4 /*yield*/, this.dbRequest('put', [pathObj])];\n case 5:\n _a.sent();\n return [2 /*return*/, {}];\n }\n });\n });\n };\n /**\n * Delete a file from disk\n * @param options options for the file delete\n * @return a promise that resolves with the deleted file data result\n */\n FilesystemPluginWeb.prototype.deleteFile = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, entry, entries;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n entry = _a.sent();\n if (entry === undefined)\n throw Error('File does not exist.');\n return [4 /*yield*/, this.dbIndexRequest('by_folder', 'getAllKeys', [IDBKeyRange.only(path)])];\n case 2:\n entries = _a.sent();\n if (entries.length !== 0)\n throw Error('Folder is not empty.');\n return [4 /*yield*/, this.dbRequest('delete', [path])];\n case 3:\n _a.sent();\n return [2 /*return*/, {}];\n }\n });\n });\n };\n /**\n * Create a directory.\n * @param options options for the mkdir\n * @return a promise that resolves with the mkdir result\n */\n FilesystemPluginWeb.prototype.mkdir = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, doRecursive, parentPath, depth, parentEntry, occupiedEntry, parentArgPath, now, pathObj;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n doRecursive = options.recursive;\n parentPath = path.substr(0, path.lastIndexOf('/'));\n depth = (path.match(/\\//g) || []).length;\n return [4 /*yield*/, this.dbRequest('get', [parentPath])];\n case 1:\n parentEntry = _a.sent();\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 2:\n occupiedEntry = _a.sent();\n if (depth === 1)\n throw Error('Cannot create Root directory');\n if (occupiedEntry !== undefined)\n throw Error('Current directory does already exist.');\n if (!doRecursive && depth !== 2 && parentEntry === undefined)\n throw Error('Parent directory must exist');\n if (!(doRecursive && depth !== 2 && parentEntry === undefined)) return [3 /*break*/, 4];\n parentArgPath = parentPath.substr(parentPath.indexOf('/', 1));\n return [4 /*yield*/, this.mkdir({\n path: parentArgPath,\n directory: options.directory,\n recursive: doRecursive\n })];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n now = Date.now();\n pathObj = { path: path, folder: parentPath, type: 'directory', size: 0, ctime: now, mtime: now };\n return [4 /*yield*/, this.dbRequest('put', [pathObj])];\n case 5:\n _a.sent();\n return [2 /*return*/, {}];\n }\n });\n });\n };\n /**\n * Remove a directory\n * @param options the options for the directory remove\n */\n FilesystemPluginWeb.prototype.rmdir = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, directory, recursive, fullPath, entry, readDirResult, _i, _a, entry_1, entryPath, entryObj;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n path = options.path, directory = options.directory, recursive = options.recursive;\n fullPath = this.getPath(directory, path);\n return [4 /*yield*/, this.dbRequest('get', [fullPath])];\n case 1:\n entry = _b.sent();\n if (entry === undefined)\n throw Error('Folder does not exist.');\n if (entry.type !== 'directory')\n throw Error('Requested path is not a directory');\n return [4 /*yield*/, this.readdir({ path: path, directory: directory })];\n case 2:\n readDirResult = _b.sent();\n if (readDirResult.files.length !== 0 && !recursive)\n throw Error('Folder is not empty');\n _i = 0, _a = readDirResult.files;\n _b.label = 3;\n case 3:\n if (!(_i < _a.length)) return [3 /*break*/, 9];\n entry_1 = _a[_i];\n entryPath = path + \"/\" + entry_1;\n return [4 /*yield*/, this.stat({ path: entryPath, directory: directory })];\n case 4:\n entryObj = _b.sent();\n if (!(entryObj.type === 'file')) return [3 /*break*/, 6];\n return [4 /*yield*/, this.deleteFile({ path: entryPath, directory: directory })];\n case 5:\n _b.sent();\n return [3 /*break*/, 8];\n case 6: return [4 /*yield*/, this.rmdir({ path: entryPath, directory: directory, recursive: recursive })];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8:\n _i++;\n return [3 /*break*/, 3];\n case 9: return [4 /*yield*/, this.dbRequest('delete', [fullPath])];\n case 10:\n _b.sent();\n return [2 /*return*/, {}];\n }\n });\n });\n };\n /**\n * Return a list of files from the directory (not recursive)\n * @param options the options for the readdir operation\n * @return a promise that resolves with the readdir directory listing result\n */\n FilesystemPluginWeb.prototype.readdir = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, entry, entries, names;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n entry = _a.sent();\n if (options.path !== '' && entry === undefined)\n throw Error('Folder does not exist.');\n return [4 /*yield*/, this.dbIndexRequest('by_folder', 'getAllKeys', [IDBKeyRange.only(path)])];\n case 2:\n entries = _a.sent();\n names = entries.map(function (e) {\n return e.substring(path.length + 1);\n });\n return [2 /*return*/, { files: names }];\n }\n });\n });\n };\n /**\n * Return full File URI for a path and directory\n * @param options the options for the stat operation\n * @return a promise that resolves with the file stat result\n */\n FilesystemPluginWeb.prototype.getUri = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, entry;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n entry = _a.sent();\n if (!(entry === undefined)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.dbRequest('get', [path + '/'])];\n case 2:\n entry = (_a.sent());\n _a.label = 3;\n case 3:\n if (entry === undefined)\n throw Error('Entry does not exist.');\n return [2 /*return*/, {\n uri: entry.path\n }];\n }\n });\n });\n };\n /**\n * Return data about a file\n * @param options the options for the stat operation\n * @return a promise that resolves with the file stat result\n */\n FilesystemPluginWeb.prototype.stat = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, entry;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n entry = _a.sent();\n if (!(entry === undefined)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.dbRequest('get', [path + '/'])];\n case 2:\n entry = (_a.sent());\n _a.label = 3;\n case 3:\n if (entry === undefined)\n throw Error('Entry does not exist.');\n return [2 /*return*/, {\n type: entry.type,\n size: entry.size,\n ctime: entry.ctime,\n mtime: entry.mtime,\n uri: entry.path\n }];\n }\n });\n });\n };\n /**\n * Rename a file or directory\n * @param options the options for the rename operation\n * @return a promise that resolves with the rename result\n */\n FilesystemPluginWeb.prototype.rename = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._copy(options, true)];\n });\n });\n };\n /**\n * Copy a file or directory\n * @param options the options for the copy operation\n * @return a promise that resolves with the copy result\n */\n FilesystemPluginWeb.prototype.copy = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._copy(options, false)];\n });\n });\n };\n /**\n * Function that can perform a copy or a rename\n * @param options the options for the rename operation\n * @param doRename whether to perform a rename or copy operation\n * @return a promise that resolves with the result\n */\n FilesystemPluginWeb.prototype._copy = function (options, doRename) {\n if (doRename === void 0) { doRename = false; }\n return __awaiter(this, void 0, void 0, function () {\n var to, from, fromDirectory, toDirectory, fromPath, toPath, toObj, e_1, toPathComponents, toPath_1, toParentDirectory, fromObj, updateTime, _a, file, e_2, contents, _i, contents_1, filename;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n to = options.to, from = options.from, fromDirectory = options.directory, toDirectory = options.toDirectory;\n if (!to || !from) {\n throw Error('Both to and from must be provided');\n }\n // If no \"to\" directory is provided, use the \"from\" directory\n if (!toDirectory) {\n toDirectory = fromDirectory;\n }\n fromPath = this.getPath(fromDirectory, from);\n toPath = this.getPath(toDirectory, to);\n // Test that the \"to\" and \"from\" locations are different\n if (fromPath === toPath) {\n return [2 /*return*/, {}];\n }\n if (toPath.startsWith(fromPath)) {\n throw Error('To path cannot contain the from path');\n }\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 6]);\n return [4 /*yield*/, this.stat({\n path: to,\n directory: toDirectory\n })];\n case 2:\n toObj = _b.sent();\n return [3 /*break*/, 6];\n case 3:\n e_1 = _b.sent();\n toPathComponents = to.split('/');\n toPathComponents.pop();\n toPath_1 = toPathComponents.join('/');\n if (!(toPathComponents.length > 0)) return [3 /*break*/, 5];\n return [4 /*yield*/, this.stat({\n path: toPath_1,\n directory: toDirectory,\n })];\n case 4:\n toParentDirectory = _b.sent();\n if (toParentDirectory.type !== 'directory') {\n throw new Error('Parent directory of the to path is a file');\n }\n _b.label = 5;\n case 5: return [3 /*break*/, 6];\n case 6:\n // Cannot overwrite a directory\n if (toObj && toObj.type === 'directory') {\n throw new Error('Cannot overwrite a directory with a file');\n }\n return [4 /*yield*/, this.stat({\n path: from,\n directory: fromDirectory,\n })];\n case 7:\n fromObj = _b.sent();\n updateTime = function (path, ctime, mtime) { return __awaiter(_this, void 0, void 0, function () {\n var fullPath, entry;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n fullPath = this.getPath(toDirectory, path);\n return [4 /*yield*/, this.dbRequest('get', [fullPath])];\n case 1:\n entry = _a.sent();\n entry.ctime = ctime;\n entry.mtime = mtime;\n return [4 /*yield*/, this.dbRequest('put', [entry])];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); };\n _a = fromObj.type;\n switch (_a) {\n case 'file': return [3 /*break*/, 8];\n case 'directory': return [3 /*break*/, 15];\n }\n return [3 /*break*/, 28];\n case 8: return [4 /*yield*/, this.readFile({\n path: from,\n directory: fromDirectory\n })];\n case 9:\n file = _b.sent();\n if (!doRename) return [3 /*break*/, 11];\n return [4 /*yield*/, this.deleteFile({\n path: from,\n directory: fromDirectory\n })];\n case 10:\n _b.sent();\n _b.label = 11;\n case 11: \n // Write the file to the new location\n return [4 /*yield*/, this.writeFile({\n path: to,\n directory: toDirectory,\n data: file.data\n })];\n case 12:\n // Write the file to the new location\n _b.sent();\n if (!doRename) return [3 /*break*/, 14];\n return [4 /*yield*/, updateTime(to, fromObj.ctime, fromObj.mtime)];\n case 13:\n _b.sent();\n _b.label = 14;\n case 14: \n // Resolve promise\n return [2 /*return*/, {}];\n case 15:\n if (toObj) {\n throw Error('Cannot move a directory over an existing object');\n }\n _b.label = 16;\n case 16:\n _b.trys.push([16, 20, , 21]);\n // Create the to directory\n return [4 /*yield*/, this.mkdir({\n path: to,\n directory: toDirectory,\n recursive: false,\n })];\n case 17:\n // Create the to directory\n _b.sent();\n if (!doRename) return [3 /*break*/, 19];\n return [4 /*yield*/, updateTime(to, fromObj.ctime, fromObj.mtime)];\n case 18:\n _b.sent();\n _b.label = 19;\n case 19: return [3 /*break*/, 21];\n case 20:\n e_2 = _b.sent();\n return [3 /*break*/, 21];\n case 21: return [4 /*yield*/, this.readdir({\n path: from,\n directory: fromDirectory,\n })];\n case 22:\n contents = (_b.sent()).files;\n _i = 0, contents_1 = contents;\n _b.label = 23;\n case 23:\n if (!(_i < contents_1.length)) return [3 /*break*/, 26];\n filename = contents_1[_i];\n // Move item from the from directory to the to directory\n return [4 /*yield*/, this._copy({\n from: from + \"/\" + filename,\n to: to + \"/\" + filename,\n directory: fromDirectory,\n toDirectory: toDirectory,\n }, doRename)];\n case 24:\n // Move item from the from directory to the to directory\n _b.sent();\n _b.label = 25;\n case 25:\n _i++;\n return [3 /*break*/, 23];\n case 26:\n if (!doRename) return [3 /*break*/, 28];\n return [4 /*yield*/, this.rmdir({\n path: from,\n directory: fromDirectory\n })];\n case 27:\n _b.sent();\n _b.label = 28;\n case 28: return [2 /*return*/, {}];\n }\n });\n });\n };\n FilesystemPluginWeb._debug = true;\n return FilesystemPluginWeb;\n}(WebPlugin));\nexport { FilesystemPluginWeb };\nvar Filesystem = new FilesystemPluginWeb();\nexport { Filesystem };\n//# sourceMappingURL=filesystem.js.map","export var extend = function (target) {\n var objs = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n objs[_i - 1] = arguments[_i];\n }\n objs.forEach(function (o) {\n if (o && typeof (o) === 'object') {\n for (var k in o) {\n if (o.hasOwnProperty(k)) {\n target[k] = o[k];\n }\n }\n }\n });\n return target;\n};\nexport var uuid4 = function () {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n};\n//# sourceMappingURL=util.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nimport { extend } from '../util';\nvar GeolocationPluginWeb = /** @class */ (function (_super) {\n __extends(GeolocationPluginWeb, _super);\n function GeolocationPluginWeb() {\n return _super.call(this, {\n name: 'Geolocation',\n platforms: ['web']\n }) || this;\n }\n GeolocationPluginWeb.prototype.getCurrentPosition = function (options) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n return _this.requestPermissions().then(function (_result) {\n window.navigator.geolocation.getCurrentPosition(function (pos) {\n resolve(pos);\n }, function (err) {\n reject(err);\n }, extend({\n enableHighAccuracy: true,\n timeout: 10000,\n maximumAge: 0\n }, options));\n });\n });\n };\n GeolocationPluginWeb.prototype.watchPosition = function (options, callback) {\n var id = window.navigator.geolocation.watchPosition(function (pos) {\n callback(pos);\n }, function (err) {\n callback(null, err);\n }, extend({\n enableHighAccuracy: true,\n timeout: 10000,\n maximumAge: 0\n }, options));\n return \"\" + id;\n };\n GeolocationPluginWeb.prototype.clearWatch = function (options) {\n window.navigator.geolocation.clearWatch(parseInt(options.id, 10));\n return Promise.resolve();\n };\n return GeolocationPluginWeb;\n}(WebPlugin));\nexport { GeolocationPluginWeb };\nvar Geolocation = new GeolocationPluginWeb();\nexport { Geolocation };\n//# sourceMappingURL=geolocation.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nimport { uuid4 } from '../util';\nvar DevicePluginWeb = /** @class */ (function (_super) {\n __extends(DevicePluginWeb, _super);\n function DevicePluginWeb() {\n return _super.call(this, {\n name: 'Device',\n platforms: ['web']\n }) || this;\n }\n DevicePluginWeb.prototype.getInfo = function () {\n return __awaiter(this, void 0, void 0, function () {\n var ua, uaFields;\n return __generator(this, function (_a) {\n ua = navigator.userAgent;\n uaFields = this.parseUa(ua);\n return [2 /*return*/, Promise.resolve({\n model: uaFields.model,\n platform: 'web',\n appVersion: '',\n appBuild: '',\n operatingSystem: uaFields.operatingSystem,\n osVersion: uaFields.osVersion,\n manufacturer: navigator.vendor,\n isVirtual: false,\n uuid: this.getUid()\n })];\n });\n });\n };\n DevicePluginWeb.prototype.getBatteryInfo = function () {\n return __awaiter(this, void 0, void 0, function () {\n var battery, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n battery = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, navigator.getBattery()];\n case 2:\n battery = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n e_1 = _a.sent();\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, Promise.resolve({\n batteryLevel: battery.level,\n isCharging: battery.charging\n })];\n }\n });\n });\n };\n DevicePluginWeb.prototype.getLanguageCode = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, {\n value: navigator.language\n }];\n });\n });\n };\n DevicePluginWeb.prototype.parseUa = function (_ua) {\n var uaFields = {};\n var start = _ua.indexOf('(') + 1;\n var end = _ua.indexOf(') AppleWebKit');\n if (_ua.indexOf(') Gecko') !== -1) {\n end = _ua.indexOf(') Gecko');\n }\n var fields = _ua.substring(start, end);\n if (_ua.indexOf('Android') !== -1) {\n uaFields.model = fields.replace('; wv', '').split('; ').pop().split(' Build')[0];\n uaFields.osVersion = fields.split('; ')[1];\n }\n else {\n uaFields.model = fields.split('; ')[0];\n if (navigator.oscpu) {\n uaFields.osVersion = navigator.oscpu;\n }\n else {\n if (_ua.indexOf('Windows') !== -1) {\n uaFields.osVersion = fields;\n }\n else {\n var lastParts = fields.split('; ').pop().replace(' like Mac OS X', '').split(' ');\n uaFields.osVersion = lastParts[lastParts.length - 1].replace(/_/g, '.');\n }\n }\n }\n if (/android/i.test(_ua)) {\n uaFields.operatingSystem = 'android';\n }\n else if (/iPad|iPhone|iPod/.test(_ua) && !window.MSStream) {\n uaFields.operatingSystem = 'ios';\n }\n else if (/Win/.test(_ua)) {\n uaFields.operatingSystem = 'windows';\n }\n else if (/Mac/i.test(_ua)) {\n uaFields.operatingSystem = 'mac';\n }\n else {\n uaFields.operatingSystem = 'unknown';\n }\n return uaFields;\n };\n DevicePluginWeb.prototype.getUid = function () {\n var uid = window.localStorage.getItem('_capuid');\n if (uid) {\n return uid;\n }\n uid = uuid4();\n window.localStorage.setItem('_capuid', uid);\n return uid;\n };\n return DevicePluginWeb;\n}(WebPlugin));\nexport { DevicePluginWeb };\nvar Device = new DevicePluginWeb();\nexport { Device };\n//# sourceMappingURL=device.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar LocalNotificationsPluginWeb = /** @class */ (function (_super) {\n __extends(LocalNotificationsPluginWeb, _super);\n function LocalNotificationsPluginWeb() {\n var _this = _super.call(this, {\n name: 'LocalNotifications',\n platforms: ['web']\n }) || this;\n _this.pending = [];\n return _this;\n }\n LocalNotificationsPluginWeb.prototype.createChannel = function (channel) {\n throw new Error('Feature not available in the browser. ' + channel.id);\n };\n LocalNotificationsPluginWeb.prototype.deleteChannel = function (channel) {\n throw new Error('Feature not available in the browser. ' + channel.id);\n };\n LocalNotificationsPluginWeb.prototype.listChannels = function () {\n throw new Error('Feature not available in the browser');\n };\n LocalNotificationsPluginWeb.prototype.sendPending = function () {\n var _this = this;\n var toRemove = [];\n var now = +new Date;\n this.pending.forEach(function (localNotification) {\n if (localNotification.schedule && localNotification.schedule.at) {\n if (+localNotification.schedule.at <= now) {\n _this.buildNotification(localNotification);\n toRemove.push(localNotification);\n }\n }\n });\n console.log('Sent pending, removing', toRemove);\n this.pending = this.pending.filter(function (localNotification) { return !toRemove.find(function (ln) { return ln === localNotification; }); });\n };\n LocalNotificationsPluginWeb.prototype.sendNotification = function (localNotification) {\n var _this = this;\n var l = localNotification;\n if (localNotification.schedule && localNotification.schedule.at) {\n var diff = +localNotification.schedule.at - +new Date;\n this.pending.push(l);\n setTimeout(function () {\n _this.sendPending();\n }, diff);\n return;\n }\n this.buildNotification(localNotification);\n };\n LocalNotificationsPluginWeb.prototype.buildNotification = function (localNotification) {\n var l = localNotification;\n return new Notification(l.title, {\n body: l.body\n });\n };\n LocalNotificationsPluginWeb.prototype.schedule = function (options) {\n var _this = this;\n var notifications = [];\n options.notifications.forEach(function (notification) {\n notifications.push(_this.sendNotification(notification));\n });\n return Promise.resolve({\n notifications: options.notifications.map(function (notification) { return { id: '' + notification.id }; })\n });\n };\n LocalNotificationsPluginWeb.prototype.getPending = function () {\n return Promise.resolve({\n notifications: this.pending.map(function (localNotification) {\n return {\n id: '' + localNotification.id\n };\n })\n });\n };\n LocalNotificationsPluginWeb.prototype.registerActionTypes = function (_options) {\n throw new Error('Method not implemented.');\n };\n LocalNotificationsPluginWeb.prototype.cancel = function (pending) {\n console.log('Cancel these', pending);\n this.pending = this.pending.filter(function (localNotification) { return !pending.notifications.find(function (ln) { return ln.id === '' + localNotification.id; }); });\n return Promise.resolve();\n };\n LocalNotificationsPluginWeb.prototype.areEnabled = function () {\n return Promise.resolve({\n value: Notification.permission === 'granted'\n });\n };\n LocalNotificationsPluginWeb.prototype.requestPermission = function () {\n return new Promise(function (resolve) {\n Notification.requestPermission(function (result) {\n var granted = true;\n if (result === 'denied' || result === 'default') {\n granted = false;\n }\n resolve({ granted: granted });\n });\n });\n };\n LocalNotificationsPluginWeb.prototype.requestPermissions = function () {\n return new Promise(function (resolve, reject) {\n Notification.requestPermission(function (result) {\n if (result === 'denied' || result === 'default') {\n reject(result);\n return;\n }\n resolve({\n results: [result]\n });\n });\n });\n };\n return LocalNotificationsPluginWeb;\n}(WebPlugin));\nexport { LocalNotificationsPluginWeb };\nvar LocalNotifications = new LocalNotificationsPluginWeb();\nexport { LocalNotifications };\n//# sourceMappingURL=local-notifications.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar SharePluginWeb = /** @class */ (function (_super) {\n __extends(SharePluginWeb, _super);\n function SharePluginWeb() {\n return _super.call(this, {\n name: 'Share',\n platforms: ['web']\n }) || this;\n }\n SharePluginWeb.prototype.share = function (options) {\n if (!navigator.share) {\n return Promise.reject('Web Share API not available');\n }\n return navigator.share({\n title: options.title,\n text: options.text,\n url: options.url\n });\n };\n return SharePluginWeb;\n}(WebPlugin));\nexport { SharePluginWeb };\nvar Share = new SharePluginWeb();\nexport { Share };\n//# sourceMappingURL=share.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nvar ModalsPluginWeb = /** @class */ (function (_super) {\n __extends(ModalsPluginWeb, _super);\n function ModalsPluginWeb() {\n return _super.call(this, {\n name: 'Modals',\n platforms: ['web']\n }) || this;\n }\n ModalsPluginWeb.prototype.alert = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n window.alert(options.message);\n return [2 /*return*/, Promise.resolve()];\n });\n });\n };\n ModalsPluginWeb.prototype.prompt = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var val;\n return __generator(this, function (_a) {\n val = window.prompt(options.message, options.inputText || '');\n return [2 /*return*/, Promise.resolve({\n value: val,\n cancelled: val === null\n })];\n });\n });\n };\n ModalsPluginWeb.prototype.confirm = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var val;\n return __generator(this, function (_a) {\n val = window.confirm(options.message);\n return [2 /*return*/, Promise.resolve({\n value: val\n })];\n });\n });\n };\n ModalsPluginWeb.prototype.showActions = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve, _reject) { return __awaiter(_this, void 0, void 0, function () {\n var actionSheet;\n var _this = this;\n return __generator(this, function (_a) {\n actionSheet = document.querySelector('pwa-action-sheet');\n if (!actionSheet) {\n actionSheet = document.createElement('pwa-action-sheet');\n document.body.appendChild(actionSheet);\n }\n actionSheet.header = options.title;\n actionSheet.cancelable = false;\n actionSheet.options = options.options;\n actionSheet.addEventListener('onSelection', function (e) { return __awaiter(_this, void 0, void 0, function () {\n var selection;\n return __generator(this, function (_a) {\n selection = e.detail;\n resolve({\n index: selection\n });\n return [2 /*return*/];\n });\n }); });\n return [2 /*return*/];\n });\n }); })];\n });\n });\n };\n return ModalsPluginWeb;\n}(WebPlugin));\nexport { ModalsPluginWeb };\nvar Modals = new ModalsPluginWeb();\nexport { Modals };\n//# sourceMappingURL=modals.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar MotionPluginWeb = /** @class */ (function (_super) {\n __extends(MotionPluginWeb, _super);\n function MotionPluginWeb() {\n var _this = _super.call(this, {\n name: 'Motion'\n }) || this;\n _this.registerWindowListener('devicemotion', 'accel');\n _this.registerWindowListener('deviceorientation', 'orientation');\n return _this;\n }\n return MotionPluginWeb;\n}(WebPlugin));\nexport { MotionPluginWeb };\nvar Motion = new MotionPluginWeb();\nexport { Motion };\n//# sourceMappingURL=motion.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar NetworkPluginWeb = /** @class */ (function (_super) {\n __extends(NetworkPluginWeb, _super);\n function NetworkPluginWeb() {\n var _this = _super.call(this, {\n name: 'Network',\n platforms: ['web']\n }) || this;\n _this.listenerFunction = null;\n return _this;\n }\n NetworkPluginWeb.prototype.getStatus = function () {\n return new Promise(function (resolve, reject) {\n if (!window.navigator) {\n reject('Network info not available');\n return;\n }\n var connected = window.navigator.onLine;\n var connection = window.navigator.connection || window.navigator.mozConnection || window.navigator.webkitConnection;\n var connectionType = connection ? (connection.type || connection.effectiveType) : 'wifi';\n resolve({\n connected: connected,\n connectionType: connected ? connectionType : 'none'\n });\n });\n };\n NetworkPluginWeb.prototype.addListener = function (eventName, listenerFunc) {\n var thisRef = this;\n var connection = window.navigator.connection || window.navigator.mozConnection || window.navigator.webkitConnection;\n var connectionType = connection ? (connection.type || connection.effectiveType) : 'wifi';\n var onlineBindFunc = listenerFunc.bind(thisRef, { connected: true, connectionType: connectionType });\n var offlineBindFunc = listenerFunc.bind(thisRef, { connected: false, connectionType: 'none' });\n if (eventName.localeCompare('networkStatusChange') === 0) {\n window.addEventListener('online', onlineBindFunc);\n window.addEventListener('offline', offlineBindFunc);\n return {\n remove: function () {\n window.removeEventListener('online', onlineBindFunc);\n window.removeEventListener('offline', offlineBindFunc);\n }\n };\n }\n };\n return NetworkPluginWeb;\n}(WebPlugin));\nexport { NetworkPluginWeb };\nvar Network = new NetworkPluginWeb();\nexport { Network };\n//# sourceMappingURL=network.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nimport { PermissionType } from '../core-plugin-definitions';\nvar PermissionsPluginWeb = /** @class */ (function (_super) {\n __extends(PermissionsPluginWeb, _super);\n function PermissionsPluginWeb() {\n return _super.call(this, {\n name: 'Permissions'\n }) || this;\n }\n PermissionsPluginWeb.prototype.query = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var navigator, name, ret;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n navigator = window.navigator;\n if (!navigator.permissions) {\n return [2 /*return*/, Promise.reject('This browser does not support the Permissions API')];\n }\n name = options.name === PermissionType.Photos ? 'camera' : options.name;\n return [4 /*yield*/, navigator.permissions.query({ name: name })];\n case 1:\n ret = _a.sent();\n return [2 /*return*/, {\n state: ret.state\n }];\n }\n });\n });\n };\n return PermissionsPluginWeb;\n}(WebPlugin));\nexport { PermissionsPluginWeb };\nvar Permissions = new PermissionsPluginWeb();\nexport { Permissions };\n//# sourceMappingURL=permissions.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar SplashScreenPluginWeb = /** @class */ (function (_super) {\n __extends(SplashScreenPluginWeb, _super);\n function SplashScreenPluginWeb() {\n return _super.call(this, {\n name: 'SplashScreen',\n platforms: ['web']\n }) || this;\n }\n SplashScreenPluginWeb.prototype.show = function (_options, _callback) {\n return Promise.resolve();\n };\n SplashScreenPluginWeb.prototype.hide = function (_options, _callback) {\n return Promise.resolve();\n };\n return SplashScreenPluginWeb;\n}(WebPlugin));\nexport { SplashScreenPluginWeb };\nvar SplashScreen = new SplashScreenPluginWeb();\nexport { SplashScreen };\n//# sourceMappingURL=splash-screen.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar StoragePluginWeb = /** @class */ (function (_super) {\n __extends(StoragePluginWeb, _super);\n function StoragePluginWeb() {\n var _this = _super.call(this, {\n name: 'Storage',\n platforms: ['web']\n }) || this;\n _this.KEY_PREFIX = '_cap_';\n return _this;\n }\n StoragePluginWeb.prototype.get = function (options) {\n var _this = this;\n return new Promise(function (resolve, _reject) {\n resolve({\n value: window.localStorage.getItem(_this.makeKey(options.key))\n });\n });\n };\n StoragePluginWeb.prototype.set = function (options) {\n var _this = this;\n return new Promise(function (resolve, _reject) {\n window.localStorage.setItem(_this.makeKey(options.key), options.value);\n resolve();\n });\n };\n StoragePluginWeb.prototype.remove = function (options) {\n var _this = this;\n return new Promise(function (resolve, _reject) {\n window.localStorage.removeItem(_this.makeKey(options.key));\n resolve();\n });\n };\n StoragePluginWeb.prototype.keys = function () {\n var _this = this;\n return new Promise(function (resolve, _reject) {\n resolve({\n keys: Object.keys(localStorage).filter(function (k) { return _this.isKey(k); }).map(function (k) { return _this.getKey(k); })\n });\n });\n };\n StoragePluginWeb.prototype.clear = function () {\n var _this = this;\n return new Promise(function (resolve, _reject) {\n Object.keys(localStorage)\n .filter(function (k) { return _this.isKey(k); })\n .forEach(function (k) { return window.localStorage.removeItem(k); });\n resolve();\n });\n };\n StoragePluginWeb.prototype.makeKey = function (key) {\n return this.KEY_PREFIX + key;\n };\n StoragePluginWeb.prototype.isKey = function (key) {\n return key.indexOf(this.KEY_PREFIX) === 0;\n };\n StoragePluginWeb.prototype.getKey = function (key) {\n return key.substr(this.KEY_PREFIX.length);\n };\n return StoragePluginWeb;\n}(WebPlugin));\nexport { StoragePluginWeb };\nvar Storage = new StoragePluginWeb();\nexport { Storage };\n//# sourceMappingURL=storage.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nvar ToastPluginWeb = /** @class */ (function (_super) {\n __extends(ToastPluginWeb, _super);\n function ToastPluginWeb() {\n return _super.call(this, {\n name: 'Toast',\n platforms: ['web']\n }) || this;\n }\n ToastPluginWeb.prototype.show = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var duration, toast;\n return __generator(this, function (_a) {\n duration = 2000;\n if (options.duration) {\n duration = options.duration === 'long' ? 3500 : 2000;\n }\n toast = document.createElement('pwa-toast');\n toast.duration = duration;\n toast.message = options.text;\n document.body.appendChild(toast);\n return [2 /*return*/];\n });\n });\n };\n return ToastPluginWeb;\n}(WebPlugin));\nexport { ToastPluginWeb };\nvar Toast = new ToastPluginWeb();\nexport { Toast };\n//# sourceMappingURL=toast.js.map","import { Plugins } from './global';\nimport { mergeWebPlugins, mergeWebPlugin } from './web/index';\nexport * from './web/accessibility';\nexport * from './web/app';\nexport * from './web/browser';\nexport * from './web/camera';\nexport * from './web/clipboard';\nexport * from './web/filesystem';\nexport * from './web/geolocation';\nexport * from './web/device';\nexport * from './web/local-notifications';\nexport * from './web/share';\nexport * from './web/modals';\nexport * from './web/motion';\nexport * from './web/network';\nexport * from './web/permissions';\nexport * from './web/splash-screen';\nexport * from './web/storage';\nexport * from './web/toast';\nmergeWebPlugins(Plugins);\nexport var registerWebPlugin = function (plugin) {\n mergeWebPlugin(Plugins, plugin);\n};\n//# sourceMappingURL=web-plugins.js.map"]}
|
|
1
|
+
{"version":3,"sources":["esm/core-plugin-definitions.js","esm/web-runtime.js","esm/global.js","esm/web/index.js","../node_modules/tslib/tslib.es6.js","esm/web/accessibility.js","esm/web/app.js","esm/web/browser.js","esm/web/camera.js","esm/web/clipboard.js","esm/web/filesystem.js","esm/util.js","esm/web/geolocation.js","esm/web/device.js","esm/web/local-notifications.js","esm/web/share.js","esm/web/modals.js","esm/web/motion.js","esm/web/network.js","esm/web/permissions.js","esm/web/splash-screen.js","esm/web/storage.js","esm/web/toast.js","esm/web-plugins.js"],"names":["CameraSource","CameraDirection","CameraResultType","FilesystemDirectory","FilesystemEncoding","HapticsImpactStyle","HapticsNotificationType","KeyboardStyle","KeyboardResize","ActionSheetOptionStyle","PermissionType","PhotosAlbumType","StatusBarStyle","StatusBarAnimation","globalThis","CapacitorWeb","_this","this","platform","isNative","Plugins","Proxy","get","target","prop","thisRef_1","_target","_prop","pluginMethodNoop","bind","prototype","pluginName","Promise","reject","getPlatform","isPluginAvailable","name","hasOwnProperty","convertFileSrc","filePath","handleError","e","console","error","Capacitor","self","window","global","WebPluginRegistry","plugins","loadedPlugins","addPlugin","plugin","config","getPlugin","loadPlugin","load","getPlugins","p","name_1","push","WebPlugins","WebPlugin","pluginRegistry","loaded","listeners","windowListeners","addWindowListener","handle","addEventListener","windowEventName","handler","registered","removeWindowListener","removeEventListener","addListener","eventName","listenerFunc","windowListener","remove","removeListener","index","indexOf","splice","length","removeAllListeners","listener","notifyListeners","data","forEach","hasListeners","registerWindowListener","pluginEventName","event","requestPermissions","nativePromise","resolve","results","mergeWebPlugins","knownPlugins","_i","plugins_1","mergeWebPlugin","platforms","shouldMergeWebPlugin","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","__extends","__","constructor","create","__awaiter","thisArg","_arguments","P","generator","fulfilled","value","step","next","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","n","v","op","TypeError","call","pop","AccessibilityPluginWeb","_super","isScreenReaderEnabled","Error","speak","options","utterance","SpeechSynthesisUtterance","language","lang","speechSynthesis","Accessibility","AppPluginWeb","document","handleVisibilityChange","exitApp","canOpenUrl","_options","openUrl","completed","getLaunchUrl","url","getState","isActive","hidden","App","BrowserPluginWeb","open","_a","_lastWindow","windowName","prefetch","close","Browser","CameraPluginWeb","getPhoto","cameraModal_1","webUseInput","fileInputExperience","customElements","createElement","appendChild","componentOnReady","photo","_b","detail","message","_getCameraPhoto","dismiss","removeChild","present","input","querySelector","cleanup","parentNode","id","type","accept","capture","source","Photos","Prompt","removeAttribute","direction","Front","Rear","_e","file","files","format","resultType","DataUrl","Base64","reader_1","FileReader","dataUrl","b64","split","base64String","readAsDataURL","webPath","URL","createObjectURL","click","reader","Uri","onloadend","r","onerror","Camera","ClipboardPluginWeb","write","blob","clipboardItemInput","navigator","clipboard","undefined","string","writeText","image","fetch","ClipboardItem","read","clipboardItems","clipboardBlob","readText","types","getType","_getBlobData","text","includes","readAsText","Clipboard","FilesystemPluginWeb","DEFAULT_DIRECTORY","Data","DB_VERSION","DB_NAME","_writeCmds","initDb","_db","request","indexedDB","onupgradeneeded","doUpgrade","onsuccess","onblocked","warn","db","oldVersion","objectStoreNames","contains","deleteObjectStore","createObjectStore","keyPath","createIndex","dbRequest","cmd","args","readFlag","conn","store","transaction","objectStore","req","dbIndexRequest","indexName","getPath","directory","uriPath","cleanedUriPath","replace","fsPath","clear","tx","readFile","path","entry","content","writeFile","doRecursive","occupiedEntry","encoding","parentPath","subDirIndex","parentArgPath","now","pathObj","recursive","substr","lastIndexOf","mkdir","Date","folder","size","ctime","mtime","uri","appendFile","parentArgPathIndex","deleteFile","IDBKeyRange","only","depth","parentEntry","match","rmdir","fullPath","readDirResult","entry_1","entryPath","readdir","stat","entries","map","substring","getUri","rename","_copy","copy","doRename","to","from","fromDirectory","toDirectory","fromPath","toPath","toObj","toPathComponents","toPath_1","fromObj","updateTime","contents","contents_1","filename","startsWith","join","_debug","Filesystem","extend","objs","arguments","o","k","GeolocationPluginWeb","getCurrentPosition","_result","geolocation","pos","err","enableHighAccuracy","timeout","maximumAge","watchPosition","callback","clearWatch","parseInt","Geolocation","DevicePluginWeb","getInfo","ua","uaFields","userAgent","parseUa","model","appVersion","appBuild","appId","appName","operatingSystem","osVersion","manufacturer","vendor","isVirtual","uuid","getUid","getBatteryInfo","battery","getBattery","batteryLevel","level","isCharging","charging","getLanguageCode","_ua","start","end","fields","oscpu","lastParts","test","MSStream","uid","localStorage","getItem","c","Math","random","toString","setItem","Device","LocalNotificationsPluginWeb","pending","createChannel","channel","deleteChannel","listChannels","sendPending","toRemove","localNotification","schedule","at","buildNotification","log","filter","find","ln","sendNotification","l","diff","setTimeout","Notification","title","notifications","notification","getPending","registerActionTypes","cancel","areEnabled","permission","requestPermission","granted","LocalNotifications","SharePluginWeb","share","Share","ModalsPluginWeb","alert","prompt","val","inputText","cancelled","confirm","showActions","_reject","actionSheet","header","cancelable","selection","Modals","MotionPluginWeb","Motion","NetworkPluginWeb","listenerFunction","getStatus","connected","onLine","connection","mozConnection","webkitConnection","connectionType","effectiveType","onlineBindFunc","offlineBindFunc","localeCompare","Network","PermissionsPluginWeb","query","permissions","state","Permissions","SplashScreenPluginWeb","show","_callback","hide","SplashScreen","StoragePluginWeb","KEY_PREFIX","makeKey","key","set","removeItem","keys","isKey","getKey","Storage","ToastPluginWeb","duration","toast","Toast"],"mappings":"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","sourcesContent":["export var CameraSource;\n(function (CameraSource) {\n CameraSource[\"Prompt\"] = \"PROMPT\";\n CameraSource[\"Camera\"] = \"CAMERA\";\n CameraSource[\"Photos\"] = \"PHOTOS\";\n})(CameraSource || (CameraSource = {}));\nexport var CameraDirection;\n(function (CameraDirection) {\n CameraDirection[\"Rear\"] = \"REAR\";\n CameraDirection[\"Front\"] = \"FRONT\";\n})(CameraDirection || (CameraDirection = {}));\nexport var CameraResultType;\n(function (CameraResultType) {\n CameraResultType[\"Uri\"] = \"uri\";\n CameraResultType[\"Base64\"] = \"base64\";\n CameraResultType[\"DataUrl\"] = \"dataUrl\";\n})(CameraResultType || (CameraResultType = {}));\nexport var FilesystemDirectory;\n(function (FilesystemDirectory) {\n /**\n * The Documents directory\n * On iOS it's the app's documents directory.\n * Use this directory to store user-generated content.\n * On Android it's the Public Documents folder, so it's accessible from other apps.\n * It's not accesible on Android 10 unless the app enables legacy External Storage\n * by adding `android:requestLegacyExternalStorage=\"true\"` in the `application` tag\n * in the `AndroidManifest.xml`\n */\n FilesystemDirectory[\"Documents\"] = \"DOCUMENTS\";\n /**\n * The Data directory\n * On iOS it will use the Documents directory\n * On Android it's the directory holding application files.\n * Files will be deleted when the application is uninstalled.\n */\n FilesystemDirectory[\"Data\"] = \"DATA\";\n /**\n * The Cache directory\n * Can be deleted in cases of low memory, so use this directory to write app-specific files\n * that your app can re-create easily.\n */\n FilesystemDirectory[\"Cache\"] = \"CACHE\";\n /**\n * The external directory\n * On iOS it will use the Documents directory\n * On Android it's the directory on the primary shared/external\n * storage device where the application can place persistent files it owns.\n * These files are internal to the applications, and not typically visible\n * to the user as media.\n * Files will be deleted when the application is uninstalled.\n */\n FilesystemDirectory[\"External\"] = \"EXTERNAL\";\n /**\n * The external storage directory\n * On iOS it will use the Documents directory\n * On Android it's the primary shared/external storage directory.\n * It's not accesible on Android 10 unless the app enables legacy External Storage\n * by adding `android:requestLegacyExternalStorage=\"true\"` in the `application` tag\n * in the `AndroidManifest.xml`\n */\n FilesystemDirectory[\"ExternalStorage\"] = \"EXTERNAL_STORAGE\";\n})(FilesystemDirectory || (FilesystemDirectory = {}));\nexport var FilesystemEncoding;\n(function (FilesystemEncoding) {\n FilesystemEncoding[\"UTF8\"] = \"utf8\";\n FilesystemEncoding[\"ASCII\"] = \"ascii\";\n FilesystemEncoding[\"UTF16\"] = \"utf16\";\n})(FilesystemEncoding || (FilesystemEncoding = {}));\nexport var HapticsImpactStyle;\n(function (HapticsImpactStyle) {\n HapticsImpactStyle[\"Heavy\"] = \"HEAVY\";\n HapticsImpactStyle[\"Medium\"] = \"MEDIUM\";\n HapticsImpactStyle[\"Light\"] = \"LIGHT\";\n})(HapticsImpactStyle || (HapticsImpactStyle = {}));\nexport var HapticsNotificationType;\n(function (HapticsNotificationType) {\n HapticsNotificationType[\"SUCCESS\"] = \"SUCCESS\";\n HapticsNotificationType[\"WARNING\"] = \"WARNING\";\n HapticsNotificationType[\"ERROR\"] = \"ERROR\";\n})(HapticsNotificationType || (HapticsNotificationType = {}));\nexport var KeyboardStyle;\n(function (KeyboardStyle) {\n KeyboardStyle[\"Dark\"] = \"DARK\";\n KeyboardStyle[\"Light\"] = \"LIGHT\";\n})(KeyboardStyle || (KeyboardStyle = {}));\nexport var KeyboardResize;\n(function (KeyboardResize) {\n KeyboardResize[\"Body\"] = \"body\";\n KeyboardResize[\"Ionic\"] = \"ionic\";\n KeyboardResize[\"Native\"] = \"native\";\n KeyboardResize[\"None\"] = \"none\";\n})(KeyboardResize || (KeyboardResize = {}));\nexport var ActionSheetOptionStyle;\n(function (ActionSheetOptionStyle) {\n ActionSheetOptionStyle[\"Default\"] = \"DEFAULT\";\n ActionSheetOptionStyle[\"Destructive\"] = \"DESTRUCTIVE\";\n ActionSheetOptionStyle[\"Cancel\"] = \"CANCEL\";\n})(ActionSheetOptionStyle || (ActionSheetOptionStyle = {}));\n//\nexport var PermissionType;\n(function (PermissionType) {\n PermissionType[\"Camera\"] = \"camera\";\n PermissionType[\"Photos\"] = \"photos\";\n PermissionType[\"Geolocation\"] = \"geolocation\";\n PermissionType[\"Notifications\"] = \"notifications\";\n PermissionType[\"ClipboardRead\"] = \"clipboard-read\";\n PermissionType[\"ClipboardWrite\"] = \"clipboard-write\";\n PermissionType[\"Microphone\"] = \"microphone\";\n})(PermissionType || (PermissionType = {}));\nexport var PhotosAlbumType;\n(function (PhotosAlbumType) {\n /**\n * Album is a \"smart\" album (such as Favorites or Recently Added)\n */\n PhotosAlbumType[\"Smart\"] = \"smart\";\n /**\n * Album is a cloud-shared album\n */\n PhotosAlbumType[\"Shared\"] = \"shared\";\n /**\n * Album is a user-created album\n */\n PhotosAlbumType[\"User\"] = \"user\";\n})(PhotosAlbumType || (PhotosAlbumType = {}));\nexport var StatusBarStyle;\n(function (StatusBarStyle) {\n /**\n * Light text for dark backgrounds.\n */\n StatusBarStyle[\"Dark\"] = \"DARK\";\n /**\n * Dark text for light backgrounds.\n */\n StatusBarStyle[\"Light\"] = \"LIGHT\";\n})(StatusBarStyle || (StatusBarStyle = {}));\nexport var StatusBarAnimation;\n(function (StatusBarAnimation) {\n /**\n * No animation during show/hide.\n */\n StatusBarAnimation[\"None\"] = \"NONE\";\n /**\n * Slide animation during show/hide.\n */\n StatusBarAnimation[\"Slide\"] = \"SLIDE\";\n /**\n * Fade animation during show/hide.\n */\n StatusBarAnimation[\"Fade\"] = \"FADE\";\n})(StatusBarAnimation || (StatusBarAnimation = {}));\n//# sourceMappingURL=core-plugin-definitions.js.map","var CapacitorWeb = /** @class */ (function () {\n function CapacitorWeb() {\n var _this = this;\n this.platform = 'web';\n this.isNative = false;\n // Need to assign here to avoid having to define every plugin but still\n // get the typed benefits of the provided plugins in PluginRegistry\n this.Plugins = {};\n // Gracefully degrade in non-Proxy supporting engines, e.g. IE11. This\n // effectively means that trying to access an unavailable plugin will\n // locally throw, but this is still better than throwing a syntax error.\n if (typeof Proxy !== 'undefined') {\n // Build a proxy for the Plugins object that returns the \"Noop Plugin\"\n // if a plugin isn't available\n this.Plugins = new Proxy(this.Plugins, {\n get: function (target, prop) {\n if (typeof target[prop] === 'undefined') {\n var thisRef_1 = _this;\n return new Proxy({}, {\n get: function (_target, _prop) {\n if (typeof _target[_prop] === 'undefined') {\n return thisRef_1.pluginMethodNoop.bind(thisRef_1, _target, _prop, prop);\n }\n else {\n return _target[_prop];\n }\n }\n });\n }\n else {\n return target[prop];\n }\n }\n });\n }\n }\n CapacitorWeb.prototype.pluginMethodNoop = function (_target, _prop, pluginName) {\n return Promise.reject(pluginName + \" does not have web implementation.\");\n };\n CapacitorWeb.prototype.getPlatform = function () {\n return this.platform;\n };\n CapacitorWeb.prototype.isPluginAvailable = function (name) {\n return this.Plugins.hasOwnProperty(name);\n };\n CapacitorWeb.prototype.convertFileSrc = function (filePath) {\n return filePath;\n };\n CapacitorWeb.prototype.handleError = function (e) {\n console.error(e);\n };\n return CapacitorWeb;\n}());\nexport { CapacitorWeb };\n//# sourceMappingURL=web-runtime.js.map","import { CapacitorWeb } from './web-runtime';\n// Create our default Capacitor instance, which will be\n// overridden on native platforms\nvar Capacitor = (function (globalThis) {\n // Create a new CapacitorWeb instance if one doesn't already exist on globalThis\n // Ensure the global is assigned the same Capacitor instance,\n // then export Capacitor so it can be imported in other modules\n return globalThis.Capacitor = (globalThis.Capacitor || new CapacitorWeb());\n})(\n// figure out the current globalThis, such as \"window\", \"self\" or \"global\"\n// ensure errors are not thrown in an node SSR environment or web worker\ntypeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {});\nvar Plugins = Capacitor.Plugins;\nexport { Capacitor, Plugins };\n//# sourceMappingURL=global.js.map","var WebPluginRegistry = /** @class */ (function () {\n function WebPluginRegistry() {\n this.plugins = {};\n this.loadedPlugins = {};\n }\n WebPluginRegistry.prototype.addPlugin = function (plugin) {\n this.plugins[plugin.config.name] = plugin;\n };\n WebPluginRegistry.prototype.getPlugin = function (name) {\n return this.plugins[name];\n };\n WebPluginRegistry.prototype.loadPlugin = function (name) {\n var plugin = this.getPlugin(name);\n if (!plugin) {\n console.error(\"Unable to load web plugin \" + name + \", no such plugin found.\");\n return;\n }\n plugin.load();\n };\n WebPluginRegistry.prototype.getPlugins = function () {\n var p = [];\n for (var name_1 in this.plugins) {\n p.push(this.plugins[name_1]);\n }\n return p;\n };\n return WebPluginRegistry;\n}());\nexport { WebPluginRegistry };\nvar WebPlugins = new WebPluginRegistry();\nexport { WebPlugins };\nvar WebPlugin = /** @class */ (function () {\n function WebPlugin(config, pluginRegistry) {\n this.config = config;\n this.loaded = false;\n this.listeners = {};\n this.windowListeners = {};\n if (!pluginRegistry) {\n WebPlugins.addPlugin(this);\n }\n else {\n pluginRegistry.addPlugin(this);\n }\n }\n WebPlugin.prototype.addWindowListener = function (handle) {\n window.addEventListener(handle.windowEventName, handle.handler);\n handle.registered = true;\n };\n WebPlugin.prototype.removeWindowListener = function (handle) {\n if (!handle) {\n return;\n }\n window.removeEventListener(handle.windowEventName, handle.handler);\n handle.registered = false;\n };\n WebPlugin.prototype.addListener = function (eventName, listenerFunc) {\n var _this = this;\n var 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 var windowListener = this.windowListeners[eventName];\n if (windowListener && !windowListener.registered) {\n this.addWindowListener(windowListener);\n }\n return {\n remove: function () {\n _this.removeListener(eventName, listenerFunc);\n }\n };\n };\n WebPlugin.prototype.removeListener = function (eventName, listenerFunc) {\n var listeners = this.listeners[eventName];\n if (!listeners) {\n return;\n }\n var 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 WebPlugin.prototype.removeAllListeners = function () {\n this.listeners = {};\n for (var listener in this.windowListeners) {\n this.removeWindowListener(this.windowListeners[listener]);\n }\n this.windowListeners = {};\n };\n WebPlugin.prototype.notifyListeners = function (eventName, data) {\n var listeners = this.listeners[eventName];\n if (listeners) {\n listeners.forEach(function (listener) { return listener(data); });\n }\n };\n WebPlugin.prototype.hasListeners = function (eventName) {\n return !!this.listeners[eventName].length;\n };\n WebPlugin.prototype.registerWindowListener = function (windowEventName, pluginEventName) {\n var _this = this;\n this.windowListeners[pluginEventName] = {\n registered: false,\n windowEventName: windowEventName,\n pluginEventName: pluginEventName,\n handler: function (event) {\n _this.notifyListeners(pluginEventName, event);\n }\n };\n };\n WebPlugin.prototype.requestPermissions = function () {\n if (Capacitor.isNative) {\n return Capacitor.nativePromise(this.config.name, 'requestPermissions', {});\n }\n else {\n return Promise.resolve({ results: [] });\n }\n };\n WebPlugin.prototype.load = function () {\n this.loaded = true;\n };\n return WebPlugin;\n}());\nexport { WebPlugin };\nvar shouldMergeWebPlugin = function (plugin) {\n return plugin.config.platforms && plugin.config.platforms.indexOf(Capacitor.platform) >= 0;\n};\n/**\n * For all our known web plugins, merge them into the global plugins\n * registry if they aren't already existing. If they don't exist, that\n * means there's no existing native implementation for it.\n * @param knownPlugins the Capacitor.Plugins global registry.\n */\nexport var mergeWebPlugins = function (knownPlugins) {\n var plugins = WebPlugins.getPlugins();\n for (var _i = 0, plugins_1 = plugins; _i < plugins_1.length; _i++) {\n var plugin = plugins_1[_i];\n mergeWebPlugin(knownPlugins, plugin);\n }\n};\nexport var mergeWebPlugin = function (knownPlugins, plugin) {\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 if (knownPlugins.hasOwnProperty(plugin.config.name) && !shouldMergeWebPlugin(plugin)) {\n return;\n }\n knownPlugins[plugin.config.name] = plugin;\n};\n//# sourceMappingURL=index.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar AccessibilityPluginWeb = /** @class */ (function (_super) {\n __extends(AccessibilityPluginWeb, _super);\n function AccessibilityPluginWeb() {\n return _super.call(this, {\n name: 'Accessibility',\n platforms: ['web']\n }) || this;\n }\n AccessibilityPluginWeb.prototype.isScreenReaderEnabled = function () {\n throw new Error('Feature not available in the browser');\n };\n AccessibilityPluginWeb.prototype.speak = function (options) {\n if (!('speechSynthesis' in window)) {\n return Promise.reject('Browser does not support the Speech Synthesis API');\n }\n var utterance = new SpeechSynthesisUtterance(options.value);\n if (options.language) {\n utterance.lang = options.language;\n }\n window.speechSynthesis.speak(utterance);\n return Promise.resolve();\n };\n return AccessibilityPluginWeb;\n}(WebPlugin));\nexport { AccessibilityPluginWeb };\nvar Accessibility = new AccessibilityPluginWeb();\nexport { Accessibility };\n//# sourceMappingURL=accessibility.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar AppPluginWeb = /** @class */ (function (_super) {\n __extends(AppPluginWeb, _super);\n function AppPluginWeb() {\n var _this = _super.call(this, {\n name: 'App',\n platforms: ['web']\n }) || this;\n if (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', _this.handleVisibilityChange.bind(_this), false);\n }\n return _this;\n }\n AppPluginWeb.prototype.exitApp = function () {\n throw new Error('Method not implemented.');\n };\n AppPluginWeb.prototype.canOpenUrl = function (_options) {\n return Promise.resolve({ value: true });\n };\n AppPluginWeb.prototype.openUrl = function (_options) {\n return Promise.resolve({ completed: true });\n };\n AppPluginWeb.prototype.getLaunchUrl = function () {\n return Promise.resolve({ url: '' });\n };\n AppPluginWeb.prototype.getState = function () {\n return Promise.resolve({ isActive: document.hidden !== true });\n };\n AppPluginWeb.prototype.handleVisibilityChange = function () {\n var data = {\n isActive: document.hidden !== true\n };\n this.notifyListeners('appStateChange', data);\n };\n return AppPluginWeb;\n}(WebPlugin));\nexport { AppPluginWeb };\nvar App = new AppPluginWeb();\nexport { App };\n//# sourceMappingURL=app.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nvar BrowserPluginWeb = /** @class */ (function (_super) {\n __extends(BrowserPluginWeb, _super);\n function BrowserPluginWeb() {\n return _super.call(this, {\n name: 'Browser',\n platforms: ['web']\n }) || this;\n }\n BrowserPluginWeb.prototype.open = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this._lastWindow = window.open(options.url, options.windowName || '_blank');\n return [2 /*return*/, Promise.resolve()];\n });\n });\n };\n BrowserPluginWeb.prototype.prefetch = function (_options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n // Does nothing\n return [2 /*return*/, Promise.resolve()];\n });\n });\n };\n BrowserPluginWeb.prototype.close = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this._lastWindow && this._lastWindow.close();\n return [2 /*return*/, Promise.resolve()];\n });\n });\n };\n return BrowserPluginWeb;\n}(WebPlugin));\nexport { BrowserPluginWeb };\nvar Browser = new BrowserPluginWeb();\nexport { Browser };\n//# sourceMappingURL=browser.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nimport { CameraResultType, CameraDirection, CameraSource } from '../core-plugin-definitions';\nvar CameraPluginWeb = /** @class */ (function (_super) {\n __extends(CameraPluginWeb, _super);\n function CameraPluginWeb() {\n return _super.call(this, {\n name: 'Camera',\n platforms: ['web']\n }) || this;\n }\n CameraPluginWeb.prototype.getPhoto = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {\n var cameraModal_1, e_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!options.webUseInput) return [3 /*break*/, 1];\n this.fileInputExperience(options, resolve);\n return [3 /*break*/, 7];\n case 1:\n if (!customElements.get('pwa-camera-modal')) return [3 /*break*/, 6];\n cameraModal_1 = document.createElement('pwa-camera-modal');\n document.body.appendChild(cameraModal_1);\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, cameraModal_1.componentOnReady()];\n case 3:\n _a.sent();\n cameraModal_1.addEventListener('onPhoto', function (e) { return __awaiter(_this, void 0, void 0, function () {\n var photo, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n photo = e.detail;\n if (!(photo === null)) return [3 /*break*/, 1];\n reject('User cancelled photos app');\n return [3 /*break*/, 4];\n case 1:\n if (!(photo instanceof Error)) return [3 /*break*/, 2];\n reject(photo.message);\n return [3 /*break*/, 4];\n case 2:\n _a = resolve;\n return [4 /*yield*/, this._getCameraPhoto(photo, options)];\n case 3:\n _a.apply(void 0, [_b.sent()]);\n _b.label = 4;\n case 4:\n cameraModal_1.dismiss();\n document.body.removeChild(cameraModal_1);\n return [2 /*return*/];\n }\n });\n }); });\n cameraModal_1.present();\n return [3 /*break*/, 5];\n case 4:\n e_1 = _a.sent();\n this.fileInputExperience(options, resolve);\n return [3 /*break*/, 5];\n case 5: return [3 /*break*/, 7];\n case 6:\n console.error(\"Unable to load PWA Element 'pwa-camera-modal'. See the docs: https://capacitorjs.com/docs/pwa-elements.\");\n this.fileInputExperience(options, resolve);\n _a.label = 7;\n case 7: return [2 /*return*/];\n }\n });\n }); })];\n });\n });\n };\n CameraPluginWeb.prototype.fileInputExperience = function (options, resolve) {\n var input = document.querySelector('#_capacitor-camera-input');\n var cleanup = function () {\n input.parentNode && input.parentNode.removeChild(input);\n };\n if (!input) {\n input = document.createElement('input');\n input.id = '_capacitor-camera-input';\n input.type = 'file';\n document.body.appendChild(input);\n }\n input.accept = 'image/*';\n input.capture = true;\n if (options.source === CameraSource.Photos || options.source === CameraSource.Prompt) {\n input.removeAttribute('capture');\n }\n else if (options.direction === CameraDirection.Front) {\n input.capture = 'user';\n }\n else if (options.direction === CameraDirection.Rear) {\n input.capture = 'environment';\n }\n input.addEventListener('change', function (_e) {\n var file = input.files[0];\n var format = 'jpeg';\n if (file.type === 'image/png') {\n format = 'png';\n }\n else if (file.type === 'image/gif') {\n format = 'gif';\n }\n if (options.resultType === CameraResultType.DataUrl || options.resultType === CameraResultType.Base64) {\n var reader_1 = new FileReader();\n reader_1.addEventListener('load', function () {\n if (options.resultType === CameraResultType.DataUrl) {\n resolve({\n dataUrl: reader_1.result,\n format: format\n });\n }\n else if (options.resultType === CameraResultType.Base64) {\n var b64 = reader_1.result.split(',')[1];\n resolve({\n base64String: b64,\n format: format\n });\n }\n cleanup();\n });\n reader_1.readAsDataURL(file);\n }\n else {\n resolve({\n webPath: URL.createObjectURL(file),\n format: format\n });\n cleanup();\n }\n });\n input.click();\n };\n CameraPluginWeb.prototype._getCameraPhoto = function (photo, options) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n var format = photo.type.split('/')[1];\n if (options.resultType === CameraResultType.Uri) {\n resolve({\n webPath: URL.createObjectURL(photo),\n format: format\n });\n }\n else {\n reader.readAsDataURL(photo);\n reader.onloadend = function () {\n var r = reader.result;\n if (options.resultType === CameraResultType.DataUrl) {\n resolve({\n dataUrl: r,\n format: format\n });\n }\n else {\n resolve({\n base64String: r.split(',')[1],\n format: format\n });\n }\n };\n reader.onerror = function (e) {\n reject(e);\n };\n }\n });\n };\n return CameraPluginWeb;\n}(WebPlugin));\nexport { CameraPluginWeb };\nvar Camera = new CameraPluginWeb();\nexport { Camera };\n//# sourceMappingURL=camera.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nvar ClipboardPluginWeb = /** @class */ (function (_super) {\n __extends(ClipboardPluginWeb, _super);\n function ClipboardPluginWeb() {\n return _super.call(this, {\n name: 'Clipboard',\n platforms: ['web']\n }) || this;\n }\n ClipboardPluginWeb.prototype.write = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var blob, clipboardItemInput, err_1;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!navigator.clipboard) {\n return [2 /*return*/, Promise.reject('Clipboard API not available in this browser')];\n }\n if (!(options.string !== undefined || options.url)) return [3 /*break*/, 2];\n if (!navigator.clipboard.writeText) {\n return [2 /*return*/, Promise.reject('Writting to clipboard not supported in this browser')];\n }\n return [4 /*yield*/, navigator.clipboard.writeText(options.string !== undefined ? options.string : options.url)];\n case 1:\n _b.sent();\n return [3 /*break*/, 10];\n case 2:\n if (!options.image) return [3 /*break*/, 9];\n if (!navigator.clipboard.write) {\n return [2 /*return*/, Promise.reject('Setting images not supported in this browser')];\n }\n _b.label = 3;\n case 3:\n _b.trys.push([3, 7, , 8]);\n return [4 /*yield*/, fetch(options.image)];\n case 4: return [4 /*yield*/, (_b.sent()).blob()];\n case 5:\n blob = _b.sent();\n clipboardItemInput = new ClipboardItem((_a = {}, _a[blob.type] = blob, _a));\n return [4 /*yield*/, navigator.clipboard.write([clipboardItemInput])];\n case 6:\n _b.sent();\n return [3 /*break*/, 8];\n case 7:\n err_1 = _b.sent();\n return [2 /*return*/, Promise.reject('Failed to write image')];\n case 8: return [3 /*break*/, 10];\n case 9: return [2 /*return*/, Promise.reject('Nothing to write')];\n case 10: return [2 /*return*/, Promise.resolve()];\n }\n });\n });\n };\n ClipboardPluginWeb.prototype.read = function () {\n return __awaiter(this, void 0, void 0, function () {\n var clipboardItems, type, clipboardBlob, data, err_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!navigator.clipboard) {\n return [2 /*return*/, Promise.reject('Clipboard API not available in this browser')];\n }\n if (!!navigator.clipboard.read) return [3 /*break*/, 1];\n if (!navigator.clipboard.readText) {\n return [2 /*return*/, Promise.reject('Reading from clipboard not supported in this browser')];\n }\n return [2 /*return*/, this.readText()];\n case 1:\n _a.trys.push([1, 5, , 6]);\n return [4 /*yield*/, navigator.clipboard.read()];\n case 2:\n clipboardItems = _a.sent();\n type = clipboardItems[0].types[0];\n return [4 /*yield*/, clipboardItems[0].getType(type)];\n case 3:\n clipboardBlob = _a.sent();\n return [4 /*yield*/, this._getBlobData(clipboardBlob, type)];\n case 4:\n data = _a.sent();\n return [2 /*return*/, Promise.resolve({ value: data, type: type })];\n case 5:\n err_2 = _a.sent();\n return [2 /*return*/, this.readText()];\n case 6: return [2 /*return*/];\n }\n });\n });\n };\n ClipboardPluginWeb.prototype.readText = function () {\n return __awaiter(this, void 0, void 0, function () {\n var text;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, navigator.clipboard.readText()];\n case 1:\n text = _a.sent();\n return [2 /*return*/, Promise.resolve({ value: text, type: 'text/plain' })];\n }\n });\n });\n };\n ClipboardPluginWeb.prototype._getBlobData = function (clipboardBlob, type) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n if (type.includes('image')) {\n reader.readAsDataURL(clipboardBlob);\n }\n else {\n reader.readAsText(clipboardBlob);\n }\n reader.onloadend = function () {\n var r = reader.result;\n resolve(r);\n };\n reader.onerror = function (e) {\n reject(e);\n };\n });\n };\n return ClipboardPluginWeb;\n}(WebPlugin));\nexport { ClipboardPluginWeb };\nvar Clipboard = new ClipboardPluginWeb();\nexport { Clipboard };\n//# sourceMappingURL=clipboard.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nimport { FilesystemDirectory } from '../core-plugin-definitions';\nvar FilesystemPluginWeb = /** @class */ (function (_super) {\n __extends(FilesystemPluginWeb, _super);\n function FilesystemPluginWeb() {\n var _this = _super.call(this, {\n name: 'Filesystem',\n platforms: ['web']\n }) || this;\n _this.DEFAULT_DIRECTORY = FilesystemDirectory.Data;\n _this.DB_VERSION = 1;\n _this.DB_NAME = 'Disc';\n _this._writeCmds = ['add', 'put', 'delete'];\n return _this;\n }\n FilesystemPluginWeb.prototype.initDb = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n if (this._db !== undefined) {\n return [2 /*return*/, this._db];\n }\n if (!('indexedDB' in window)) {\n throw new Error('This browser doesn\\'t support IndexedDB');\n }\n return [2 /*return*/, new Promise(function (resolve, reject) {\n var request = indexedDB.open(_this.DB_NAME, _this.DB_VERSION);\n request.onupgradeneeded = FilesystemPluginWeb.doUpgrade;\n request.onsuccess = function () {\n _this._db = request.result;\n resolve(request.result);\n };\n request.onerror = function () { return reject(request.error); };\n request.onblocked = function () {\n console.warn('db blocked');\n };\n })];\n });\n });\n };\n FilesystemPluginWeb.doUpgrade = function (event) {\n var eventTarget = event.target;\n var db = eventTarget.result;\n switch (event.oldVersion) {\n case 0:\n case 1:\n default:\n if (db.objectStoreNames.contains('FileStorage')) {\n db.deleteObjectStore('FileStorage');\n }\n var store = db.createObjectStore('FileStorage', { keyPath: 'path' });\n store.createIndex('by_folder', 'folder');\n }\n };\n FilesystemPluginWeb.prototype.dbRequest = function (cmd, args) {\n return __awaiter(this, void 0, void 0, function () {\n var readFlag;\n return __generator(this, function (_a) {\n readFlag = this._writeCmds.indexOf(cmd) !== -1 ? 'readwrite' : 'readonly';\n return [2 /*return*/, this.initDb()\n .then(function (conn) {\n return new Promise(function (resolve, reject) {\n var tx = conn.transaction(['FileStorage'], readFlag);\n var store = tx.objectStore('FileStorage');\n var req = store[cmd].apply(store, args);\n req.onsuccess = function () { return resolve(req.result); };\n req.onerror = function () { return reject(req.error); };\n });\n })];\n });\n });\n };\n FilesystemPluginWeb.prototype.dbIndexRequest = function (indexName, cmd, args) {\n return __awaiter(this, void 0, void 0, function () {\n var readFlag;\n return __generator(this, function (_a) {\n readFlag = this._writeCmds.indexOf(cmd) !== -1 ? 'readwrite' : 'readonly';\n return [2 /*return*/, this.initDb()\n .then(function (conn) {\n return new Promise(function (resolve, reject) {\n var tx = conn.transaction(['FileStorage'], readFlag);\n var store = tx.objectStore('FileStorage');\n var index = store.index(indexName);\n var req = index[cmd].apply(index, args);\n req.onsuccess = function () { return resolve(req.result); };\n req.onerror = function () { return reject(req.error); };\n });\n })];\n });\n });\n };\n FilesystemPluginWeb.prototype.getPath = function (directory, uriPath) {\n directory = directory || this.DEFAULT_DIRECTORY;\n var cleanedUriPath = uriPath !== undefined ? uriPath.replace(/^[/]+|[/]+$/g, '') : '';\n var fsPath = '/' + directory;\n if (uriPath !== '')\n fsPath += '/' + cleanedUriPath;\n return fsPath;\n };\n FilesystemPluginWeb.prototype.clear = function () {\n return __awaiter(this, void 0, void 0, function () {\n var conn, tx, store;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.initDb()];\n case 1:\n conn = _a.sent();\n tx = conn.transaction(['FileStorage'], 'readwrite');\n store = tx.objectStore('FileStorage');\n store.clear();\n return [2 /*return*/, {}];\n }\n });\n });\n };\n /**\n * Read a file from disk\n * @param options options for the file read\n * @return a promise that resolves with the read file data result\n */\n FilesystemPluginWeb.prototype.readFile = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, entry;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n entry = _a.sent();\n if (entry === undefined)\n throw Error('File does not exist.');\n return [2 /*return*/, { data: entry.content }];\n }\n });\n });\n };\n /**\n * Write a file to disk in the specified location on device\n * @param options options for the file write\n * @return a promise that resolves with the file write result\n */\n FilesystemPluginWeb.prototype.writeFile = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, data, doRecursive, occupiedEntry, encoding, parentPath, parentEntry, subDirIndex, parentArgPath, now, pathObj;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n data = options.data;\n doRecursive = options.recursive;\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n occupiedEntry = _a.sent();\n if (occupiedEntry && occupiedEntry.type === 'directory')\n throw ('The supplied path is a directory.');\n encoding = options.encoding;\n parentPath = path.substr(0, path.lastIndexOf('/'));\n return [4 /*yield*/, this.dbRequest('get', [parentPath])];\n case 2:\n parentEntry = _a.sent();\n if (!(parentEntry === undefined)) return [3 /*break*/, 4];\n subDirIndex = parentPath.indexOf('/', 1);\n if (!(subDirIndex !== -1)) return [3 /*break*/, 4];\n parentArgPath = parentPath.substr(subDirIndex);\n return [4 /*yield*/, this.mkdir({ path: parentArgPath, directory: options.directory, recursive: doRecursive })];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n now = Date.now();\n pathObj = {\n path: path,\n folder: parentPath,\n type: 'file',\n size: data.length,\n ctime: now,\n mtime: now,\n content: !encoding && data.indexOf(',') >= 0 ? data.split(',')[1] : data,\n };\n return [4 /*yield*/, this.dbRequest('put', [pathObj])];\n case 5:\n _a.sent();\n return [2 /*return*/, {\n uri: pathObj.path\n }];\n }\n });\n });\n };\n /**\n * Append to a file on disk in the specified location on device\n * @param options options for the file append\n * @return a promise that resolves with the file write result\n */\n FilesystemPluginWeb.prototype.appendFile = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, data, parentPath, now, ctime, occupiedEntry, parentEntry, parentArgPathIndex, parentArgPath, pathObj;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n data = options.data;\n parentPath = path.substr(0, path.lastIndexOf('/'));\n now = Date.now();\n ctime = now;\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n occupiedEntry = _a.sent();\n if (occupiedEntry && occupiedEntry.type === 'directory')\n throw ('The supplied path is a directory.');\n return [4 /*yield*/, this.dbRequest('get', [parentPath])];\n case 2:\n parentEntry = _a.sent();\n if (!(parentEntry === undefined)) return [3 /*break*/, 4];\n parentArgPathIndex = parentPath.indexOf('/', 1);\n parentArgPath = parentArgPathIndex !== -1 ? parentPath.substr(parentArgPathIndex) : '/';\n return [4 /*yield*/, this.mkdir({ path: parentArgPath, directory: options.directory, recursive: true })];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n if (occupiedEntry !== undefined) {\n data = occupiedEntry.content + data;\n ctime = occupiedEntry.ctime;\n }\n pathObj = {\n path: path,\n folder: parentPath,\n type: 'file',\n size: data.length,\n ctime: ctime,\n mtime: now,\n content: data\n };\n return [4 /*yield*/, this.dbRequest('put', [pathObj])];\n case 5:\n _a.sent();\n return [2 /*return*/, {}];\n }\n });\n });\n };\n /**\n * Delete a file from disk\n * @param options options for the file delete\n * @return a promise that resolves with the deleted file data result\n */\n FilesystemPluginWeb.prototype.deleteFile = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, entry, entries;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n entry = _a.sent();\n if (entry === undefined)\n throw Error('File does not exist.');\n return [4 /*yield*/, this.dbIndexRequest('by_folder', 'getAllKeys', [IDBKeyRange.only(path)])];\n case 2:\n entries = _a.sent();\n if (entries.length !== 0)\n throw Error('Folder is not empty.');\n return [4 /*yield*/, this.dbRequest('delete', [path])];\n case 3:\n _a.sent();\n return [2 /*return*/, {}];\n }\n });\n });\n };\n /**\n * Create a directory.\n * @param options options for the mkdir\n * @return a promise that resolves with the mkdir result\n */\n FilesystemPluginWeb.prototype.mkdir = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, doRecursive, parentPath, depth, parentEntry, occupiedEntry, parentArgPath, now, pathObj;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n doRecursive = options.recursive;\n parentPath = path.substr(0, path.lastIndexOf('/'));\n depth = (path.match(/\\//g) || []).length;\n return [4 /*yield*/, this.dbRequest('get', [parentPath])];\n case 1:\n parentEntry = _a.sent();\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 2:\n occupiedEntry = _a.sent();\n if (depth === 1)\n throw Error('Cannot create Root directory');\n if (occupiedEntry !== undefined)\n throw Error('Current directory does already exist.');\n if (!doRecursive && depth !== 2 && parentEntry === undefined)\n throw Error('Parent directory must exist');\n if (!(doRecursive && depth !== 2 && parentEntry === undefined)) return [3 /*break*/, 4];\n parentArgPath = parentPath.substr(parentPath.indexOf('/', 1));\n return [4 /*yield*/, this.mkdir({\n path: parentArgPath,\n directory: options.directory,\n recursive: doRecursive\n })];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n now = Date.now();\n pathObj = { path: path, folder: parentPath, type: 'directory', size: 0, ctime: now, mtime: now };\n return [4 /*yield*/, this.dbRequest('put', [pathObj])];\n case 5:\n _a.sent();\n return [2 /*return*/, {}];\n }\n });\n });\n };\n /**\n * Remove a directory\n * @param options the options for the directory remove\n */\n FilesystemPluginWeb.prototype.rmdir = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, directory, recursive, fullPath, entry, readDirResult, _i, _a, entry_1, entryPath, entryObj;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n path = options.path, directory = options.directory, recursive = options.recursive;\n fullPath = this.getPath(directory, path);\n return [4 /*yield*/, this.dbRequest('get', [fullPath])];\n case 1:\n entry = _b.sent();\n if (entry === undefined)\n throw Error('Folder does not exist.');\n if (entry.type !== 'directory')\n throw Error('Requested path is not a directory');\n return [4 /*yield*/, this.readdir({ path: path, directory: directory })];\n case 2:\n readDirResult = _b.sent();\n if (readDirResult.files.length !== 0 && !recursive)\n throw Error('Folder is not empty');\n _i = 0, _a = readDirResult.files;\n _b.label = 3;\n case 3:\n if (!(_i < _a.length)) return [3 /*break*/, 9];\n entry_1 = _a[_i];\n entryPath = path + \"/\" + entry_1;\n return [4 /*yield*/, this.stat({ path: entryPath, directory: directory })];\n case 4:\n entryObj = _b.sent();\n if (!(entryObj.type === 'file')) return [3 /*break*/, 6];\n return [4 /*yield*/, this.deleteFile({ path: entryPath, directory: directory })];\n case 5:\n _b.sent();\n return [3 /*break*/, 8];\n case 6: return [4 /*yield*/, this.rmdir({ path: entryPath, directory: directory, recursive: recursive })];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8:\n _i++;\n return [3 /*break*/, 3];\n case 9: return [4 /*yield*/, this.dbRequest('delete', [fullPath])];\n case 10:\n _b.sent();\n return [2 /*return*/, {}];\n }\n });\n });\n };\n /**\n * Return a list of files from the directory (not recursive)\n * @param options the options for the readdir operation\n * @return a promise that resolves with the readdir directory listing result\n */\n FilesystemPluginWeb.prototype.readdir = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, entry, entries, names;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n entry = _a.sent();\n if (options.path !== '' && entry === undefined)\n throw Error('Folder does not exist.');\n return [4 /*yield*/, this.dbIndexRequest('by_folder', 'getAllKeys', [IDBKeyRange.only(path)])];\n case 2:\n entries = _a.sent();\n names = entries.map(function (e) {\n return e.substring(path.length + 1);\n });\n return [2 /*return*/, { files: names }];\n }\n });\n });\n };\n /**\n * Return full File URI for a path and directory\n * @param options the options for the stat operation\n * @return a promise that resolves with the file stat result\n */\n FilesystemPluginWeb.prototype.getUri = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, entry;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n entry = _a.sent();\n if (!(entry === undefined)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.dbRequest('get', [path + '/'])];\n case 2:\n entry = (_a.sent());\n _a.label = 3;\n case 3:\n if (entry === undefined)\n throw Error('Entry does not exist.');\n return [2 /*return*/, {\n uri: entry.path\n }];\n }\n });\n });\n };\n /**\n * Return data about a file\n * @param options the options for the stat operation\n * @return a promise that resolves with the file stat result\n */\n FilesystemPluginWeb.prototype.stat = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var path, entry;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n return [4 /*yield*/, this.dbRequest('get', [path])];\n case 1:\n entry = _a.sent();\n if (!(entry === undefined)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.dbRequest('get', [path + '/'])];\n case 2:\n entry = (_a.sent());\n _a.label = 3;\n case 3:\n if (entry === undefined)\n throw Error('Entry does not exist.');\n return [2 /*return*/, {\n type: entry.type,\n size: entry.size,\n ctime: entry.ctime,\n mtime: entry.mtime,\n uri: entry.path\n }];\n }\n });\n });\n };\n /**\n * Rename a file or directory\n * @param options the options for the rename operation\n * @return a promise that resolves with the rename result\n */\n FilesystemPluginWeb.prototype.rename = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._copy(options, true)];\n });\n });\n };\n /**\n * Copy a file or directory\n * @param options the options for the copy operation\n * @return a promise that resolves with the copy result\n */\n FilesystemPluginWeb.prototype.copy = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._copy(options, false)];\n });\n });\n };\n /**\n * Function that can perform a copy or a rename\n * @param options the options for the rename operation\n * @param doRename whether to perform a rename or copy operation\n * @return a promise that resolves with the result\n */\n FilesystemPluginWeb.prototype._copy = function (options, doRename) {\n if (doRename === void 0) { doRename = false; }\n return __awaiter(this, void 0, void 0, function () {\n var to, from, fromDirectory, toDirectory, fromPath, toPath, toObj, e_1, toPathComponents, toPath_1, toParentDirectory, fromObj, updateTime, _a, file, e_2, contents, _i, contents_1, filename;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n to = options.to, from = options.from, fromDirectory = options.directory, toDirectory = options.toDirectory;\n if (!to || !from) {\n throw Error('Both to and from must be provided');\n }\n // If no \"to\" directory is provided, use the \"from\" directory\n if (!toDirectory) {\n toDirectory = fromDirectory;\n }\n fromPath = this.getPath(fromDirectory, from);\n toPath = this.getPath(toDirectory, to);\n // Test that the \"to\" and \"from\" locations are different\n if (fromPath === toPath) {\n return [2 /*return*/, {}];\n }\n if (toPath.startsWith(fromPath)) {\n throw Error('To path cannot contain the from path');\n }\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 6]);\n return [4 /*yield*/, this.stat({\n path: to,\n directory: toDirectory\n })];\n case 2:\n toObj = _b.sent();\n return [3 /*break*/, 6];\n case 3:\n e_1 = _b.sent();\n toPathComponents = to.split('/');\n toPathComponents.pop();\n toPath_1 = toPathComponents.join('/');\n if (!(toPathComponents.length > 0)) return [3 /*break*/, 5];\n return [4 /*yield*/, this.stat({\n path: toPath_1,\n directory: toDirectory,\n })];\n case 4:\n toParentDirectory = _b.sent();\n if (toParentDirectory.type !== 'directory') {\n throw new Error('Parent directory of the to path is a file');\n }\n _b.label = 5;\n case 5: return [3 /*break*/, 6];\n case 6:\n // Cannot overwrite a directory\n if (toObj && toObj.type === 'directory') {\n throw new Error('Cannot overwrite a directory with a file');\n }\n return [4 /*yield*/, this.stat({\n path: from,\n directory: fromDirectory,\n })];\n case 7:\n fromObj = _b.sent();\n updateTime = function (path, ctime, mtime) { return __awaiter(_this, void 0, void 0, function () {\n var fullPath, entry;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n fullPath = this.getPath(toDirectory, path);\n return [4 /*yield*/, this.dbRequest('get', [fullPath])];\n case 1:\n entry = _a.sent();\n entry.ctime = ctime;\n entry.mtime = mtime;\n return [4 /*yield*/, this.dbRequest('put', [entry])];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); };\n _a = fromObj.type;\n switch (_a) {\n case 'file': return [3 /*break*/, 8];\n case 'directory': return [3 /*break*/, 15];\n }\n return [3 /*break*/, 28];\n case 8: return [4 /*yield*/, this.readFile({\n path: from,\n directory: fromDirectory\n })];\n case 9:\n file = _b.sent();\n if (!doRename) return [3 /*break*/, 11];\n return [4 /*yield*/, this.deleteFile({\n path: from,\n directory: fromDirectory\n })];\n case 10:\n _b.sent();\n _b.label = 11;\n case 11: \n // Write the file to the new location\n return [4 /*yield*/, this.writeFile({\n path: to,\n directory: toDirectory,\n data: file.data\n })];\n case 12:\n // Write the file to the new location\n _b.sent();\n if (!doRename) return [3 /*break*/, 14];\n return [4 /*yield*/, updateTime(to, fromObj.ctime, fromObj.mtime)];\n case 13:\n _b.sent();\n _b.label = 14;\n case 14: \n // Resolve promise\n return [2 /*return*/, {}];\n case 15:\n if (toObj) {\n throw Error('Cannot move a directory over an existing object');\n }\n _b.label = 16;\n case 16:\n _b.trys.push([16, 20, , 21]);\n // Create the to directory\n return [4 /*yield*/, this.mkdir({\n path: to,\n directory: toDirectory,\n recursive: false,\n })];\n case 17:\n // Create the to directory\n _b.sent();\n if (!doRename) return [3 /*break*/, 19];\n return [4 /*yield*/, updateTime(to, fromObj.ctime, fromObj.mtime)];\n case 18:\n _b.sent();\n _b.label = 19;\n case 19: return [3 /*break*/, 21];\n case 20:\n e_2 = _b.sent();\n return [3 /*break*/, 21];\n case 21: return [4 /*yield*/, this.readdir({\n path: from,\n directory: fromDirectory,\n })];\n case 22:\n contents = (_b.sent()).files;\n _i = 0, contents_1 = contents;\n _b.label = 23;\n case 23:\n if (!(_i < contents_1.length)) return [3 /*break*/, 26];\n filename = contents_1[_i];\n // Move item from the from directory to the to directory\n return [4 /*yield*/, this._copy({\n from: from + \"/\" + filename,\n to: to + \"/\" + filename,\n directory: fromDirectory,\n toDirectory: toDirectory,\n }, doRename)];\n case 24:\n // Move item from the from directory to the to directory\n _b.sent();\n _b.label = 25;\n case 25:\n _i++;\n return [3 /*break*/, 23];\n case 26:\n if (!doRename) return [3 /*break*/, 28];\n return [4 /*yield*/, this.rmdir({\n path: from,\n directory: fromDirectory\n })];\n case 27:\n _b.sent();\n _b.label = 28;\n case 28: return [2 /*return*/, {}];\n }\n });\n });\n };\n FilesystemPluginWeb._debug = true;\n return FilesystemPluginWeb;\n}(WebPlugin));\nexport { FilesystemPluginWeb };\nvar Filesystem = new FilesystemPluginWeb();\nexport { Filesystem };\n//# sourceMappingURL=filesystem.js.map","export var extend = function (target) {\n var objs = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n objs[_i - 1] = arguments[_i];\n }\n objs.forEach(function (o) {\n if (o && typeof (o) === 'object') {\n for (var k in o) {\n if (o.hasOwnProperty(k)) {\n target[k] = o[k];\n }\n }\n }\n });\n return target;\n};\nexport var uuid4 = function () {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n};\n//# sourceMappingURL=util.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nimport { extend } from '../util';\nvar GeolocationPluginWeb = /** @class */ (function (_super) {\n __extends(GeolocationPluginWeb, _super);\n function GeolocationPluginWeb() {\n return _super.call(this, {\n name: 'Geolocation',\n platforms: ['web']\n }) || this;\n }\n GeolocationPluginWeb.prototype.getCurrentPosition = function (options) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n return _this.requestPermissions().then(function (_result) {\n window.navigator.geolocation.getCurrentPosition(function (pos) {\n resolve(pos);\n }, function (err) {\n reject(err);\n }, extend({\n enableHighAccuracy: true,\n timeout: 10000,\n maximumAge: 0\n }, options));\n });\n });\n };\n GeolocationPluginWeb.prototype.watchPosition = function (options, callback) {\n var id = window.navigator.geolocation.watchPosition(function (pos) {\n callback(pos);\n }, function (err) {\n callback(null, err);\n }, extend({\n enableHighAccuracy: true,\n timeout: 10000,\n maximumAge: 0\n }, options));\n return \"\" + id;\n };\n GeolocationPluginWeb.prototype.clearWatch = function (options) {\n window.navigator.geolocation.clearWatch(parseInt(options.id, 10));\n return Promise.resolve();\n };\n return GeolocationPluginWeb;\n}(WebPlugin));\nexport { GeolocationPluginWeb };\nvar Geolocation = new GeolocationPluginWeb();\nexport { Geolocation };\n//# sourceMappingURL=geolocation.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nimport { uuid4 } from '../util';\nvar DevicePluginWeb = /** @class */ (function (_super) {\n __extends(DevicePluginWeb, _super);\n function DevicePluginWeb() {\n return _super.call(this, {\n name: 'Device',\n platforms: ['web']\n }) || this;\n }\n DevicePluginWeb.prototype.getInfo = function () {\n return __awaiter(this, void 0, void 0, function () {\n var ua, uaFields;\n return __generator(this, function (_a) {\n ua = navigator.userAgent;\n uaFields = this.parseUa(ua);\n return [2 /*return*/, Promise.resolve({\n model: uaFields.model,\n platform: 'web',\n appVersion: '',\n appBuild: '',\n appId: '',\n appName: '',\n operatingSystem: uaFields.operatingSystem,\n osVersion: uaFields.osVersion,\n manufacturer: navigator.vendor,\n isVirtual: false,\n uuid: this.getUid()\n })];\n });\n });\n };\n DevicePluginWeb.prototype.getBatteryInfo = function () {\n return __awaiter(this, void 0, void 0, function () {\n var battery, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n battery = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, navigator.getBattery()];\n case 2:\n battery = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n e_1 = _a.sent();\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, Promise.resolve({\n batteryLevel: battery.level,\n isCharging: battery.charging\n })];\n }\n });\n });\n };\n DevicePluginWeb.prototype.getLanguageCode = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, {\n value: navigator.language\n }];\n });\n });\n };\n DevicePluginWeb.prototype.parseUa = function (_ua) {\n var uaFields = {};\n var start = _ua.indexOf('(') + 1;\n var end = _ua.indexOf(') AppleWebKit');\n if (_ua.indexOf(') Gecko') !== -1) {\n end = _ua.indexOf(') Gecko');\n }\n var fields = _ua.substring(start, end);\n if (_ua.indexOf('Android') !== -1) {\n uaFields.model = fields.replace('; wv', '').split('; ').pop().split(' Build')[0];\n uaFields.osVersion = fields.split('; ')[1];\n }\n else {\n uaFields.model = fields.split('; ')[0];\n if (navigator.oscpu) {\n uaFields.osVersion = navigator.oscpu;\n }\n else {\n if (_ua.indexOf('Windows') !== -1) {\n uaFields.osVersion = fields;\n }\n else {\n var lastParts = fields.split('; ').pop().replace(' like Mac OS X', '').split(' ');\n uaFields.osVersion = lastParts[lastParts.length - 1].replace(/_/g, '.');\n }\n }\n }\n if (/android/i.test(_ua)) {\n uaFields.operatingSystem = 'android';\n }\n else if (/iPad|iPhone|iPod/.test(_ua) && !window.MSStream) {\n uaFields.operatingSystem = 'ios';\n }\n else if (/Win/.test(_ua)) {\n uaFields.operatingSystem = 'windows';\n }\n else if (/Mac/i.test(_ua)) {\n uaFields.operatingSystem = 'mac';\n }\n else {\n uaFields.operatingSystem = 'unknown';\n }\n return uaFields;\n };\n DevicePluginWeb.prototype.getUid = function () {\n var uid = window.localStorage.getItem('_capuid');\n if (uid) {\n return uid;\n }\n uid = uuid4();\n window.localStorage.setItem('_capuid', uid);\n return uid;\n };\n return DevicePluginWeb;\n}(WebPlugin));\nexport { DevicePluginWeb };\nvar Device = new DevicePluginWeb();\nexport { Device };\n//# sourceMappingURL=device.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar LocalNotificationsPluginWeb = /** @class */ (function (_super) {\n __extends(LocalNotificationsPluginWeb, _super);\n function LocalNotificationsPluginWeb() {\n var _this = _super.call(this, {\n name: 'LocalNotifications',\n platforms: ['web']\n }) || this;\n _this.pending = [];\n return _this;\n }\n LocalNotificationsPluginWeb.prototype.createChannel = function (channel) {\n throw new Error('Feature not available in the browser. ' + channel.id);\n };\n LocalNotificationsPluginWeb.prototype.deleteChannel = function (channel) {\n throw new Error('Feature not available in the browser. ' + channel.id);\n };\n LocalNotificationsPluginWeb.prototype.listChannels = function () {\n throw new Error('Feature not available in the browser');\n };\n LocalNotificationsPluginWeb.prototype.sendPending = function () {\n var _this = this;\n var toRemove = [];\n var now = +new Date;\n this.pending.forEach(function (localNotification) {\n if (localNotification.schedule && localNotification.schedule.at) {\n if (+localNotification.schedule.at <= now) {\n _this.buildNotification(localNotification);\n toRemove.push(localNotification);\n }\n }\n });\n console.log('Sent pending, removing', toRemove);\n this.pending = this.pending.filter(function (localNotification) { return !toRemove.find(function (ln) { return ln === localNotification; }); });\n };\n LocalNotificationsPluginWeb.prototype.sendNotification = function (localNotification) {\n var _this = this;\n var l = localNotification;\n if (localNotification.schedule && localNotification.schedule.at) {\n var diff = +localNotification.schedule.at - +new Date;\n this.pending.push(l);\n setTimeout(function () {\n _this.sendPending();\n }, diff);\n return;\n }\n this.buildNotification(localNotification);\n };\n LocalNotificationsPluginWeb.prototype.buildNotification = function (localNotification) {\n var l = localNotification;\n return new Notification(l.title, {\n body: l.body\n });\n };\n LocalNotificationsPluginWeb.prototype.schedule = function (options) {\n var _this = this;\n var notifications = [];\n options.notifications.forEach(function (notification) {\n notifications.push(_this.sendNotification(notification));\n });\n return Promise.resolve({\n notifications: options.notifications.map(function (notification) { return { id: '' + notification.id }; })\n });\n };\n LocalNotificationsPluginWeb.prototype.getPending = function () {\n return Promise.resolve({\n notifications: this.pending.map(function (localNotification) {\n return {\n id: '' + localNotification.id\n };\n })\n });\n };\n LocalNotificationsPluginWeb.prototype.registerActionTypes = function (_options) {\n throw new Error('Method not implemented.');\n };\n LocalNotificationsPluginWeb.prototype.cancel = function (pending) {\n console.log('Cancel these', pending);\n this.pending = this.pending.filter(function (localNotification) { return !pending.notifications.find(function (ln) { return ln.id === '' + localNotification.id; }); });\n return Promise.resolve();\n };\n LocalNotificationsPluginWeb.prototype.areEnabled = function () {\n return Promise.resolve({\n value: Notification.permission === 'granted'\n });\n };\n LocalNotificationsPluginWeb.prototype.requestPermission = function () {\n return new Promise(function (resolve) {\n Notification.requestPermission(function (result) {\n var granted = true;\n if (result === 'denied' || result === 'default') {\n granted = false;\n }\n resolve({ granted: granted });\n });\n });\n };\n LocalNotificationsPluginWeb.prototype.requestPermissions = function () {\n return new Promise(function (resolve, reject) {\n Notification.requestPermission(function (result) {\n if (result === 'denied' || result === 'default') {\n reject(result);\n return;\n }\n resolve({\n results: [result]\n });\n });\n });\n };\n return LocalNotificationsPluginWeb;\n}(WebPlugin));\nexport { LocalNotificationsPluginWeb };\nvar LocalNotifications = new LocalNotificationsPluginWeb();\nexport { LocalNotifications };\n//# sourceMappingURL=local-notifications.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar SharePluginWeb = /** @class */ (function (_super) {\n __extends(SharePluginWeb, _super);\n function SharePluginWeb() {\n return _super.call(this, {\n name: 'Share',\n platforms: ['web']\n }) || this;\n }\n SharePluginWeb.prototype.share = function (options) {\n if (!navigator.share) {\n return Promise.reject('Web Share API not available');\n }\n return navigator.share({\n title: options.title,\n text: options.text,\n url: options.url\n });\n };\n return SharePluginWeb;\n}(WebPlugin));\nexport { SharePluginWeb };\nvar Share = new SharePluginWeb();\nexport { Share };\n//# sourceMappingURL=share.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nvar ModalsPluginWeb = /** @class */ (function (_super) {\n __extends(ModalsPluginWeb, _super);\n function ModalsPluginWeb() {\n return _super.call(this, {\n name: 'Modals',\n platforms: ['web']\n }) || this;\n }\n ModalsPluginWeb.prototype.alert = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n window.alert(options.message);\n return [2 /*return*/, Promise.resolve()];\n });\n });\n };\n ModalsPluginWeb.prototype.prompt = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var val;\n return __generator(this, function (_a) {\n val = window.prompt(options.message, options.inputText || '');\n return [2 /*return*/, Promise.resolve({\n value: val,\n cancelled: val === null\n })];\n });\n });\n };\n ModalsPluginWeb.prototype.confirm = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var val;\n return __generator(this, function (_a) {\n val = window.confirm(options.message);\n return [2 /*return*/, Promise.resolve({\n value: val\n })];\n });\n });\n };\n ModalsPluginWeb.prototype.showActions = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve, _reject) { return __awaiter(_this, void 0, void 0, function () {\n var actionSheet;\n var _this = this;\n return __generator(this, function (_a) {\n actionSheet = document.querySelector('pwa-action-sheet');\n if (!actionSheet) {\n actionSheet = document.createElement('pwa-action-sheet');\n document.body.appendChild(actionSheet);\n }\n actionSheet.header = options.title;\n actionSheet.cancelable = false;\n actionSheet.options = options.options;\n actionSheet.addEventListener('onSelection', function (e) { return __awaiter(_this, void 0, void 0, function () {\n var selection;\n return __generator(this, function (_a) {\n selection = e.detail;\n resolve({\n index: selection\n });\n return [2 /*return*/];\n });\n }); });\n return [2 /*return*/];\n });\n }); })];\n });\n });\n };\n return ModalsPluginWeb;\n}(WebPlugin));\nexport { ModalsPluginWeb };\nvar Modals = new ModalsPluginWeb();\nexport { Modals };\n//# sourceMappingURL=modals.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar MotionPluginWeb = /** @class */ (function (_super) {\n __extends(MotionPluginWeb, _super);\n function MotionPluginWeb() {\n var _this = _super.call(this, {\n name: 'Motion'\n }) || this;\n _this.registerWindowListener('devicemotion', 'accel');\n _this.registerWindowListener('deviceorientation', 'orientation');\n return _this;\n }\n return MotionPluginWeb;\n}(WebPlugin));\nexport { MotionPluginWeb };\nvar Motion = new MotionPluginWeb();\nexport { Motion };\n//# sourceMappingURL=motion.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar NetworkPluginWeb = /** @class */ (function (_super) {\n __extends(NetworkPluginWeb, _super);\n function NetworkPluginWeb() {\n var _this = _super.call(this, {\n name: 'Network',\n platforms: ['web']\n }) || this;\n _this.listenerFunction = null;\n return _this;\n }\n NetworkPluginWeb.prototype.getStatus = function () {\n return new Promise(function (resolve, reject) {\n if (!window.navigator) {\n reject('Network info not available');\n return;\n }\n var connected = window.navigator.onLine;\n var connection = window.navigator.connection || window.navigator.mozConnection || window.navigator.webkitConnection;\n var connectionType = connection ? (connection.type || connection.effectiveType) : 'wifi';\n resolve({\n connected: connected,\n connectionType: connected ? connectionType : 'none'\n });\n });\n };\n NetworkPluginWeb.prototype.addListener = function (eventName, listenerFunc) {\n var thisRef = this;\n var connection = window.navigator.connection || window.navigator.mozConnection || window.navigator.webkitConnection;\n var connectionType = connection ? (connection.type || connection.effectiveType) : 'wifi';\n var onlineBindFunc = listenerFunc.bind(thisRef, { connected: true, connectionType: connectionType });\n var offlineBindFunc = listenerFunc.bind(thisRef, { connected: false, connectionType: 'none' });\n if (eventName.localeCompare('networkStatusChange') === 0) {\n window.addEventListener('online', onlineBindFunc);\n window.addEventListener('offline', offlineBindFunc);\n return {\n remove: function () {\n window.removeEventListener('online', onlineBindFunc);\n window.removeEventListener('offline', offlineBindFunc);\n }\n };\n }\n };\n return NetworkPluginWeb;\n}(WebPlugin));\nexport { NetworkPluginWeb };\nvar Network = new NetworkPluginWeb();\nexport { Network };\n//# sourceMappingURL=network.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nimport { PermissionType } from '../core-plugin-definitions';\nvar PermissionsPluginWeb = /** @class */ (function (_super) {\n __extends(PermissionsPluginWeb, _super);\n function PermissionsPluginWeb() {\n return _super.call(this, {\n name: 'Permissions'\n }) || this;\n }\n PermissionsPluginWeb.prototype.query = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var navigator, name, ret;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n navigator = window.navigator;\n if (!navigator.permissions) {\n return [2 /*return*/, Promise.reject('This browser does not support the Permissions API')];\n }\n name = options.name === PermissionType.Photos ? 'camera' : options.name;\n return [4 /*yield*/, navigator.permissions.query({ name: name })];\n case 1:\n ret = _a.sent();\n return [2 /*return*/, {\n state: ret.state\n }];\n }\n });\n });\n };\n return PermissionsPluginWeb;\n}(WebPlugin));\nexport { PermissionsPluginWeb };\nvar Permissions = new PermissionsPluginWeb();\nexport { Permissions };\n//# sourceMappingURL=permissions.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar SplashScreenPluginWeb = /** @class */ (function (_super) {\n __extends(SplashScreenPluginWeb, _super);\n function SplashScreenPluginWeb() {\n return _super.call(this, {\n name: 'SplashScreen',\n platforms: ['web']\n }) || this;\n }\n SplashScreenPluginWeb.prototype.show = function (_options, _callback) {\n return Promise.resolve();\n };\n SplashScreenPluginWeb.prototype.hide = function (_options, _callback) {\n return Promise.resolve();\n };\n return SplashScreenPluginWeb;\n}(WebPlugin));\nexport { SplashScreenPluginWeb };\nvar SplashScreen = new SplashScreenPluginWeb();\nexport { SplashScreen };\n//# sourceMappingURL=splash-screen.js.map","import { __extends } from \"tslib\";\nimport { WebPlugin } from './index';\nvar StoragePluginWeb = /** @class */ (function (_super) {\n __extends(StoragePluginWeb, _super);\n function StoragePluginWeb() {\n var _this = _super.call(this, {\n name: 'Storage',\n platforms: ['web']\n }) || this;\n _this.KEY_PREFIX = '_cap_';\n return _this;\n }\n StoragePluginWeb.prototype.get = function (options) {\n var _this = this;\n return new Promise(function (resolve, _reject) {\n resolve({\n value: window.localStorage.getItem(_this.makeKey(options.key))\n });\n });\n };\n StoragePluginWeb.prototype.set = function (options) {\n var _this = this;\n return new Promise(function (resolve, _reject) {\n window.localStorage.setItem(_this.makeKey(options.key), options.value);\n resolve();\n });\n };\n StoragePluginWeb.prototype.remove = function (options) {\n var _this = this;\n return new Promise(function (resolve, _reject) {\n window.localStorage.removeItem(_this.makeKey(options.key));\n resolve();\n });\n };\n StoragePluginWeb.prototype.keys = function () {\n var _this = this;\n return new Promise(function (resolve, _reject) {\n resolve({\n keys: Object.keys(localStorage).filter(function (k) { return _this.isKey(k); }).map(function (k) { return _this.getKey(k); })\n });\n });\n };\n StoragePluginWeb.prototype.clear = function () {\n var _this = this;\n return new Promise(function (resolve, _reject) {\n Object.keys(localStorage)\n .filter(function (k) { return _this.isKey(k); })\n .forEach(function (k) { return window.localStorage.removeItem(k); });\n resolve();\n });\n };\n StoragePluginWeb.prototype.makeKey = function (key) {\n return this.KEY_PREFIX + key;\n };\n StoragePluginWeb.prototype.isKey = function (key) {\n return key.indexOf(this.KEY_PREFIX) === 0;\n };\n StoragePluginWeb.prototype.getKey = function (key) {\n return key.substr(this.KEY_PREFIX.length);\n };\n return StoragePluginWeb;\n}(WebPlugin));\nexport { StoragePluginWeb };\nvar Storage = new StoragePluginWeb();\nexport { Storage };\n//# sourceMappingURL=storage.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { WebPlugin } from './index';\nvar ToastPluginWeb = /** @class */ (function (_super) {\n __extends(ToastPluginWeb, _super);\n function ToastPluginWeb() {\n return _super.call(this, {\n name: 'Toast',\n platforms: ['web']\n }) || this;\n }\n ToastPluginWeb.prototype.show = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var duration, toast;\n return __generator(this, function (_a) {\n duration = 2000;\n if (options.duration) {\n duration = options.duration === 'long' ? 3500 : 2000;\n }\n toast = document.createElement('pwa-toast');\n toast.duration = duration;\n toast.message = options.text;\n document.body.appendChild(toast);\n return [2 /*return*/];\n });\n });\n };\n return ToastPluginWeb;\n}(WebPlugin));\nexport { ToastPluginWeb };\nvar Toast = new ToastPluginWeb();\nexport { Toast };\n//# sourceMappingURL=toast.js.map","import { Plugins } from './global';\nimport { mergeWebPlugins, mergeWebPlugin } from './web/index';\nexport * from './web/accessibility';\nexport * from './web/app';\nexport * from './web/browser';\nexport * from './web/camera';\nexport * from './web/clipboard';\nexport * from './web/filesystem';\nexport * from './web/geolocation';\nexport * from './web/device';\nexport * from './web/local-notifications';\nexport * from './web/share';\nexport * from './web/modals';\nexport * from './web/motion';\nexport * from './web/network';\nexport * from './web/permissions';\nexport * from './web/splash-screen';\nexport * from './web/storage';\nexport * from './web/toast';\nmergeWebPlugins(Plugins);\nexport var registerWebPlugin = function (plugin) {\n mergeWebPlugin(Plugins, plugin);\n};\n//# sourceMappingURL=web-plugins.js.map"]}
|