UNPKG

150 kBSource Map (JSON)View Raw
1{"version":3,"file":"index.js","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/splash-screen.js","esm/web/storage.js","esm/web/toast.js","esm/web-plugins.js"],"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 Application directory\n */\n FilesystemDirectory[\"Application\"] = \"APPLICATION\";\n /**\n * The Documents directory\n */\n FilesystemDirectory[\"Documents\"] = \"DOCUMENTS\";\n /**\n * The Data directory\n */\n FilesystemDirectory[\"Data\"] = \"DATA\";\n /**\n * The Cache directory\n */\n FilesystemDirectory[\"Cache\"] = \"CACHE\";\n /**\n * The external directory (Android only)\n */\n FilesystemDirectory[\"External\"] = \"EXTERNAL\";\n /**\n * The external storage directory (Android only)\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 ActionSheetOptionStyle;\n(function (ActionSheetOptionStyle) {\n ActionSheetOptionStyle[\"Default\"] = \"DEFAULT\";\n ActionSheetOptionStyle[\"Destructive\"] = \"DESTRUCTIVE\";\n ActionSheetOptionStyle[\"Cancel\"] = \"CANCEL\";\n})(ActionSheetOptionStyle || (ActionSheetOptionStyle = {}));\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 = {}));\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 // 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 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 = new CapacitorWeb();\nCapacitor = window.Capacitor || Capacitor;\n// Export window.Capacitor if not available already (ex: web)\nif (!window.Capacitor) {\n window.Capacitor = Capacitor;\n}\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.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. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\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 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) : new P(function (resolve) { resolve(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 __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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 __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","import * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nvar AccessibilityPluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nvar AppPluginWeb = /** @class */ (function (_super) {\n tslib_1.__extends(AppPluginWeb, _super);\n function AppPluginWeb() {\n var _this = _super.call(this, {\n name: 'App',\n platforms: ['web']\n }) || this;\n document.addEventListener('visibilitychange', _this.handleVisibilityChange.bind(_this), false);\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.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 * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nvar BrowserPluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n // Does nothing\n return [2 /*return*/, Promise.resolve()];\n });\n });\n };\n BrowserPluginWeb.prototype.close = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__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 * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nimport { CameraResultType } from '../core-plugin-definitions';\n//import '@ionic/pwa-elements';\nvar CameraPluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n options;\n return [2 /*return*/, new Promise(function (resolve, reject) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var cameraModal;\n var _this = this;\n return tslib_1.__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 tslib_1.__awaiter(_this, void 0, void 0, function () {\n var photo, _a;\n return tslib_1.__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 * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nvar ClipboardPluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__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 (!(options.string || options.url)) return [3 /*break*/, 2];\n return [4 /*yield*/, navigator.clipboard.writeText(options.string || options.url)];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n if (options.image) {\n return [2 /*return*/, Promise.reject(\"Setting images not supported on the web\")];\n }\n _a.label = 3;\n case 3: return [2 /*return*/, Promise.resolve()];\n }\n });\n });\n };\n ClipboardPluginWeb.prototype.read = function (_options) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var text, data, _i, _a, item;\n return tslib_1.__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.type === 'string' || _options.type === 'url')) return [3 /*break*/, 2];\n return [4 /*yield*/, navigator.clipboard.readText()];\n case 1:\n text = _b.sent();\n return [2 /*return*/, Promise.resolve({ value: text })];\n case 2: return [4 /*yield*/, navigator.clipboard.read()];\n case 3:\n data = _b.sent();\n for (_i = 0, _a = data.items; _i < _a.length; _i++) {\n item = _a[_i];\n if (item.type === 'text/plain') {\n return [2 /*return*/, Promise.resolve({ value: item.getAs('text/plain') })];\n }\n }\n _b.label = 4;\n case 4: return [2 /*return*/, Promise.reject('Unable to get data from clipboard')];\n }\n });\n });\n };\n return ClipboardPluginWeb;\n}(WebPlugin));\nexport { ClipboardPluginWeb };\nvar Clipboard = new ClipboardPluginWeb();\nexport { Clipboard };\n//# sourceMappingURL=clipboard.js.map","import * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nimport { FilesystemDirectory } from '../core-plugin-definitions';\nvar FilesystemPluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var _this = this;\n return tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var readFlag;\n return tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var readFlag;\n return tslib_1.__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 return '/' + directory + '/' + cleanedUriPath;\n };\n FilesystemPluginWeb.prototype.clear = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var conn, tx, store;\n return tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var path, entry;\n return tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var path, data, parentPath, parentEntry, subDirIndex, parentArgPath, now, pathObj;\n return tslib_1.__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 return [4 /*yield*/, this.dbRequest('get', [parentPath])];\n case 1:\n parentEntry = _a.sent();\n if (!(parentEntry === undefined)) return [3 /*break*/, 3];\n subDirIndex = parentPath.indexOf('/', 1);\n if (!(subDirIndex !== -1)) return [3 /*break*/, 3];\n parentArgPath = parentPath.substr(subDirIndex);\n return [4 /*yield*/, this.mkdir({ path: parentArgPath, directory: options.directory, createIntermediateDirectories: true })];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3:\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: data\n };\n return [4 /*yield*/, this.dbRequest('put', [pathObj])];\n case 4:\n _a.sent();\n return [2 /*return*/, {}];\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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var path, data, parentPath, now, ctime, parentEntry, parentArgPath, occupiedEntry, pathObj;\n return tslib_1.__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', [parentPath])];\n case 1:\n parentEntry = _a.sent();\n if (!(parentEntry === undefined)) return [3 /*break*/, 3];\n parentArgPath = parentPath.substr(parentPath.indexOf('/', 1));\n return [4 /*yield*/, this.mkdir({ path: parentArgPath, directory: options.directory, createIntermediateDirectories: true })];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [4 /*yield*/, this.dbRequest('get', [path])];\n case 4:\n occupiedEntry = _a.sent();\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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var path, entry, entries;\n return tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var path, createIntermediateDirectories, parentPath, depth, parentEntry, occupiedEntry, parentArgPath, now, pathObj;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n path = this.getPath(options.directory, options.path);\n createIntermediateDirectories = options.createIntermediateDirectories;\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 (!createIntermediateDirectories && depth !== 2 && parentEntry === undefined)\n throw Error('Parent directory must exist');\n if (!(createIntermediateDirectories && 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 createIntermediateDirectories: createIntermediateDirectories\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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var path, entry, entries;\n return tslib_1.__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('Folder 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 * 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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var path, entry, entries, names;\n return tslib_1.__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('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(entry.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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var path, entry;\n return tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var path, entry;\n return tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var to, from, directory, toObj, e_1, toPathComponents, toPath, toParentDirectory, fromObj, updateTime, _a, file, e_2, contents, _i, contents_1, filename;\n var _this = this;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n to = options.to, from = options.from, directory = options.directory;\n if (!to || !from) {\n throw Error('Both to and from must be provided');\n }\n // Test that the \"to\" and \"from\" locations are different\n if (from === to) {\n return [2 /*return*/, {}];\n }\n if (to.startsWith(from)) {\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: directory\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 = toPathComponents.join('/');\n if (!(toPathComponents.length > 0)) return [3 /*break*/, 5];\n return [4 /*yield*/, this.stat({\n path: toPath,\n directory: directory,\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: directory\n })];\n case 7:\n fromObj = _b.sent();\n updateTime = function (path, ctime, mtime) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var fullPath, entry;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n fullPath = this.getPath(directory, 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*/, 13];\n }\n return [3 /*break*/, 25];\n case 8: return [4 /*yield*/, this.readFile({\n path: from,\n directory: directory\n })];\n case 9:\n file = _b.sent();\n // Remove the file\n return [4 /*yield*/, this.deleteFile({\n path: from,\n directory: directory\n })];\n case 10:\n // Remove the file\n _b.sent();\n // Write the file to the new location\n return [4 /*yield*/, this.writeFile({\n path: to,\n directory: directory,\n data: file.data\n })];\n case 11:\n // Write the file to the new location\n _b.sent();\n // Copy the mtime/ctime of the original file\n return [4 /*yield*/, updateTime(to, fromObj.ctime, fromObj.mtime)];\n case 12:\n // Copy the mtime/ctime of the original file\n _b.sent();\n // Resolve promise\n return [2 /*return*/, {}];\n case 13:\n if (toObj) {\n throw Error('Cannot move a directory over an existing object');\n }\n _b.label = 14;\n case 14:\n _b.trys.push([14, 17, , 18]);\n // Create the to directory\n return [4 /*yield*/, this.mkdir({\n path: to,\n directory: directory,\n createIntermediateDirectories: false,\n })];\n case 15:\n // Create the to directory\n _b.sent();\n // Copy the mtime/ctime of the original directory\n return [4 /*yield*/, updateTime(to, fromObj.ctime, fromObj.mtime)];\n case 16:\n // Copy the mtime/ctime of the original directory\n _b.sent();\n return [3 /*break*/, 18];\n case 17:\n e_2 = _b.sent();\n return [3 /*break*/, 18];\n case 18: return [4 /*yield*/, this.readdir({\n path: from,\n directory: directory\n })];\n case 19:\n contents = (_b.sent()).files;\n _i = 0, contents_1 = contents;\n _b.label = 20;\n case 20:\n if (!(_i < contents_1.length)) return [3 /*break*/, 23];\n filename = contents_1[_i];\n // Move item from the from directory to the to directory\n return [4 /*yield*/, this.rename({\n from: from + \"/\" + filename,\n to: to + \"/\" + filename,\n directory: directory,\n })];\n case 21:\n // Move item from the from directory to the to directory\n _b.sent();\n _b.label = 22;\n case 22:\n _i++;\n return [3 /*break*/, 20];\n case 23: \n // Remove the original from directory\n return [4 /*yield*/, this.rmdir({\n path: from,\n directory: directory\n })];\n case 24:\n // Remove the original from directory\n _b.sent();\n _b.label = 25;\n case 25: 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 * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nimport { extend } from '../util';\nvar GeolocationPluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nimport { uuid4 } from '../util';\nvar DevicePluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var ua, uaFields, battery, e_1;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ua = navigator.userAgent;\n uaFields = this.parseUa(ua);\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 model: uaFields.model,\n platform: 'web',\n appVersion: '',\n osVersion: uaFields.osVersion,\n manufacturer: navigator.vendor,\n isVirtual: false,\n batteryLevel: battery.level,\n isCharging: battery.charging,\n uuid: this.getUid()\n })];\n }\n });\n });\n };\n DevicePluginWeb.prototype.getLanguageCode = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__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 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 * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nvar LocalNotificationsPluginWeb = /** @class */ (function (_super) {\n tslib_1.__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.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: notifications.map(function (_) { return { 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 throw new Error(\"Method not implemented.\");\n };\n LocalNotificationsPluginWeb.prototype.requestPermissions = function () {\n return new Promise(function (resolve, reject) {\n Notification.requestPermission().then(function (result) {\n if (result === 'denied' || result === 'default') {\n reject(result);\n return;\n }\n resolve({\n results: [result]\n });\n }).catch(function (e) {\n reject(e);\n });\n });\n };\n return LocalNotificationsPluginWeb;\n}(WebPlugin));\nexport { LocalNotificationsPluginWeb };\nvar LocalNotifications = new LocalNotificationsPluginWeb();\nexport { LocalNotifications };\n//# sourceMappingURL=local-notifications.js.map","import * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nvar SharePluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nvar ModalsPluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var val;\n return tslib_1.__generator(this, function (_a) {\n val = window.prompt(options.message, options.inputPlaceholder || '');\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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var val;\n return tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve, _reject) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var controller, items, actionSheetElement;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n controller = document.querySelector('ion-action-sheet-controller');\n if (!controller) {\n controller = document.createElement('ion-action-sheet-controller');\n document.body.appendChild(controller);\n }\n return [4 /*yield*/, controller.componentOnReady()];\n case 1:\n _a.sent();\n items = options.options.map(function (o, i) {\n return {\n text: o.title,\n role: o.style && o.style.toLowerCase() || '',\n icon: o.icon || '',\n handler: function () {\n resolve({\n index: i\n });\n }\n };\n });\n return [4 /*yield*/, controller.create({\n title: options.title,\n buttons: items\n })];\n case 2:\n actionSheetElement = _a.sent();\n return [4 /*yield*/, actionSheetElement.present()];\n case 3:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); })];\n });\n });\n };\n return ModalsPluginWeb;\n}(WebPlugin));\nexport { ModalsPluginWeb };\nvar Modals = new ModalsPluginWeb();\nexport { Modals };\n//# sourceMappingURL=modals.js.map","import * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nvar MotionPluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nvar NetworkPluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nvar SplashScreenPluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nvar StoragePluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 * as tslib_1 from \"tslib\";\nimport { WebPlugin } from './index';\nvar ToastPluginWeb = /** @class */ (function (_super) {\n tslib_1.__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 tslib_1.__awaiter(this, void 0, void 0, function () {\n var duration, toast;\n return tslib_1.__generator(this, function (_a) {\n duration = 3000;\n if (options.duration) {\n duration = options.duration === 'long' ? 5000 : 3000;\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/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"],"names":["CameraSource","CameraDirection","CameraResultType","FilesystemDirectory","FilesystemEncoding","HapticsImpactStyle","HapticsNotificationType","ActionSheetOptionStyle","PhotosAlbumType","StatusBarStyle","Capacitor","tslib_1.__extends","tslib_1.__awaiter","tslib_1.__generator"],"mappings":"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"}
\No newline at end of file