diff --git a/dist/appworks.js b/dist/appworks.js index d82f7af..21dc5d7 100644 --- a/dist/appworks.js +++ b/dist/appworks.js @@ -1436,7 +1436,7 @@ var DesktopStorage = (function () { if (this.desktopStorage === null) { return es6Promise_1.reject(DesktopStorage.PLUGIN_NOT_FOUND); } - return es6Promise_1.resolve(); + return es6Promise_1.resolve(null); }; return DesktopStorage; }()); diff --git a/dist/appworks.js.map b/dist/appworks.js.map index 761a879..f543952 100644 --- a/dist/appworks.js.map +++ b/dist/appworks.js.map @@ -1 +1 @@ -{"version":3,"file":"appworks.js","sources":["../src/common/plugin.ts","../test/mock/accelerometer.ts","../test/mock/camera.ts","../test/mock/capture.ts","../test/mock/compass.ts","../test/mock/connection.ts","../test/mock/contacts.ts","../test/mock/file-transfer.ts","../test/mock/geolocation.ts","../test/mock/media.ts","../test/mock/notifications.ts","../node_modules/es6-promise/dist/es6-promise.js","../test/mock/persistent-storage.ts","../test/mock/vibrate.ts","../src/plugins/file/local-file-system.ts","../src/plugins/storage/desktop-storage.ts","../src/plugins/storage/on-device-storage.ts","../test/mock/local-storage.ts","../src/plugins/storage/storage.ts","../src/common/util.ts","../src/plugins/webview/desktop-webview.ts","../src/common/proxy.ts","../src/plugins/accelerometer/accelerometer.ts","../src/plugins/anonymous/anonymous.ts","../src/plugins/app-manager/app-manager.ts","../src/plugins/auth/auth.ts","../src/plugins/calendar/calendar.ts","../src/plugins/camera/camera.ts","../src/plugins/component/component.ts","../src/plugins/contacts/contacts.ts","../src/plugins/device-orientation/compass.ts","../src/plugins/device/device.ts","../src/plugins/document-scanner/scanner.ts","../src/plugins/file-transfer/file-transfer.ts","../src/plugins/file/file-chooser.ts","../src/plugins/file/file-system.ts","../src/plugins/finder/finder.ts","../src/plugins/globalization/globalization.ts","../src/plugins/header/header.ts","../src/plugins/keyboard/keyboard.ts","../src/plugins/launcher/launcher.ts","../src/plugins/location/location.ts","../src/plugins/media-transfer/media-capture.ts","../src/plugins/media/media.ts","../src/plugins/menu/menu.ts","../src/plugins/mobile-file-system/mobile-file-system.ts","../src/plugins/notifications/notifications.ts","../src/plugins/storage/cache.ts","../src/plugins/offline/offline-manager.ts","../src/plugins/page/page.ts","../src/plugins/print/print.ts","../src/plugins/qr-reader/qr-reader.ts","../src/plugins/realm/realm.ts","../src/plugins/storage/secure-storage.ts","../src/plugins/shake/shake.ts","../src/plugins/vibration/vibration.ts","../src/plugins/webview/webview.ts","../src/appworks.ts"],"sourcesContent":["export abstract class AWPlugin {\n /**\n * Base plugin class. Constructor takes in a success function and error function to be executed upon\n * return from call to native layer\n * @param successHandler - the function to be executed when the native call succeeds. passes an object as arg\n * @param errorHandler - the function to be executed when the native call fails. passes an object as arg.\n */\n constructor(protected successHandler: any, protected errorHandler: any) {\n }\n}\n","import {Acceleration, Accelerometer, AccelerometerOptions, WatchHandle} from \"../../src/plugins/device-motion/index\";\n\nexport class MockAccelerometer implements Accelerometer {\n getCurrentAcceleration(accelerometerSuccess: (acceleration: Acceleration) => void,\n accelerometerError: () => void,\n accelerometerOptions?: AccelerometerOptions): WatchHandle {\n return null;\n }\n\n watchAcceleration(accelerometerSuccess: (acceleration: Acceleration) => void,\n accelerometerError: () => void,\n accelerometerOptions?: AccelerometerOptions): WatchHandle {\n return null;\n }\n\n clearWatch(watchID: WatchHandle): void {\n\n }\n}\n","import {CameraInterface, CameraOptions} from \"../../src/plugins/camera/index\";\n\nexport class MockCamera implements CameraInterface {\n\n cleanup(\n onSuccess: () => void,\n onError: (message: string) => void): void {\n }\n\n getPicture(\n cameraSuccess: (data: string) => void,\n cameraError: (message: string) => void,\n cameraOptions?: CameraOptions): void {\n }\n}\n","import {\n AudioOptions,\n Capture,\n CaptureError,\n ConfigurationData,\n ImageOptions,\n MediaFile,\n VideoOptions\n} from \"../../src/plugins/media-transfer/index\";\n\nexport class MockCapture implements Capture {\n supportedAudioModes: ConfigurationData[];\n supportedImageModes: ConfigurationData[];\n supportedVideoModes: ConfigurationData[];\n\n captureAudio(onSuccess: (mediaFiles: MediaFile[]) => void,\n onError: (error: CaptureError) => void,\n options?: AudioOptions): void {\n\n }\n\n captureImage(onSuccess: (mediaFiles: MediaFile[]) => void,\n onError: (error: CaptureError) => void,\n options?: ImageOptions): void {\n\n }\n\n captureVideo(onSuccess: (mediaFiles: MediaFile[]) => void,\n onError: (error: CaptureError) => void,\n options?: VideoOptions): void {\n\n }\n}\n","import {Compass, CompassError, CompassHeading, CompassOptions} from \"../../src/plugins/device-orientation/index\";\n\nexport class MockCompass implements Compass {\n getCurrentHeading(\n onSuccess: (heading: CompassHeading) => void,\n onError: (error: CompassError) => void,\n options?: CompassOptions): void {\n }\n\n watchHeading(\n onSuccess: (heading: CompassHeading) => void,\n onError: (error: CompassError) => void,\n options?: CompassOptions): number {\n return null;\n }\n\n clearWatch(id: number): void {\n }\n}\n","import {ConnectionInterface} from \"../../src/plugins/network-information/index\";\n\nexport class MockConnection implements ConnectionInterface {\n type: string;\n\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void {\n\n }\n\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void {\n\n }\n}\n","import {Contact, ContactError, ContactFindOptions, ContactProperties, Contacts} from \"../../src/plugins/contacts/index\";\n\nexport class MockContacts implements Contacts {\n fieldType: any;\n\n constructor() {\n this.fieldType = {};\n }\n\n create(properties?: ContactProperties): Contact {\n return null;\n }\n\n find(fields: string[],\n onSuccess: (contacts: Contact[]) => void,\n onError?: (error: ContactError) => void,\n options?: ContactFindOptions): void {\n }\n\n pickContact(onSuccess: (contact: Contact) => void,\n onError: (error: ContactError) => void): void {\n }\n}\n","import {\n FileDownloadOptions,\n FileTransferError,\n FileTransferInterface,\n FileUploadOptions,\n FileUploadResult\n} from \"../../src/plugins/file-transfer/index\";\nimport {FileEntry} from \"../../src/plugins/file/index\";\n\nexport class MockFileTransfer implements FileTransferInterface {\n onprogress: (event: ProgressEvent) => void;\n\n upload(fileURL: string,\n server: string,\n successCallback: (result: FileUploadResult) => void,\n errorCallback: (error: FileTransferError) => void,\n options?: FileUploadOptions,\n trustAllHosts?: boolean): void {\n }\n\n download(source: string,\n target: string,\n successCallback: (fileEntry: FileEntry) => void,\n errorCallback: (error: FileTransferError) => void,\n trustAllHosts?: boolean,\n options?: FileDownloadOptions): void {\n }\n\n abort(): void {\n }\n}\n","import {Geolocation} from \"../../src/plugins/location/index\";\n\nexport class MockGeolocation implements Geolocation {\n clearWatch(watchId: number): void {\n }\n\n getCurrentPosition(successCallback: PositionCallback,\n errorCallback?: PositionErrorCallback,\n options?: PositionOptions): void {\n }\n\n watchPosition(successCallback: PositionCallback,\n errorCallback?: PositionErrorCallback,\n options?: PositionOptions): number {\n return null;\n }\n}\n","import {IosPlayOptions, MediaInterface} from \"../../src/plugins/media/index\";\n\nexport class MockMedia implements MediaInterface {\n position: number;\n duration: number;\n\n constructor(src, successHandler, errorHandler, statusChangeHandler) {\n\n }\n\n getCurrentPosition(mediaSuccess: (position: number) => void,\n mediaError?: (error: MediaError) => void): void {\n }\n\n getDuration(): number {\n return null;\n }\n\n play(iosPlayOptions?: IosPlayOptions): void {\n\n }\n\n pause(): void {\n\n }\n\n release(): void {\n\n }\n\n seekTo(position: number): void {\n\n }\n\n setVolume(volume: number): void {\n\n }\n\n startRecord(): void {\n\n }\n\n stopRecord(): void {\n\n }\n\n stop(): void {\n\n }\n}\n","import {Notification, NotificationPromptResult} from \"../../src/plugins/dialogs/index\";\n\nexport class MockNotification implements Notification {\n body: any = null;\n dir: any = null;\n icon: any = null;\n lang: any = null;\n onclick: any = null;\n onclose: any = null;\n onerror: any = null;\n onshow: any = null;\n permission: any = null;\n title: any = null;\n tag: any = null;\n close: any = null;\n addEventListener: any = (name: string) => {\n };\n removeEventListener: any = (name: string) => {\n };\n dispatchEvent: any = (name: string) => {\n };\n\n alert(message: string,\n alertCallback: () => void,\n title?: string,\n buttonName?: string): void {\n\n }\n\n beep(times: number): void {\n\n }\n\n confirm(message: string,\n confirmCallback: (choice: number) => void,\n title?: string,\n buttonLabels?: string[]): void {\n\n }\n\n prompt(message: string,\n promptCallback: (result: NotificationPromptResult) => void,\n title?: string,\n buttonLabels?: string[],\n defaultText?: string): void {\n\n }\n\n vibrate(): void {\n\n }\n\n vibrateWithPattern(): void {\n\n }\n\n cancelVibration(): void {\n\n }\n}\n","/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version 4.0.5\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n return typeof x === 'function' || typeof x === 'object' && x !== null;\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\nvar _isArray = undefined;\nif (!Array.isArray) {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n} else {\n _isArray = Array.isArray;\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = undefined;\nvar customSchedulerFn = undefined;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var r = require;\n var vertx = r('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = undefined;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var _arguments = arguments;\n\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n if (_state) {\n (function () {\n var callback = _arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n })();\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n _resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(16);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar GET_THEN_ERROR = new ErrorObject();\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n try {\n return promise.then;\n } catch (error) {\n GET_THEN_ERROR.error = error;\n return GET_THEN_ERROR;\n }\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n try {\n then.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n _resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n _reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n _reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n _reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return _resolve(promise, value);\n }, function (reason) {\n return _reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$) {\n if (maybeThenable.constructor === promise.constructor && then$$ === then && maybeThenable.constructor.resolve === resolve) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$ === GET_THEN_ERROR) {\n _reject(promise, GET_THEN_ERROR.error);\n } else if (then$$ === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$)) {\n handleForeignThenable(promise, maybeThenable, then$$);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction _resolve(promise, value) {\n if (promise === value) {\n _reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value, getThen(value));\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction _reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = undefined,\n callback = undefined,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction ErrorObject() {\n this.error = null;\n}\n\nvar TRY_CATCH_ERROR = new ErrorObject();\n\nfunction tryCatch(callback, detail) {\n try {\n return callback(detail);\n } catch (e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = undefined,\n error = undefined,\n succeeded = undefined,\n failed = undefined;\n\n if (hasCallback) {\n value = tryCatch(callback, detail);\n\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value = null;\n } else {\n succeeded = true;\n }\n\n if (promise === value) {\n _reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n succeeded = true;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n _resolve(promise, value);\n } else if (failed) {\n _reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n _reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n _resolve(promise, value);\n }, function rejectPromise(reason) {\n _reject(promise, reason);\n });\n } catch (e) {\n _reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this._input = input;\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate();\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n _reject(this.promise, validationError());\n }\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n};\n\nEnumerator.prototype._enumerate = function () {\n var length = this.length;\n var _input = this._input;\n\n for (var i = 0; this._state === PENDING && i < length; i++) {\n this._eachEntry(_input[i], i);\n }\n};\n\nEnumerator.prototype._eachEntry = function (entry, i) {\n var c = this._instanceConstructor;\n var resolve$$ = c.resolve;\n\n if (resolve$$ === resolve) {\n var _then = getThen(entry);\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise) {\n var promise = new c(noop);\n handleMaybeThenable(promise, entry, _then);\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$) {\n return resolve$$(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$(entry), i);\n }\n};\n\nEnumerator.prototype._settledAt = function (state, i, value) {\n var promise = this.promise;\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n _reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n};\n\nEnumerator.prototype._willSettleAt = function (promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n};\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n _reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {function} resolver\n Useful for tooling.\n @constructor\n*/\nfunction Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n}\n\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = resolve;\nPromise.reject = reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;\n\nPromise.prototype = {\n constructor: Promise,\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n \n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n \n Chaining\n --------\n \n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n \n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n \n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n \n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n \n Assimilation\n ------------\n \n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n \n If the assimliated promise rejects, then the downstream promise will also reject.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n \n Simple Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let result;\n \n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n \n Advanced Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let author, books;\n \n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n \n function foundBooks(books) {\n \n }\n \n function failure(reason) {\n \n }\n \n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n \n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n then: then,\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n \n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n \n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n \n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n \n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n 'catch': function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nfunction polyfill() {\n var local = undefined;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise;\n}\n\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\n\nreturn Promise;\n\n})));\n//# sourceMappingURL=es6-promise.map","import {PersistentStorage} from \"../../src/plugins/storage/index\";\n\nexport class PersistentStorageMock implements PersistentStorage {\n\n setExcludedKeys(_excludedKeys: string[]) {\n }\n\n persistLocalStorage(): Promise {\n return Promise.resolve();\n }\n\n loadPersistentData(): Promise {\n return Promise.resolve();\n }\n\n migrateCache(): Promise {\n return Promise.resolve();\n }\n}\n","export class MockVibrate {\n vibrate(time: number): void {\n }\n}\n","export enum LocalFileSystem {\n PERSISTENT = 0,\n TEMPORARY = 1\n}\n","import {AWProxy} from '../../common/proxy';\nimport {AsyncStorage, PersistentStorage} from './index';\n\nexport class DesktopStorage implements PersistentStorage {\n\n private static readonly PLUGIN_NOT_FOUND: Error = new Error('Unable to resolve AWStorage desktop plugin');\n private desktopStorage: AsyncStorage;\n\n constructor(desktopPlugin: AsyncStorage) {\n this.desktopStorage = desktopPlugin;\n }\n\n persistLocalStorage(excludedKeys: string[]): Promise {\n if (this.desktopStorage === null) {\n return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND);\n }\n\n return new Promise((resolve, reject) => {\n let i,\n data = [],\n key,\n value;\n\n const storage = AWProxy.storage();\n for (i = 0; i < storage.length; i += 1) {\n key = storage.key(i);\n value = storage.getItem(key);\n if (excludedKeys.indexOf(key) === -1) {\n data.push({key: key, value: value});\n }\n }\n\n const setter = obj => this.desktopStorage.setItem(obj.key, obj.value);\n Promise.all(data.map(setter)).then(resolve, reject);\n });\n }\n\n loadPersistentData(): Promise {\n if (this.desktopStorage === null) {\n return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND);\n }\n return new Promise((resolve, reject) => {\n try {\n // get data is actually synchronous\n const data = this.desktopStorage.getData();\n const storage = AWProxy.storage();\n for (let key in data) {\n if (data.hasOwnProperty(key)) {\n storage.setItem(key, data[key]);\n }\n }\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n }\n\n migrateCache(excludedKeys: string[]): Promise {\n if (this.desktopStorage === null) {\n return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND);\n }\n\n return Promise.resolve();\n }\n}\n","import {AWProxy} from '../../common/proxy';\nimport {PersistentStorage} from './index';\n\n/**\n * The mobile environment implementation of persistent storage.\n */\nexport class OnDeviceStorage implements PersistentStorage {\n\n persistLocalStorage(excludedKeys: string[]): Promise {\n let i,\n data = {},\n key,\n value;\n\n const storage = AWProxy.storage()['storage'];\n for (i = 0; i < Object.keys(storage).length; i += 1) {\n key = Object.keys(storage)[i];\n value = storage[key];\n if (excludedKeys.indexOf(key) === -1) {\n data[key] = value;\n }\n }\n return new Promise((resolve, reject) => {\n this.writeDataToPersistentStorage(JSON.stringify(data)).then(resolve, reject);\n });\n }\n\n loadPersistentData(): Promise {\n return new Promise((resolve, reject) => {\n this.readDataFromPersistentStorage().then(\n (json) => {\n let data;\n if (json) {\n data = JSON.parse(json);\n for (let item in data) {\n if (data.hasOwnProperty(item)) {\n AWProxy.storage().setItem(item, data[item]);\n }\n }\n resolve();\n }\n }, reject);\n });\n }\n\n migrateCache(excludedKeys: string[]): Promise {\n return new Promise((resolve, reject) => {\n this.readDataAWCacheFile().then(\n (json) => {\n let data;\n if (json && json !== '') {\n data = JSON.parse(json);\n for (let item in data) {\n if (data.hasOwnProperty(item)) {\n AWProxy.storage().setItem(item, data[item]);\n }\n }\n AWProxy.persistentStorage().persistLocalStorage(excludedKeys)\n .then(\n () => this.deleteAWCacheFile().then(resolve, reject),\n reject);\n }\n resolve();\n }, (error) => {\n resolve();\n });\n });\n }\n\n private readDataAWCacheFile(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.requestFileSystem(AWProxy.localFileSystem().PERSISTENT, 0, gotFS, reject);\n\n function gotFS(fileSystem: any) {\n fileSystem.root.getFile('appworksjs.cache.json', {\n create: false,\n exclusive: false\n }, gotFileEntry, reject);\n }\n\n function gotFileEntry(entry: any) {\n entry.file(gotFile, reject);\n }\n\n function gotFile(file: any) {\n readAsText(file);\n }\n\n function readAsText(file: any) {\n let reader = new FileReader();\n reader.onloadend = function (evt) {\n console.log(evt);\n resolve((evt.target).result);\n };\n reader.readAsText(file);\n }\n });\n }\n\n private deleteAWCacheFile(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.requestFileSystem(AWProxy.localFileSystem().PERSISTENT, 0, gotFS, reject);\n\n function gotFS(fileSystem) {\n fileSystem.root.getFile(\n 'appworksjs.cache.json',\n {create: false, exclusive: false},\n gotFileEntry,\n reject);\n }\n\n function gotFileEntry(fileEntry) {\n fileEntry.remove(resolve, reject);\n }\n });\n }\n\n private readDataFromPersistentStorage(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n resolve,\n reject,\n 'AWCache',\n 'getAllCacheData',\n []\n );\n });\n }\n\n private writeDataToPersistentStorage(data): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n resolve,\n reject,\n 'AWCache',\n 'setAllCacheData',\n [data]\n );\n });\n }\n\n}\n","import {Storage} from \"../../src/plugins/storage/index\";\n\nexport class MockLocalStorage implements Storage {\n length: number;\n\n [key: string]: any;\n\n [index: number]: string;\n\n // allow tests to set a value if they need to\n constructor(len?: number) {\n this.length = isNaN(len) ? 0 : len;\n }\n\n getItem(key: string): any {\n return null;\n }\n\n setItem(key: string, value: string): void {\n }\n\n removeItem(key: string): void {\n }\n\n clear(): void {\n }\n\n key(index: number): string {\n return null;\n }\n\n}\n","import {MockLocalStorage} from '../../../test/mock/local-storage';\nimport {Storage} from './index';\n\n/**\n * Web local storage wrapper that hooks into the native persistent layer on mobile and desktop\n * The local and persistent storage are kept in, sync with update being flushed, and the local web\n * storage always acting as the reference.\n */\nexport class AWStorage implements Storage {\n\n [key: string]: any;\n\n [index: number]: string;\n\n /**\n * Storage implementation.\n */\n private storage: Storage;\n private isMobileEnv: boolean;\n\n constructor(isMobileEnv: boolean) {\n this.isMobileEnv = isMobileEnv;\n // resolve the local storage or fall back onto a mock impl\n if (this.isMobileEnv) {\n if (typeof window !== 'undefined') {\n if (typeof window['awcache'] === 'undefined') {\n window['awcache'] = {};\n }\n this.storage = window['awcache'];\n } else {\n this.storage = new MockLocalStorage();\n }\n } else {\n this.storage = (typeof window !== 'undefined') ?\n window.localStorage : new MockLocalStorage();\n }\n }\n\n get length(): number {\n return this.storage ? this.storage.length : -1;\n }\n\n clear(): void {\n if (this.isMobileEnv) {\n let keys = Object.keys(this.storage);\n for (let key of keys) {\n this.removeItem(key);\n }\n } else {\n this.storage.clear();\n }\n }\n\n getItem(key: string): any {\n if (this.isMobileEnv) {\n return this.storage[key];\n } else {\n return this.storage.getItem(key);\n }\n }\n\n key(index: number): string {\n return this.storage.key(index);\n }\n\n removeItem(key: string): void {\n if (this.isMobileEnv) {\n delete this.storage[key];\n } else {\n return this.storage.removeItem(key);\n }\n }\n\n setItem(key: string, data: any): void {\n if (this.isMobileEnv) {\n return this.storage[key] = data;\n } else {\n return this.storage.setItem(key, data);\n }\n }\n\n}\n","/**\n * Collection of utility functions\n */\nimport {AWProxy} from './proxy';\n\nexport function noop() {\n}\n\nexport function isFunction(functionToCheck) {\n const getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\nexport function isDesktopEnv() {\n return AWProxy.isDesktopEnv();\n}\n\nexport function isMobileEnv() {\n return AWProxy.isMobileEnv();\n}\n","import {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {DesktopWebviewInterface, InAppBrowserEvent} from './index';\n\nconst DesktopWebviewSequenceStore = {\n seqNo: 0\n};\n\nexport class DesktopWebview implements DesktopWebviewInterface {\n\n private id: number;\n\n constructor() {\n this.id = DesktopWebviewSequenceStore.seqNo++;\n }\n\n addEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'addEventListener',\n [this.id, type, callback]\n );\n }\n\n removeEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'removeEventListener',\n [this.id, type, callback]\n );\n }\n\n close(): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'close',\n [this.id]\n );\n }\n\n show(): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'show',\n [this.id]\n );\n }\n\n open(url: string, target?: string, options?: any): DesktopWebview {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'open',\n [this.id, url, target, options]\n );\n return this;\n }\n\n executeScript(script: any, callback: (result: any) => void): void {\n AWProxy.exec(\n callback,\n noop,\n 'AWWebView',\n 'executeScript',\n [this.id, script]\n );\n }\n\n insertCSS(css: any, callback: () => void): void {\n AWProxy.exec(\n callback,\n noop,\n 'AWWebView',\n 'insertCSS',\n [this.id, css]\n );\n }\n}\n","import {MockAccelerometer} from '../../test/mock/accelerometer';\nimport {MockCamera} from '../../test/mock/camera';\nimport {MockCapture} from '../../test/mock/capture';\nimport {MockCompass} from '../../test/mock/compass';\nimport {MockConnection} from '../../test/mock/connection';\nimport {MockContacts} from '../../test/mock/contacts';\nimport {MockFileTransfer} from '../../test/mock/file-transfer';\nimport {MockGeolocation} from '../../test/mock/geolocation';\nimport {MockMedia} from '../../test/mock/media';\nimport {MockNotification} from '../../test/mock/notifications';\nimport {PersistentStorageMock} from '../../test/mock/persistent-storage';\nimport {MockVibrate} from '../../test/mock/vibrate';\nimport {CameraInterface} from '../plugins/camera/index';\nimport {Contacts} from '../plugins/contacts/index';\nimport {Accelerometer} from '../plugins/device-motion/index';\nimport {Compass} from '../plugins/device-orientation/index';\nimport {Device} from '../plugins/device/index';\nimport {Notification} from '../plugins/dialogs/index';\nimport {FileTransferInterface} from '../plugins/file-transfer/index';\nimport {FileError, FileSystem} from '../plugins/file/index';\nimport {LocalFileSystem} from '../plugins/file/local-file-system';\nimport {MediaInterface} from '../plugins/media/index';\nimport {ConnectionInterface} from '../plugins/network-information/index';\nimport {DesktopStorage} from '../plugins/storage/desktop-storage';\nimport {PersistentStorage} from '../plugins/storage/index';\nimport {OnDeviceStorage} from '../plugins/storage/on-device-storage';\nimport {AWStorage} from '../plugins/storage/storage';\nimport {DesktopWebview} from '../plugins/webview/desktop-webview';\nimport {isFunction, noop} from './util';\n\ndeclare const Media: {\n new(src: string,\n mediaSuccess: () => void,\n mediaError?: (error: MediaError) => any,\n mediaStatus?: (status: number) => void): MediaInterface;\n // Media statuses\n MEDIA_NONE: number;\n MEDIA_STARTING: number;\n MEDIA_RUNNING: number;\n MEDIA_PAUSED: number;\n MEDIA_STOPPED: number\n};\ndeclare const FileTransfer: any;\ndeclare const Camera: {\n // Camera constants, defined in Camera plugin\n DestinationType: {\n DATA_URL: number;\n FILE_URI: number;\n NATIVE_URI: number\n }\n Direction: {\n BACK: number;\n FRONT: number;\n }\n EncodingType: {\n JPEG: number;\n PNG: number;\n }\n MediaType: {\n PICTURE: number;\n VIDEO: number;\n ALLMEDIA: number;\n }\n PictureSourceType: {\n PHOTOLIBRARY: number;\n CAMERA: number;\n SAVEDPHOTOALBUM: number;\n }\n // Used only on iOS\n PopoverArrowDirection: {\n ARROW_UP: number;\n ARROW_DOWN: number;\n ARROW_LEFT: number;\n ARROW_RIGHT: number;\n ARROW_ANY: number;\n }\n};\n\ndeclare const __aw_plugin_proxy;\ndeclare const cordova: any;\ndeclare const navigator: any;\ndeclare const device: any;\ndeclare const window: any;\ndeclare const Connection: any;\n\nconst callbackQueue: (() => any)[] = [];\nlet deviceReady: boolean = false;\n\nsetupDeviceInitializationForMobile();\n\nexport class AWProxy {\n\n static exec(successHandler: any, errorHandler: any, name: string, method: string, args: any[]): void {\n try {\n if (AWProxy.isDesktopEnv()) {\n AWProxy.execDesktop(successHandler, errorHandler, name, method, args);\n } else {\n AWProxy.execMobile(successHandler, errorHandler, name, method, args);\n }\n } catch (err) {\n console.error('No proxy objects defined - tried [cordova, __aw_plugin_proxy]', err);\n if (isFunction(errorHandler)) {\n errorHandler(err);\n }\n }\n }\n\n static accelerometer(): Accelerometer {\n const _accelerometer = typeof 'navigator' !== undefined ? navigator.accelerometer : new MockAccelerometer();\n return _accelerometer;\n }\n\n static camera(): CameraInterface {\n const _camera = typeof navigator !== 'undefined' ? navigator.camera : new MockCamera();\n return _camera;\n }\n\n static Camera(): any {\n const _Camera = (typeof Camera !== 'undefined') ? Camera : {\n DestinationType: {\n DATA_URL: null,\n FILE_URI: null,\n NATIVE_URI: null,\n },\n Direction: {\n BACK: null,\n FRONT: null,\n },\n EncodingType: {\n JPEG: null,\n PNG: null,\n },\n MediaType: {\n PICTURE: null,\n VIDEO: null,\n ALLMEDIA: null,\n },\n PictureSourceType: {\n PHOTOLIBRARY: null,\n CAMERA: null,\n SAVEDPHOTOALBUM: null,\n },\n // Used only on iOS\n PopoverArrowDirection: {\n ARROW_UP: null,\n ARROW_DOWN: null,\n ARROW_LEFT: null,\n ARROW_RIGHT: null,\n ARROW_ANY: null\n }\n };\n return _Camera;\n }\n\n static compass(): Compass {\n const _Compass = typeof navigator !== 'undefined' ? navigator.compass : new MockCompass();\n return _Compass;\n }\n\n static connection(): ConnectionInterface {\n const _connection = typeof navigator !== 'undefined' ? navigator.connection : new MockConnection();\n return _connection;\n }\n\n static Connection(): any {\n const _Connection = (typeof Connection !== 'undefined') ? Connection : {\n UNKNOWN: null,\n ETHERNET: null,\n WIFI: null,\n CELL_2G: null,\n CELL_3G: null,\n CELL_4G: null,\n CELL: null,\n NONE: null\n };\n return _Connection;\n }\n\n static contacts(): Contacts {\n const _contacts = typeof navigator !== 'undefined' ? navigator.contacts : new MockContacts();\n return _contacts;\n }\n\n static device(): Device {\n const _device: Device = (typeof device !== 'undefined') ? device : {\n cordova: null,\n available: true,\n model: null,\n platform: null,\n uuid: null,\n version: null,\n manufacturer: null,\n isVirtual: null,\n serial: null,\n capture: null\n };\n\n if (typeof navigator !== 'undefined' && navigator.device && navigator.device.capture) {\n _device.capture = navigator.device.capture;\n } else {\n _device.capture = new MockCapture();\n }\n return _device;\n }\n\n static document(): any {\n const _document = (typeof document !== 'undefined') ? document : {\n addEventListener: noop\n };\n return _document;\n }\n\n static file(): any {\n if (typeof cordova !== 'undefined') {\n return cordova.file;\n } else {\n return {\n documentsDirectory: ''\n };\n }\n }\n\n static filetransfer(): FileTransferInterface {\n return AWProxy.doGetFileTransfer();\n }\n\n // alias name\n static fileTransfer(): FileTransferInterface {\n return AWProxy.doGetFileTransfer();\n }\n\n static doGetFileTransfer(): FileTransferInterface {\n if (AWProxy.isDesktopEnv()) {\n const plugin = AWProxy.getDesktopPlugin('AWFileTransfer');\n return (plugin !== null) ? plugin : new MockFileTransfer();\n }\n return (typeof FileTransfer !== 'undefined') ? new FileTransfer() : new MockFileTransfer();\n }\n\n static geolocation(): Geolocation {\n const _geolocation = (typeof navigator !== 'undefined') ? navigator.geolocation : new MockGeolocation();\n return _geolocation;\n }\n\n static localFileSystem(): any {\n return LocalFileSystem;\n }\n\n static media(src, successHandler, errorHandler, statusChangeHandler): MediaInterface {\n if (typeof Media !== 'undefined') {\n return new Media(src, successHandler, errorHandler, statusChangeHandler);\n } else {\n return new MockMedia(src, successHandler, errorHandler, statusChangeHandler);\n }\n }\n\n static notification(): Notification {\n const _notification = (typeof navigator !== 'undefined') ? navigator.notification : new MockNotification();\n return _notification;\n }\n\n static requestFileSystem(type: LocalFileSystem,\n size: number,\n successCallback: (fileSystem: FileSystem) => void,\n errorCallback?: (fileError: FileError) => void): void {\n if (window.requestFileSystem) {\n return window.requestFileSystem(type, size, successCallback, errorCallback);\n }\n }\n\n static vibrate(time: number): void {\n if (typeof navigator !== 'undefined' && navigator.vibrate) {\n const _vibrate = navigator.vibrate(time);\n return _vibrate;\n } else {\n return new MockVibrate().vibrate(time);\n }\n }\n\n static webview(): any {\n if (typeof cordova !== 'undefined') {\n return (cordova as any).InAppBrowser;\n } else {\n return new DesktopWebview();\n }\n }\n\n static storage(): Storage {\n return new AWStorage(AWProxy.isMobileEnv());\n }\n\n static persistentStorage(): PersistentStorage {\n const desktopPlugin = AWProxy.getDesktopPlugin('AWStorage');\n return desktopPlugin !== null ?\n new DesktopStorage(desktopPlugin) : (AWProxy.isMobileEnv()) ?\n new OnDeviceStorage() : new PersistentStorageMock();\n }\n\n static isDesktopEnv(): boolean {\n return typeof __aw_plugin_proxy !== 'undefined';\n }\n\n static isMobileEnv(): boolean {\n return typeof cordova !== 'undefined';\n }\n\n static getDesktopPlugin(pluginName: string): any {\n if (!AWProxy.isDesktopEnv()) return null;\n // the proxy exposed by desktop has a method to allow retrieval of plugin instances\n return __aw_plugin_proxy.getPlugin(pluginName);\n }\n\n private static execMobile(successHandler: any, errorHandler: any, name: string, method: string, args: any[]) {\n if (deviceReady) {\n cordova.exec(successHandler, errorHandler, name, method, args);\n } else {\n callbackQueue.push(() => {\n AWProxy.exec(successHandler, errorHandler, name, method, args);\n });\n }\n }\n\n private static execDesktop(successHandler: any, errorHandler: any, name: string, method: string, args: any[]) {\n __aw_plugin_proxy.exec(successHandler, errorHandler, name, method, args);\n }\n}\n\nfunction setupDeviceInitializationForMobile() {\n try {\n document.addEventListener('deviceready', () => {\n deviceReady = true;\n callbackQueue.forEach((callback) => {\n callback();\n });\n });\n } catch (e) {\n // unsupported environment\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAccelerometer extends AWPlugin {\n getCurrentAcceleration() {\n return AWProxy.accelerometer().getCurrentAcceleration(\n (() => this.successHandler)(),\n (() => this.errorHandler)()\n );\n }\n\n watchAcceleration(options?: any): any {\n return AWProxy.accelerometer().watchAcceleration(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n clearWatch(watchId: number) {\n return AWProxy.accelerometer().clearWatch(watchId);\n }\n}\n\n\n\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAnonymous extends AWPlugin {\n isAnonymousMode(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAnonymous',\n 'isAnonymousMode',\n []\n );\n }\n\n getAnonymousUrl(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAnonymous',\n 'getAnonymousUrl',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAppManager extends AWPlugin {\n closeActiveApp() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'closeActiveApp',\n []\n );\n }\n getAppName() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'getAppName',\n []\n );\n }\n getAppVersion(success, error) {\n AWProxy.exec(\n success,\n error,\n 'AWAppManager',\n 'getAppVersion',\n []\n );\n }\n isFirstRun(success, error) {\n AWProxy.exec(\n success,\n error,\n 'AWAppManager',\n 'isFirstRun',\n []\n );\n }\n setAppHasRun(success, error) {\n AWProxy.exec(\n success,\n error,\n 'AWAppManager',\n 'setAppHasRun',\n []\n );\n }\n /* Deprecated, will be removed in the next version */\n resetShouldClearCache() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'resetShouldClearCache',\n []\n );\n }\n /* Deprecated, will be removed in the next version */\n shouldClearCache(success) {\n AWProxy.exec(\n success,\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'shouldClearCache',\n []\n );\n }\n}\n\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAuth extends AWPlugin {\n authenticate(force?: boolean) {\n force = !!force;\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAuth',\n 'authenticate',\n [force.toString()]\n );\n }\n\n /**\n * Marked for depreciation\n * Use authenticate(boolean?), which will get the auth object if the session is valid, else it will refresh the auth object and return that.\n */\n getAuthResponse() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAuth',\n 'authobject',\n []\n );\n }\n\n gateway(successHandler: any, errorHandler?: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAuth',\n 'gateway',\n []\n );\n }\n\n online(successHandler: any, errorHandler?: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAuth',\n 'online',\n []\n );\n }\n\n otdsssoticket(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAuth',\n 'otdsssoticket',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {AWCalendarInterface, CalendarArgs, CalendarCreateOptions, CalendarOptions} from './index';\n\nexport class AWCalendar extends AWPlugin implements AWCalendarInterface {\n\n constructor() {\n super(noop, noop);\n }\n\n static getCalendarOptions(): CalendarOptions {\n return {\n firstReminderMinutes: 60,\n secondReminderMinutes: null,\n recurrence: null, // options are: 'daily', 'weekly', 'monthly', 'yearly'\n recurrenceInterval: 1, // only used when recurrence is set\n recurrenceWeekstart: 'MO',\n recurrenceByDay: null,\n recurrenceByMonthDay: null,\n recurrenceEndDate: null,\n recurrenceCount: null,\n calendarName: null,\n calendarId: null,\n url: null\n };\n }\n\n hasReadPermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'hasReadPermission',\n []\n );\n });\n }\n\n requestReadPermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'requestReadPermission',\n []\n );\n });\n }\n\n hasWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'hasWritePermission',\n []\n );\n });\n }\n\n requestWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'requestWritePermission',\n []\n );\n });\n }\n\n hasReadWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'hasReadWritePermission',\n []\n );\n });\n }\n\n requestReadWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'requestReadWritePermission',\n []\n );\n });\n }\n\n createCalendar(options: CalendarCreateOptions = {\n calendarName: null,\n calendarColor: null\n }, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'createCalendar',\n [options]\n );\n });\n }\n\n deleteCalendar(calendarName: string, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'deleteCalendar',\n [{calendarName: calendarName} as CalendarArgs]\n );\n });\n }\n\n openCalendar(date: Date, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'openCalendar',\n [{date: date.getTime()} as CalendarArgs]\n );\n });\n }\n\n createEventWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'createEventWithOptions',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n options: options\n } as CalendarArgs]\n );\n });\n }\n\n createEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.createEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n createEventInteractivelyWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'createEventInteractively',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n options: options\n } as CalendarArgs]\n );\n });\n }\n\n createEventInteractively(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.createEventInteractivelyWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n findEventWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'findEventWithOptions',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n options: options\n } as CalendarArgs]\n );\n });\n }\n\n findEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.findEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n findAllEventsInNamedCalendar(calendarName: string, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'findAllEventsInNamedCalendar',\n [{calendarName: calendarName} as CalendarArgs]\n );\n });\n }\n\n deleteEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'deleteEvent',\n [{\n title: title,\n location: location,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n } as CalendarArgs]\n );\n });\n }\n\n deleteEventFromNamedCalendar(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n calendarName: string,\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'deleteEventFromNamedCalendar',\n [{\n title: title,\n location: location,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n calendarName: calendarName\n } as CalendarArgs]\n );\n });\n }\n\n modifyEventWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n newTitle: string,\n newLocation: string,\n newNotes: string,\n newStartDate: Date,\n newEndDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n newOptions: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'modifyEventWithOptions',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n newTitle: newTitle,\n newLocation: newLocation,\n newNotes: newNotes,\n newStartTime: newStartDate.getTime(),\n newEndDate: newEndDate.getTime(),\n options: options,\n newOptions: newOptions\n } as CalendarArgs]\n );\n });\n }\n\n modifyEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n newTitle: string,\n newLocation: string,\n newNotes: string,\n newStartDate: Date,\n newEndDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.modifyEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n newTitle,\n newLocation,\n newNotes,\n newStartDate,\n newEndDate,\n AWCalendar.getCalendarOptions(),\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n modifyEventInNamedCalendar(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n newTitle: string,\n newLocation: string,\n newNotes: string,\n newStartDate: Date,\n newEndDate: Date,\n calendarName: string,\n successHandler?: any,\n errorHandler?: any) {\n\n const options = AWCalendar.getCalendarOptions();\n options.calendarName = calendarName;\n\n return this.modifyEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n newTitle,\n newLocation,\n newNotes,\n newStartDate,\n newEndDate,\n options,\n successHandler,\n errorHandler\n );\n }\n\n listCalendars(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'listCalendars',\n []\n );\n });\n }\n\n listEventsInRange(startDate: Date, endDate: Date, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'listEventsInRange',\n [{\n startTime: startDate.getTime(),\n endTime: endDate.getTime()\n } as CalendarArgs]\n );\n });\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {CameraOptions} from './index';\n\nexport class AWCamera extends AWPlugin {\n cleanup(onSuccess: () => void,\n onError: (message: string) => void) {\n return AWProxy.camera().cleanup(onSuccess, onError);\n }\n\n getPicture(cameraSuccess: (data: string) => void,\n cameraError: (message: string) => void,\n cameraOptions?: CameraOptions) {\n return AWProxy.camera().getPicture(cameraSuccess, cameraError, cameraOptions);\n }\n\n openGallery(options?: any) {\n options = options || {\n destinationType: AWProxy.Camera().DestinationType.FILE_URI\n };\n options.sourceType = AWProxy.Camera().PictureSourceType.PHOTOLIBRARY;\n return this.getPicture((() => this.successHandler)(), (() => this.errorHandler)(), options);\n }\n\n takePicture(options?: any) {\n options = options || {\n destinationType: AWProxy.Camera().DestinationType.FILE_URI,\n encodingType: AWProxy.Camera().EncodingType.JPEG,\n mediaType: AWProxy.Camera().MediaType.ALLMEDIA,\n correctOrientation: true,\n saveToPhotoAlbum: true\n };\n options.sourceType = AWProxy.Camera().PictureSourceType.CAMERA;\n return this.getPicture((() => this.successHandler)(), (() => this.errorHandler)(), options);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWComponent extends AWPlugin {\n open(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'open',\n args || []\n );\n }\n\n list(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'list',\n args || []\n );\n }\n\n check(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'check',\n args || []\n );\n }\n\n close(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'close',\n args || []\n );\n }\n\n registerAppClose(successHandler: any) {\n AWProxy.exec(\n successHandler,\n (() => this.errorHandler)(),\n 'AWComponent',\n 'registerAppClose',\n []\n );\n }\n\n closeApp() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWComponent',\n 'closeApp',\n []\n );\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWContacts extends AWPlugin {\n\n create(contact: any): any {\n return AWProxy.contacts().create(contact);\n }\n\n find(fields: any, options?: any) {\n return AWProxy.contacts().find(\n fields,\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n pickContact() {\n return AWProxy.contacts().pickContact((() => this.successHandler)(), (() => this.errorHandler)());\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWCompass extends AWPlugin {\n getCurrentHeading() {\n return AWProxy.compass().getCurrentHeading(\n (() => this.successHandler)(),\n (() => this.errorHandler)()\n );\n }\n\n watchHeading(options?: any) {\n return AWProxy.compass().watchHeading(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n clearWatch(watchId: number) {\n return AWProxy.compass().clearWatch(watchId);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {Capture} from '../media-transfer/index';\n\nexport class AWDevice extends AWPlugin {\n\n public cordova: any;\n public model: any;\n public platform: any;\n public uuid: any;\n public version: any;\n public manufacturer: any;\n public capture: Capture;\n\n constructor() {\n super(() => {\n }, () => {\n });\n this.cordova = AWProxy.device().cordova;\n this.model = AWProxy.device().model;\n this.platform = AWProxy.device().platform;\n this.uuid = AWProxy.device().uuid;\n this.version = AWProxy.device().version;\n this.manufacturer = AWProxy.device().manufacturer;\n this.capture = AWProxy.device().capture;\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Scanner extends AWPlugin {\n scanDocument(returnType: Number, successHandler: Function, errorHandler: Function) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWScanner',\n 'scanDocument',\n [returnType]\n );\n }\n}\n\nexport class AWScanner extends Scanner {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {FileTransferInterface} from './index';\n\nexport class AWFileTransfer extends AWPlugin {\n\n public onprogress: any;\n private fileTransfer: FileTransferInterface;\n\n constructor(successHandler: any, errorHandler?: any) {\n super(successHandler, errorHandler);\n this.fileTransfer = AWProxy.filetransfer();\n this.onprogress = null;\n }\n\n abort() {\n this.fileTransfer.abort();\n }\n\n download(url: string, target: string, options?: any, shared?: boolean) {\n\n let successHandler = this.successHandler,\n errorHandler = this.errorHandler;\n\n options = options || {};\n\n if (shared && !AWProxy.isDesktopEnv()) {\n AWProxy.exec(\n gotSharedContainerUrl,\n (() => this.errorHandler)(),\n 'AWSharedDocumentProvider',\n 'containerForCurrentApp',\n []\n );\n } else {\n this.fileTransfer.download(\n encodeURI(url),\n this.toEnvFilePath(target),\n successHandler,\n errorHandler,\n false,\n options\n );\n }\n return this.fileTransfer;\n\n function gotSharedContainerUrl(containerUrl?: string) {\n AWProxy.filetransfer().download(\n encodeURI(url),\n containerUrl + '/' + target,\n successHandler,\n errorHandler,\n false,\n options\n );\n }\n }\n\n progressHandler(handler: any) {\n this.fileTransfer.onprogress = handler;\n }\n\n upload(source, url, options, shared) {\n\n let successHandler = this.successHandler,\n errorHandler = this.errorHandler;\n\n options = options || {};\n\n if (shared && !AWProxy.isDesktopEnv()) {\n AWProxy.exec(\n gotSharedContainerUrl,\n (() => this.errorHandler)(),\n 'AWSharedDocumentProvider',\n 'containerForCurrentApp',\n []\n );\n } else {\n this.fileTransfer.upload(\n this.toEnvFilePath(source),\n encodeURI(url),\n successHandler,\n errorHandler,\n options,\n false\n );\n }\n\n return this.fileTransfer;\n\n function gotSharedContainerUrl(containerUrl?: string) {\n AWProxy.filetransfer().upload(\n // valid use of slash here as shared container is a mobile only concept\n containerUrl + '/' + source,\n encodeURI(url),\n successHandler,\n errorHandler,\n options,\n false\n );\n }\n }\n\n toEnvFilePath(fileUrl: string): string {\n // use a path relative to the Cordova defined sandbox in a mobile environment\n return AWProxy.isDesktopEnv() ? fileUrl : AWProxy.file().documentsDirectory + '/' + fileUrl;\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWFileChooser extends AWPlugin {\n selectAndUpload(action: string) {\n let args = [action];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFileChooser',\n 'open',\n args\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {DesktopHostFileSystem, FileDetails, FileDialogOptions, SaveDialogOptions} from './index';\n\nexport class AWFileSystem extends AWPlugin implements DesktopHostFileSystem {\n\n desktopEnvError: Error = new Error('This method is only available in the AppWorks Desktop environment');\n\n constructor() {\n super(noop, noop);\n }\n\n getPath(name: string,\n successCallback: (result: string) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'getPath',\n [name]\n );\n }\n\n exists(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'exists',\n [path]\n );\n }\n\n isDir(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'isDir',\n [path]\n );\n }\n\n isOpen(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'isOpen',\n [path]\n );\n }\n\n setReadOnly(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'setReadOnly',\n [path]\n );\n }\n\n createFile(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void,\n data?: any,\n append?: boolean): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'createFile',\n [path, data, append]\n );\n }\n\n readFile(path: string,\n successCallback: (result: any) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'readFile',\n [path]\n );\n }\n\n createDirectory(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'createDirectory',\n [path]\n );\n }\n\n copy(from: string, to: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'copy',\n [from, to]\n );\n }\n\n open(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'open',\n [path]\n );\n }\n\n reveal(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'reveal',\n [path]\n );\n }\n\n updateLastModifiedDate(path: string,\n date: Date,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void ): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'updateLastModifiedDate',\n [path, date]\n );\n }\n\n getDetails(path: string,\n successCallback: (result: FileDetails) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'getDetails',\n [path]\n );\n }\n\n listDirContents(path: string,\n successCallback: (result: FileDetails[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'listDirContents',\n [path]\n );\n }\n\n showSaveDialog(opts: SaveDialogOptions,\n successCallback: (result: string) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'showSaveDialog',\n [opts]\n );\n }\n\n showDirSelector(opts: FileDialogOptions,\n successCallback: (result: string[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'showDirSelector',\n [opts]\n );\n }\n\n showFileSelector(opts: FileDialogOptions,\n successCallback: (result: string[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'showFileSelector',\n [opts]\n );\n }\n\n onFileOpen(openFileCallback: (filePath: string) => void,\n successCallback: (result: string[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'onFileOpen',\n [openFileCallback]\n );\n }\n\n remove(path: string,\n successCallback: (result: FileDetails) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'remove',\n [path]\n );\n }\n\n /**\n * The methods of this class should only be called from within an AppWorks desktop\n * environment.\n */\n validateEnv(): void {\n if (!AWProxy.isDesktopEnv()) {\n throw this.desktopEnvError;\n }\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWFinder extends AWPlugin {\n open(path: string, filename: string) {\n let args = [path, filename];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'open',\n args\n );\n }\n\n openIn(filename: string) {\n return this.openDirect(filename);\n }\n\n list(path: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'list',\n [path]\n );\n }\n\n share(filename: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'share',\n [filename]\n );\n }\n\n private openDirect(filename: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'openDirect',\n [filename]\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWGlobalization extends AWPlugin {\n constructor() {\n super(noop, noop);\n }\n\n getPreferredLanguage(successFn: Function, errorFn?: Function) {\n AWProxy.exec(\n successFn,\n errorFn,\n 'AWGlobalization',\n 'getPreferredLanguage',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWHeaderBar extends AWPlugin {\n\n static readonly ButtonName = {LeftOne: 0, LeftTwo: 1, RightOne: 2, RightTwo: 3};\n static readonly ButtonImage = {\n Hamburger: 0,\n Back: 1,\n Settings: 2,\n Appmenu: 3,\n None: 5,\n Dots: 6,\n Search: 7,\n AppmenuHighlight: 8,\n Close: 9,\n DismissAll: 10,\n Edit: 11\n };\n\n /**\n * @deprecated\n * @type {{LeftOne: number; LeftTwo: number; RightOne: number; RightTwo: number}}\n */\n ButtonName = {LeftOne: 0, LeftTwo: 1, RightOne: 2, RightTwo: 3};\n /**\n * @deprecated\n * @type {{Hamburger: number; Back: number; Settings: number; Appmenu: number; None: number; Dots: number; Search: number, AppmenuHighlight: number, Close: number, DismissAll: number, Edit: number}}\n */\n ButtonImage = {\n Hamburger: 0,\n Back: 1,\n Settings: 2,\n Appmenu: 3,\n None: 5,\n Dots: 6,\n Search: 7,\n AppmenuHighlight: 8,\n Close: 9,\n DismissAll: 10,\n Edit: 11\n };\n\n private callback: any;\n\n setHeader(config: any) {\n if (config && config.callback) {\n this.callback = config.callback;\n config.callback = true;\n } else {\n this.callback = null;\n }\n AWProxy.exec(\n (() => this.callback)(),\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'setHeader',\n [config]\n );\n }\n\n getHeader() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'getHeader',\n []\n );\n }\n\n setHeaderButtons(callback: Function, config: any) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'setHeaderButtons',\n [config]\n );\n }\n\n maskHeader(shouldMaskHeader: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'maskHeader',\n [shouldMaskHeader]\n );\n }\n}\n\n// alias\nexport class AWHeader extends AWHeaderBar {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWKeyboard extends AWPlugin {\n constructor() {\n super(noop, noop);\n }\n\n hideKeyboardAccessoryBar(hide: boolean) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'hideKeyboardAccessoryBar',\n [hide.toString()]\n );\n }\n\n close() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'close',\n []\n );\n }\n\n show() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'show',\n []\n );\n }\n\n disableScroll(disable: boolean) {\n disable = !!disable;\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'disableScroll',\n [disable.toString()]\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWLauncher extends AWPlugin {\n\n constructor(successHandler?: any, errorHandler?: any) {\n super(successHandler || noop, errorHandler || noop);\n }\n\n getLaunchData(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWLauncher',\n 'getLaunchData',\n []\n );\n }\n\n getLaunchURL(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWLauncher',\n 'getLaunchURL',\n []\n );\n }\n\n clearLaunchData() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'clearLaunchData',\n []\n );\n }\n\n clearLaunchURL() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'clearLaunchURL',\n []\n );\n }\n registerListener(successHandler: any) {\n AWProxy.exec(\n successHandler,\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'registerListener',\n []\n );\n }\n getCustomScheme(successHandler: any) {\n AWProxy.exec(\n successHandler,\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'getCustomScheme',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWLocation extends AWPlugin {\n getCurrentPosition(options?: any) {\n return AWProxy.geolocation().getCurrentPosition(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n watchPosition(options?: any) {\n return AWProxy.geolocation().watchPosition(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n clearWatch(watchId: number) {\n AWProxy.geolocation().clearWatch(watchId);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {Capture} from './index';\n\nexport class AWMediaCapture extends AWPlugin implements Capture {\n\n supportedAudioModes: any;\n supportedImageModes: any;\n supportedVideoModes: any;\n\n constructor(successHandler: any, errorHandler?: any) {\n super(successHandler, errorHandler);\n this.supportedAudioModes = AWProxy.device().capture.supportedAudioModes;\n this.supportedImageModes = AWProxy.device().capture.supportedImageModes;\n this.supportedVideoModes = AWProxy.device().capture.supportedVideoModes;\n }\n\n captureAudio(options?: any) {\n AWProxy.device().capture.captureAudio(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n captureImage(options?: any) {\n AWProxy.device().capture.captureImage(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n captureVideo(options?: any) {\n AWProxy.device().capture.captureVideo(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWMedia extends AWPlugin {\n\n media: any;\n src: string;\n position: any;\n duration: number;\n\n constructor(src: string, successHandler: any, errorHandler?: any, statusChangeHandler?: any) {\n super(successHandler, errorHandler);\n this.media = AWProxy.media(src, successHandler, errorHandler, statusChangeHandler);\n this.src = src;\n this.position = this.media.position;\n this.duration = this.media.duration;\n }\n\n getCurrentPosition(successHandler: any, errorHandler?: any) {\n return this.media.getCurrentPosition(successHandler, errorHandler);\n }\n\n getDuration() {\n return this.media.getDuration();\n }\n\n pause() {\n return this.media.pause();\n }\n\n play() {\n return this.media.play();\n }\n\n release() {\n return this.media.release();\n }\n\n seekTo(value: number) {\n return this.media.seekTo(value);\n }\n\n setVolume(value: number) {\n return this.media.setVolume(value);\n }\n\n startRecord() {\n return this.media.startRecord();\n }\n\n stop() {\n return this.media.stop();\n }\n\n stopRecord() {\n return this.media.stopRecord();\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {MenuSection} from './index';\n\nexport class AWMenu extends AWPlugin {\n push(items: any) {\n let args = [items];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWMenu',\n 'push',\n args\n );\n }\n\n setMenu(menuSections: MenuSection[]) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n resolve,\n reject,\n 'AWMenu',\n 'setMenu',\n [menuSections]\n );\n });\n }\n\n didOpenMenuItem(callback: any) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWMenu',\n 'receive',\n []\n );\n }\n\n openListener(listener: any) {\n AWProxy.exec(\n listener,\n (() => this.errorHandler)(),\n 'AWMenu',\n 'receive',\n []\n );\n }\n\n showMenu(shouldShowMenu: boolean) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWMenu',\n 'showMenu',\n [shouldShowMenu]\n );\n }\n\n didTapMenuItem(listener: any) {\n return this.openListener(listener);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWMobileFileSystem extends AWPlugin {\n // File listing\n list(directory: string, shared: boolean, success: any, error: any) {\n let args = [directory, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'list',\n args\n );\n }\n\n // Imports\n listImports(success: any, error: any) {\n let args = [];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'listImports',\n args\n );\n }\n\n moveImport(source: string, destination: string, desintationShared: boolean, success: any, error: any) {\n let args = [source, destination, desintationShared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'moveImport',\n args\n );\n }\n\n // File IO\n exists(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'exists',\n args\n );\n }\n\n isOpen(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'isOpen',\n args\n );\n }\n\n rename(source: string, destination: string, shared: boolean, success: any, error: any) {\n let args = [source, destination, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'rename',\n args\n );\n }\n\n copy(source: string, sourceShared: boolean, destination: string, destinationShared: boolean, success: any, error: any) {\n let args = [source, sourceShared, destination, destinationShared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'copy',\n args\n );\n }\n\n move(source: string, sourceShared: boolean, destination: string, destinationShared: boolean, success: any, error: any) {\n let args = [source, sourceShared, destination, destinationShared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'move',\n args\n );\n }\n\n remove(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'remove',\n args\n );\n }\n\n removeDirectory(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'removeDirectory',\n args\n );\n }\n\n readFile(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'read',\n args\n );\n }\n\n // File sharing\n open(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'open',\n args\n );\n }\n\n edit(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'edit',\n args\n );\n }\n\n share(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'share',\n args\n );\n }\n\n quicklook(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'quicklook',\n args\n );\n }\n\n // File transfer\n download(source: string, destination: string, headers: any, shared: boolean, success: any, error: any) {\n let args = [source, destination, headers, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'download',\n args\n );\n }\n\n upload(source: string, destination: string, fileParameterName: string, formData: any, headers: any, shared: boolean, success: any, error: any) {\n let args = [source, destination, fileParameterName, formData, headers, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'upload',\n args\n );\n }\n}\n","import { AWPlugin } from \"../../common/plugin\";\nimport { AWProxy } from \"../../common/proxy\";\nimport { noop } from \"../../common/util\";\n\nexport class AWNotificationManager extends AWPlugin {\n\n constructor() {\n super(noop, noop);\n }\n\n createClientNotification(identifier: string, title: string, subtitle: string, seconds: string, success: any, error: any) {\n AWProxy.exec(\n success,\n error,\n 'AWNotificationManager',\n 'createClientNotification',\n [identifier, title, subtitle, seconds]\n );\n }\n\n didTapNotificationFromActivityView(handler: any, errorHandler: any, includeSeqNo: boolean) {\n this.openListener(handler, errorHandler, includeSeqNo);\n }\n\n disablePushNotifications() {\n AWProxy.exec(\n null,\n null,\n \"AWNotificationManager\",\n \"disablePushNotifications\",\n []\n );\n }\n\n enablePushNotifications(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"enablePushNotifications\",\n AWProxy.isDesktopEnv() ? [handler, includeSeqNo] : [includeSeqNo]\n );\n }\n\n getNotifications(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"getPushNotifications\",\n [includeSeqNo]\n );\n }\n\n getOpeningNotification(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"getOpeningNotification\",\n [includeSeqNo]\n );\n }\n\n notificationDidLaunchApp(handler: any, errorHandler: any, includeSeqNo: boolean) {\n this.getOpeningNotification(handler, errorHandler, includeSeqNo);\n }\n\n openListener(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"openListener\",\n AWProxy.isDesktopEnv() ? [handler, includeSeqNo] : [includeSeqNo]\n );\n }\n\n\n registerForTopic(topicName: string) {\n AWProxy.exec(\n null,\n null,\n \"AWNotificationManager\",\n \"registerForTopic\",\n [topicName]\n );\n }\n\n removeAllClientNotifications(success: any, error: any) {\n AWProxy.exec(\n success,\n error,\n 'AWNotificationManager',\n 'removeAllClientNotifications',\n []\n );\n }\n\n removeClientNotification(identifier: string, success: any, error: any) {\n AWProxy.exec(\n success,\n error,\n 'AWNotificationManager',\n 'removeClientNotification',\n [identifier]\n );\n }\n\n removeNotification(seqNo: string, handler: any, errorHandler?: any) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"removeNotification\",\n [seqNo]\n );\n }\n\n unregisterFromTopic(topicName: string) {\n AWProxy.exec(\n null,\n null,\n \"AWNotificationManager\",\n \"unregisterFromTopic\",\n [topicName]\n );\n }\n\n alert(message: string, alertCallback: any, title?: string, buttonName?: string) {\n AWProxy.notification().alert(message, alertCallback, title, buttonName);\n }\n\n beep(times: number) {\n AWProxy.notification().beep(times);\n }\n\n confirm(message: string, confirmCallback: any, title?: string, buttonLabels?: string[]) {\n AWProxy.notification().confirm(message, confirmCallback, title, buttonLabels);\n }\n\n prompt(message: string, promptCallback: any, title?: string, buttonLabels?: string[], defaultText?: string) {\n AWProxy.notification().prompt(message, promptCallback, title, buttonLabels, defaultText);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWCache extends AWPlugin {\n\n private options: any;\n private excludedKeys: string[] = [];\n\n constructor(options?: any) {\n super(noop, noop);\n this.options = options || {usePersistentStorage: false};\n console.log(\"AWCache instantiate, don't forget to call preloadCache().then(function(){}, function(err){})\");\n }\n\n setExcludedKeys(_excludedKeys: string[]) {\n this.excludedKeys = _excludedKeys;\n }\n\n setItem(key: string, value: any): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.storage().setItem(key, value);\n if (this.usePersistentStorage()) {\n AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys)\n .then(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n\n getItem(key: string): any {\n let item = AWProxy.storage().getItem(key);\n return (typeof item === 'undefined' ? '' : item);\n }\n\n removeItem(key: string): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.storage().removeItem(key);\n if (this.usePersistentStorage()) {\n AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys)\n .then(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n\n clear(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.storage().clear();\n if (this.usePersistentStorage()) {\n AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys)\n .then(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n\n preloadCache(): Promise {\n return new Promise((resolve, reject) => {\n if (this.usePersistentStorage()) {\n this.migrateCache(this.excludedKeys).then(() => {\n AWProxy.persistentStorage().loadPersistentData()\n .then(\n () => {\n console.log('AWCache: Successfully loaded persistent data into local storage');\n resolve();\n },\n err => {\n let error = `AWCache: Failed to load persistent data into local storage - ${err.toString()}`\n console.error(error);\n reject(error);\n }\n );\n }, reject);\n } else {\n resolve();\n }\n });\n }\n\n migrateCache(excludedKeys: string[]): Promise {\n return new Promise((resolve, reject) => {\n AWProxy\n .persistentStorage()\n .migrateCache(excludedKeys)\n .then(resolve);\n });\n }\n\n private usePersistentStorage(): boolean {\n return this.options.usePersistentStorage;\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {AWCache} from '../storage/cache';\n\nexport class AWOfflineManager extends AWPlugin {\n\n status: string;\n online: boolean;\n offline: boolean;\n cache: any;\n queue: any[];\n cacheKey: string;\n options: any;\n\n constructor(options?: any) {\n super(noop, noop);\n\n let document;\n this.cacheKey = '__appworksjs.deferredQueue';\n this.cache = new AWCache();\n this.options = options || {preserveEvents: false};\n\n document = AWProxy.document();\n // process deferred queue when network status changes\n document.addEventListener('online', () => {\n this.processDeferredQueue();\n });\n\n const queue = this.cache.getItem(this.cacheKey);\n if (queue) {\n this.queue = JSON.parse(queue);\n } else {\n this.queue = [];\n this.saveQueue();\n }\n // process the deferred queue upon object instantiation if we are currently online\n if (this.networkStatus().online) {\n this.processDeferredQueue();\n }\n }\n\n defer(eventName: string, args: any) {\n this.queue.push({\n event: eventName,\n args: JSON.stringify(args)\n });\n this.saveQueue();\n return (this.queue.length - 1);\n }\n\n cancel(id: number) {\n if (id > -1) {\n this.queue.splice(id, 1);\n this.saveQueue();\n }\n }\n\n networkStatus(): any {\n return {\n online: AWProxy.connection().type !== AWProxy.Connection().NONE,\n offline: AWProxy.connection().type === AWProxy.Connection().NONE,\n connection: AWProxy.connection()\n };\n }\n\n private saveQueue() {\n this.cache.setItem(this.cacheKey, JSON.stringify(this.queue));\n }\n\n private processDeferredQueue() {\n let self = this;\n\n setTimeout(function () {\n self.queue.forEach(function (deferred) {\n self.dispatchEvent(deferred);\n });\n if (!self.options.preserveEvents) {\n self.queue = [];\n self.saveQueue();\n }\n }, 5000);\n }\n\n private dispatchEvent(data?: any) {\n let event = new CustomEvent(data.event, {detail: data.args});\n document.dispatchEvent(event);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWPage extends AWPlugin {\n setPageUrl(url: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'setPageUrl',\n [url]\n );\n }\n\n openModalAppWebView(url: string, title: string, closeTitle: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'showModalAppWebView',\n [url, title, closeTitle]\n );\n }\n\n openModalExternalWebView(url: string, title: string, closeTitle: string, options?: object) {\n if (typeof options === 'undefined' || !options) {\n options = {};\n }\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'showModalExternalWebView',\n [url, title, closeTitle, options]\n );\n }\n\n setActionButtonCallback(callback: any, actionTitle: string) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWPage',\n 'setModalAppWebViewActionCallback',\n [actionTitle]\n );\n }\n\n closeModalAppWebView() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'closeModalAppWebView',\n []\n );\n }\n\n video(success: any, error: any, url: string) {\n AWProxy.exec(\n success,\n error,\n 'AWPage',\n 'video',\n [url]\n );\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Print extends AWPlugin {\n print(options?: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPrint',\n 'print',\n [options]\n );\n }\n\n getPrinters() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPrint',\n 'getPrinters',\n []\n );\n }\n\n printToPDF(options?: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPrint',\n 'printToPDF',\n [options]\n );\n }\n}\n\nexport class AWPrint extends Print {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class QRReader extends AWPlugin {\n scan() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWQRCodeReader',\n 'scan',\n []\n );\n }\n\n rename() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWQRCodeReader',\n 'rename',\n []\n );\n }\n\n barcode(multiple?: boolean, timeout?: number, finishTitle?: string, cancelTitle?: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWQRCodeReader',\n 'barcode',\n [multiple, timeout, finishTitle, cancelTitle]\n );\n }\n}\n\nexport class AWQRReader extends QRReader {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Realm extends AWPlugin {\n FIELD_OBJECT_NAME = 'name';\n FIELD_OBJECT_TYPE = 'type';\n FIELD_OBJECT_PRIMARYKEY = 'key';\n FIELD_OBJECT_INDEX = 'index';\n FIELD_OBJECT_RELATIONSHIP = 'relationship';\n\n OBJECT_DESCRIPTION_NAME = 'name';\n OBJECT_DESCRIPTION_TYPE = 'type';\n OBJECT_DESCRIPTION_FIELDS = 'fields';\n OBJECT_DESCRIPTION_KEY = 'key';\n OBJECT_DESCRIPTION_INDEX = 'index';\n\n FIELD_TYPE_STRING = 'STRING';\n FIELD_TYPE_INTEGER = 'INTEGER';\n FIELD_TYPE_BOOLEAN = 'BOOLEAN';\n FIELD_TYPE_LONG = 'LONG';\n FIELD_TYPE_SHORT = 'SHORT';\n FIELD_TYPE_DOUBLE = 'DOUBLE';\n FIELD_TYPE_FLOAT = 'FLOAT';\n FIELD_TYPE_BINARY = 'BINARY';\n FIELD_TYPE_BYTE = 'BYTE';\n FIELD_TYPE_OBJECT = 'OBJECT';\n FIELD_TYPE_LIST = 'LIST';\n FIELD_TYPE_DATE = 'DATE';\n\n QUERY_OBJECT_NAME = 'object';\n QUERY_TYPE = 'type';\n QUERY_FIELD = 'field';\n QUERY_SORT = 'sort';\n QUERY_SORT_ASC = 'asc';\n QUERY_SORT_DESC = 'desc';\n\n QUERY_VALUE = 'value';\n QUERY_VALUE_2 = 'value2';\n\n QUERY_TYPE_BEGIN_GROUP = 'beginGroup';\n QUERY_TYPE_END_GROUP = 'endGroup';\n QUERY_TYPE_AND = 'and';\n QUERY_TYPE_OR = 'or';\n\n QUERY_TYPE_EQUAL_TO = 'equalTo';\n QUERY_TYPE_NOT_EQUAL_TO = 'notEqualTo';\n QUERY_TYPE_BEGINS_WITH = 'beginsWith';\n QUERY_TYPE_ENDS_WITH = 'endsWith';\n QUERY_TYPE_CONTAINS = 'contains';\n QUERY_TYPE_BETWEEN = 'between';\n QUERY_TYPE_GREATER_THAN = 'greaterThan';\n QUERY_TYPE_GREATER_THAN_OR_EQUAL_TO = 'greaterThanOrEqualTo';\n QUERY_TYPE_LESS_THAN = 'lessThan';\n QUERY_TYPE_LESS_THAN_OR_EQUAL_TO = 'lessThanOrEqualTo';\n QUERY_TYPE_LIKE = 'like';\n QUERY_TYPE_IN = 'in';\n queryBuilder = {\n arr: [],\n subArray: [],\n inSubArray: false,\n addToArray: function (obj: object, isSubArray: boolean) {\n if (isSubArray) {\n this.subArray.push(obj);\n } else {\n this.arr.push(obj);\n }\n },\n equalTo: function (field: string, value: any) {\n let obj = {\n 'type': 'equalTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n notEqualTo: function (field: string, value: any) {\n let obj = {\n 'type': 'notEqualTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n beginsWith: function (field: string, value: any) {\n let obj = {\n 'type': 'beginsWith',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n endsWith: function (field: string, value: any) {\n let obj = {\n 'type': 'endsWith',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n contains: function (field: string, value: any) {\n let obj = {\n 'type': 'contains',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n between: function (field: string, value: any, value2: any) {\n let obj = {\n 'type': 'between',\n 'field': field,\n 'value': value,\n 'value2': value2\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n greaterThan: function (field: string, value: any) {\n let obj = {\n 'type': 'greaterThan',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n greaterThanOrEqualTo: function (field: string, value: any) {\n let obj = {\n 'type': 'greaterThanOrEqualTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n lessThan: function (field: string, value: any) {\n let obj = {\n 'type': 'lessThan',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n lessThanOrEqualTo: function (field: string, value: any) {\n let obj = {\n 'type': 'lessThanOrEqualTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n like: function (field: string, value: any) {\n let obj = {\n 'type': 'like',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n and: function () {\n let obj = {\n 'type': 'and'\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n or: function () {\n let obj = {\n 'type': 'or'\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n beginGroup: function () {\n this.subArray = [];\n this.inSubArray = true;\n return this;\n },\n endGroup: function () {\n this.arr.push(this.subArray);\n this.inSubArray = false;\n return this;\n },\n done: function () {\n let tempArray = this.arr;\n this.clear();\n return tempArray;\n },\n clear: function () {\n this.inSubArray = false;\n this.subArray = [];\n this.arr = [];\n }\n };\n\n startRealm(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'start_realm',\n []\n );\n }\n\n getAllObjectNames(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'get_all_object_names',\n []\n );\n }\n\n objectExists(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'object_exists',\n [objectName]\n );\n }\n\n createObject(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'create_object',\n [objectName]\n );\n }\n\n addField(objectName: string, field: object, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'add_field',\n [objectName, field]\n );\n }\n\n addFields(objectName: string, field: Array, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'add_fields',\n [objectName, field]\n );\n }\n\n describeObject(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'describe_object',\n [objectName]\n );\n }\n\n objectHasField(objectName: string, fieldName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'object_has_field',\n [objectName, fieldName]\n );\n }\n\n getFieldType(objectName: string, fieldName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'get_field_type',\n [objectName, fieldName]\n );\n }\n\n insert(objectName: string, dataObject: object, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'insert',\n [objectName, dataObject]\n );\n }\n\n update(objectName: string, dataObject: object, queryArray: Array, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'update',\n [objectName, dataObject, queryArray]\n );\n }\n\n select(objectName: string, queryArray: Array, sort: object, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'select',\n [objectName, queryArray, sort]\n );\n }\n\n remove(objectName: string, queryArray: Array, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'remove',\n [objectName, queryArray]\n );\n }\n\n removeAll(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'remove_all',\n [objectName]\n );\n }\n}\n\nexport class AWRealm extends Realm {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class SecureStorage extends AWPlugin {\n\n static idCounter = 0;\n seqNo: number;\n onprogress: any;\n\n constructor(successHandler: any, errorHandler?: any) {\n super(successHandler, errorHandler);\n this.seqNo = ++SecureStorage.idCounter;\n this.onprogress = null;\n }\n\n store(url: string, target: string, options?: any, encodeUri = true) {\n let args = [encodeUri ? encodeURI(url) : url, target, false, this.seqNo, options && options.headers],\n completionHandler = () => this.successHandler,\n progressHandler = this.onprogress,\n progress;\n\n function newProgressEvent(result: any) {\n let pe = new ProgressEvent(null);\n (pe as any).lengthComputable = result.lengthComputable;\n (pe as any).loaded = result.loaded;\n (pe as any).total = result.total;\n return pe;\n }\n\n progress = function (result) {\n if (typeof result.lengthComputable !== 'undefined') {\n if (progressHandler) {\n progressHandler(newProgressEvent(result));\n }\n } else {\n if (completionHandler) {\n completionHandler()(result);\n }\n }\n };\n AWProxy.exec(\n progress,\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'store',\n args\n );\n }\n\n retrieve(filename: string, options?: any) {\n let args = [filename, options];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'retrieve',\n args\n );\n }\n\n remove(target: string) {\n let args = [target];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'removeFile',\n args\n );\n }\n\n fileExistsAtPath(target: string) {\n let args = [target];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'fileExistsAtPath',\n args\n );\n }\n}\n\nexport class AWSecureStorage extends SecureStorage {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Shake extends AWPlugin {\n enableShake(callback: any) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWShake',\n 'enableShake',\n []\n );\n }\n\n disableShake(callback: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWShake',\n 'disableShake',\n []\n );\n }\n}\n\nexport class AWShake extends Shake {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWVibration extends AWPlugin {\n\n constructor() {\n super(noop, noop);\n }\n\n vibrate(time: number) {\n return AWProxy.vibrate(time);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {InAppBrowser, InAppBrowserEvent} from './index';\n\nexport class AWWebView extends AWPlugin {\n\n constructor() {\n super(noop, noop);\n }\n\n open(url: string, target?: string, options?: any): InAppBrowser {\n return AWProxy.webview().open(url, target, options);\n }\n\n addEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.webview().addEventListener(type, callback);\n }\n\n removeEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.webview().removeEventListener(type, callback);\n }\n\n show(): void {\n AWProxy.webview().show();\n }\n\n close(): void {\n AWProxy.webview().close();\n }\n\n executeScript(script: string, callback: (result: any) => void): void {\n AWProxy.webview().executeScript(script, callback);\n }\n\n insertCSS(script: string, callback: (result: any) => void): void {\n AWProxy.webview().insertCSS(script, callback);\n }\n}\n","import {AWAccelerometer as _AWAccelerometer} from './plugins/accelerometer/accelerometer';\nimport {AWAnonymous as _AWAnonymous} from './plugins/anonymous/anonymous';\nimport {AWAppManager as _AWAppManager} from './plugins/app-manager/app-manager';\nimport {AWAuth as _AWAuth} from './plugins/auth/auth';\nimport {AWCalendar as _AWCalendar} from './plugins/calendar/calendar';\nimport {AWCamera as _AWCamera} from './plugins/camera/camera';\nimport {AWComponent as _AWComponent} from './plugins/component/component';\nimport {AWContacts as _AWContacts} from './plugins/contacts/contacts';\nimport {AWCompass as _AWCompass} from './plugins/device-orientation/compass';\nimport {AWDevice as _AWDevice} from './plugins/device/device';\nimport {AWScanner as _AWScanner} from './plugins/document-scanner/scanner';\nimport {AWFileTransfer as _AWFileTransfer} from './plugins/file-transfer/file-transfer';\nimport {AWFileChooser as _AWFileChooser} from './plugins/file/file-chooser';\nimport {AWFileSystem as _AWFileSystem} from './plugins/file/file-system';\nimport {AWFinder as _AWFinder} from './plugins/finder/finder';\nimport {AWGlobalization as _AWGlobalization} from './plugins/globalization/globalization';\nimport {AWHeaderBar as _AWHeaderBar} from './plugins/header/header';\nimport {AWKeyboard as _AWKeyboard} from './plugins/keyboard/keyboard';\nimport {AWLauncher as _AWLauncher} from './plugins/launcher/launcher';\nimport {AWLocation as _AWLocation} from './plugins/location/location';\nimport {AWMediaCapture as _AWMediaCapture} from './plugins/media-transfer/media-capture';\nimport {AWMedia as _AWMedia} from './plugins/media/media';\nimport {AWMenu as _AWMenu} from './plugins/menu/menu';\nimport {AWMobileFileSystem as _AWMobileFileSystem} from './plugins/mobile-file-system/mobile-file-system';\nimport {AWNotificationManager as _AWNotificationManager} from './plugins/notifications/notifications';\nimport {AWOfflineManager as _AWOfflineManager} from './plugins/offline/offline-manager';\nimport {AWPage as _AWPage} from './plugins/page/page';\nimport {AWPrint as _AWPrint} from './plugins/print/print';\nimport {AWQRReader as _AWQRReader} from './plugins/qr-reader/qr-reader';\nimport {AWRealm as _AWRealm} from './plugins/realm/realm';\nimport {AWCache as _AWCache} from './plugins/storage/cache';\nimport {AWSecureStorage as _AWSecureStorage} from './plugins/storage/secure-storage';\nimport {AWShake as _AWShake} from './plugins/shake/shake';\nimport {AWVibration as _AWVibration} from './plugins/vibration/vibration';\nimport {AWWebView as _AWWebView} from './plugins/webview/webview';\n\n// Accelerometer plugin and alias -- [mobile]\nexport const Accelerometer = _AWAccelerometer;\nexport const AWAccelerometer = _AWAccelerometer;\n// Anonymous plugin and alias -- [mobile]\nexport const Anonymous = _AWAnonymous;\nexport const AWAnonymous = _AWAnonymous;\n// AppManager plugin and alias -- [mobile]\nexport const AppManager = _AWAppManager;\nexport const AWAppManager = _AWAppManager;\n// Auth plugin and alias -- [desktop/mobile]\nexport const Auth = _AWAuth;\nexport const AWAuth = _AWAuth;\n// Cache plugin and alias -- [desktop/mobile]\nexport const Cache = _AWCache;\nexport const AWCache = _AWCache;\n// Calendar plugin and alias -- [desktop/mobile]\nexport const Calendar = _AWCalendar;\nexport const AWCalendar = _AWCalendar;\n// Camera plugin and alias -- [mobile]\nexport const Camera = _AWCamera;\nexport const AWCamera = _AWCamera;\n// Compass plugin and alias -- [mobile]\nexport const Compass = _AWCompass;\nexport const AWCompass = _AWCompass;\n// Component plugin and alias -- [mobile]\nexport const Component = _AWComponent;\nexport const AWComponent = _AWComponent;\n// Contacts plugin and alias -- [mobile]\nexport const Contacts = _AWContacts;\nexport const AWContacts = _AWContacts;\n// Device plugin and alias -- [desktop/mobile]\nexport const Device = _AWDevice;\nexport const AWDevice = _AWDevice;\n// FileChooser plugin and alias -- [mobile]\nexport const FileChooser = _AWFileChooser;\nexport const AWFileChooser = _AWFileChooser;\n// FileTransfer plugin and alias -- [desktop/mobile]\nexport const FileTransfer = _AWFileTransfer;\nexport const AWFileTransfer = _AWFileTransfer;\n// Finder plugin and alias -- [mobile]\nexport const Finder = _AWFinder;\nexport const AWFinder = _AWFinder;\n// Globalization plugin and alias -- [mobile]\nexport const Globalization = _AWGlobalization;\nexport const AWGlobalization = _AWGlobalization;\n// Header plugin and alias -- [mobile]\nexport const HeaderBar = _AWHeaderBar;\nexport const Header = _AWHeaderBar;\nexport const AWHeader = _AWHeaderBar;\nexport const AWHeaderBar = _AWHeaderBar;\n// Keyboard plugin and alias -- [mobile]\nexport const Keyboard = _AWKeyboard;\nexport const AWKeyboard = _AWKeyboard;\n// Location plugin and alias -- [mobile]\nexport const Location = _AWLocation;\nexport const AWLocation = _AWLocation;\n// Launcher plugin and alias -- [mobile]\nexport const Launcher = _AWLauncher;\nexport const AWLauncher = _AWLauncher;\n// Media plugin and alias -- [mobile]\nexport const Media = _AWMedia;\nexport const AWMedia = _AWMedia;\n// MediaCapture plugin and alias -- [mobile]\nexport const MediaCapture = _AWMediaCapture;\nexport const AWMediaCapture = _AWMediaCapture;\n// Menu plugin and alias -- [mobile]\nexport const Menu = _AWMenu;\nexport const AWMenu = _AWMenu;\nexport const AWHamburgerMenu = _AWMenu;\nexport const HamburgerMenu = _AWMenu;\n// MobileFileSystem plugin and alias -- [mobile]\nexport const MobileFileSystem = _AWMobileFileSystem;\nexport const AWMobileFileSystem = _AWMobileFileSystem;\n// NotificationManager plugin and alias -- [mobile]\nexport const NotificationManager = _AWNotificationManager;\nexport const AWNotificationManager = _AWNotificationManager;\n// OfflineManager plugin and alias -- [mobile]\nexport const OfflineManager = _AWOfflineManager;\nexport const AWOfflineManager = _AWOfflineManager;\n// Page plugin and alias -- [mobile]\nexport const Page = _AWPage;\nexport const AWPage = _AWPage;\n// Print plugin and alias --[desktop]\nexport const Print = _AWPrint;\nexport const AWPrint = _AWPrint;\n// QRReader plugin and alias -- [mobile]\nexport const QRReader = _AWQRReader;\nexport const AWQRReader = _AWQRReader;\n// Realm plugin and alias -- [mobile]\nexport const Realm = _AWRealm;\nexport const AWRealm = _AWRealm;\n// Scanner plugin and alias -- [mobile]\nexport const Scanner = _AWScanner;\nexport const AWScanner = _AWScanner;\n// SecureStorage plugin and alias -- [mobile]\nexport const SecureStorage = _AWSecureStorage;\nexport const AWSecureStorage = _AWSecureStorage;\n// Shake plugin and alias -- [mobile]\nexport const Shake = _AWShake;\nexport const AWShake = _AWShake;\n// Vibration plugin and alias -- [mobile]\nexport const Vibration = _AWVibration;\nexport const AWVibration = _AWVibration;\n// Webview plugin and alias -- [mobile]\nexport const WebView = _AWWebView;\nexport const AWWebView = _AWWebView;\n// FileSystem -- [desktop]\nexport const AWFileSystem = _AWFileSystem;\n"],"names":["this","require","global","Promise","Scanner","AWHeaderBar","AWCache","Print","QRReader","Realm","SecureStorage","Shake","_AWAccelerometer","AWAccelerometer","_AWAnonymous","AWAnonymous","_AWAppManager","AWAppManager","_AWAuth","AWAuth","_AWCache","_AWCalendar","AWCalendar","Camera","_AWCamera","AWCamera","_AWCompass","AWCompass","_AWComponent","AWComponent","_AWContacts","AWContacts","_AWDevice","AWDevice","_AWFileChooser","AWFileChooser","FileTransfer","_AWFileTransfer","AWFileTransfer","_AWFinder","AWFinder","_AWGlobalization","AWGlobalization","_AWHeaderBar","AWHeader","_AWKeyboard","AWKeyboard","_AWLocation","AWLocation","_AWLauncher","AWLauncher","Media","_AWMedia","AWMedia","_AWMediaCapture","AWMediaCapture","_AWMenu","AWMenu","_AWMobileFileSystem","AWMobileFileSystem","_AWNotificationManager","AWNotificationManager","_AWOfflineManager","AWOfflineManager","_AWPage","AWPage","_AWPrint","AWPrint","_AWQRReader","AWQRReader","_AWRealm","AWRealm","_AWScanner","AWScanner","_AWSecureStorage","AWSecureStorage","_AWShake","AWShake","_AWVibration","AWVibration","_AWWebView","AWWebView","AWFileSystem","_AWFileSystem"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"appworks.js","sources":["../src/common/plugin.ts","../test/mock/accelerometer.ts","../test/mock/camera.ts","../test/mock/capture.ts","../test/mock/compass.ts","../test/mock/connection.ts","../test/mock/contacts.ts","../test/mock/file-transfer.ts","../test/mock/geolocation.ts","../test/mock/media.ts","../test/mock/notifications.ts","../node_modules/es6-promise/dist/es6-promise.js","../test/mock/persistent-storage.ts","../test/mock/vibrate.ts","../src/plugins/file/local-file-system.ts","../src/plugins/storage/desktop-storage.ts","../src/plugins/storage/on-device-storage.ts","../test/mock/local-storage.ts","../src/plugins/storage/storage.ts","../src/common/util.ts","../src/plugins/webview/desktop-webview.ts","../src/common/proxy.ts","../src/plugins/accelerometer/accelerometer.ts","../src/plugins/anonymous/anonymous.ts","../src/plugins/app-manager/app-manager.ts","../src/plugins/auth/auth.ts","../src/plugins/calendar/calendar.ts","../src/plugins/camera/camera.ts","../src/plugins/component/component.ts","../src/plugins/contacts/contacts.ts","../src/plugins/device-orientation/compass.ts","../src/plugins/device/device.ts","../src/plugins/document-scanner/scanner.ts","../src/plugins/file-transfer/file-transfer.ts","../src/plugins/file/file-chooser.ts","../src/plugins/file/file-system.ts","../src/plugins/finder/finder.ts","../src/plugins/globalization/globalization.ts","../src/plugins/header/header.ts","../src/plugins/keyboard/keyboard.ts","../src/plugins/launcher/launcher.ts","../src/plugins/location/location.ts","../src/plugins/media-transfer/media-capture.ts","../src/plugins/media/media.ts","../src/plugins/menu/menu.ts","../src/plugins/mobile-file-system/mobile-file-system.ts","../src/plugins/notifications/notifications.ts","../src/plugins/storage/cache.ts","../src/plugins/offline/offline-manager.ts","../src/plugins/page/page.ts","../src/plugins/print/print.ts","../src/plugins/qr-reader/qr-reader.ts","../src/plugins/realm/realm.ts","../src/plugins/storage/secure-storage.ts","../src/plugins/shake/shake.ts","../src/plugins/vibration/vibration.ts","../src/plugins/webview/webview.ts","../src/appworks.ts"],"sourcesContent":["export abstract class AWPlugin {\n /**\n * Base plugin class. Constructor takes in a success function and error function to be executed upon\n * return from call to native layer\n * @param successHandler - the function to be executed when the native call succeeds. passes an object as arg\n * @param errorHandler - the function to be executed when the native call fails. passes an object as arg.\n */\n constructor(protected successHandler: any, protected errorHandler: any) {\n }\n}\n","import {Acceleration, Accelerometer, AccelerometerOptions, WatchHandle} from \"../../src/plugins/device-motion/index\";\n\nexport class MockAccelerometer implements Accelerometer {\n getCurrentAcceleration(accelerometerSuccess: (acceleration: Acceleration) => void,\n accelerometerError: () => void,\n accelerometerOptions?: AccelerometerOptions): WatchHandle {\n return null;\n }\n\n watchAcceleration(accelerometerSuccess: (acceleration: Acceleration) => void,\n accelerometerError: () => void,\n accelerometerOptions?: AccelerometerOptions): WatchHandle {\n return null;\n }\n\n clearWatch(watchID: WatchHandle): void {\n\n }\n}\n","import {CameraInterface, CameraOptions} from \"../../src/plugins/camera/index\";\n\nexport class MockCamera implements CameraInterface {\n\n cleanup(\n onSuccess: () => void,\n onError: (message: string) => void): void {\n }\n\n getPicture(\n cameraSuccess: (data: string) => void,\n cameraError: (message: string) => void,\n cameraOptions?: CameraOptions): void {\n }\n}\n","import {\n AudioOptions,\n Capture,\n CaptureError,\n ConfigurationData,\n ImageOptions,\n MediaFile,\n VideoOptions\n} from \"../../src/plugins/media-transfer/index\";\n\nexport class MockCapture implements Capture {\n supportedAudioModes: ConfigurationData[];\n supportedImageModes: ConfigurationData[];\n supportedVideoModes: ConfigurationData[];\n\n captureAudio(onSuccess: (mediaFiles: MediaFile[]) => void,\n onError: (error: CaptureError) => void,\n options?: AudioOptions): void {\n\n }\n\n captureImage(onSuccess: (mediaFiles: MediaFile[]) => void,\n onError: (error: CaptureError) => void,\n options?: ImageOptions): void {\n\n }\n\n captureVideo(onSuccess: (mediaFiles: MediaFile[]) => void,\n onError: (error: CaptureError) => void,\n options?: VideoOptions): void {\n\n }\n}\n","import {Compass, CompassError, CompassHeading, CompassOptions} from \"../../src/plugins/device-orientation/index\";\n\nexport class MockCompass implements Compass {\n getCurrentHeading(\n onSuccess: (heading: CompassHeading) => void,\n onError: (error: CompassError) => void,\n options?: CompassOptions): void {\n }\n\n watchHeading(\n onSuccess: (heading: CompassHeading) => void,\n onError: (error: CompassError) => void,\n options?: CompassOptions): number {\n return null;\n }\n\n clearWatch(id: number): void {\n }\n}\n","import {ConnectionInterface} from \"../../src/plugins/network-information/index\";\n\nexport class MockConnection implements ConnectionInterface {\n type: string;\n\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void {\n\n }\n\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void {\n\n }\n}\n","import {Contact, ContactError, ContactFindOptions, ContactProperties, Contacts} from \"../../src/plugins/contacts/index\";\n\nexport class MockContacts implements Contacts {\n fieldType: any;\n\n constructor() {\n this.fieldType = {};\n }\n\n create(properties?: ContactProperties): Contact {\n return null;\n }\n\n find(fields: string[],\n onSuccess: (contacts: Contact[]) => void,\n onError?: (error: ContactError) => void,\n options?: ContactFindOptions): void {\n }\n\n pickContact(onSuccess: (contact: Contact) => void,\n onError: (error: ContactError) => void): void {\n }\n}\n","import {\n FileDownloadOptions,\n FileTransferError,\n FileTransferInterface,\n FileUploadOptions,\n FileUploadResult\n} from \"../../src/plugins/file-transfer/index\";\nimport {FileEntry} from \"../../src/plugins/file/index\";\n\nexport class MockFileTransfer implements FileTransferInterface {\n onprogress: (event: ProgressEvent) => void;\n\n upload(fileURL: string,\n server: string,\n successCallback: (result: FileUploadResult) => void,\n errorCallback: (error: FileTransferError) => void,\n options?: FileUploadOptions,\n trustAllHosts?: boolean): void {\n }\n\n download(source: string,\n target: string,\n successCallback: (fileEntry: FileEntry) => void,\n errorCallback: (error: FileTransferError) => void,\n trustAllHosts?: boolean,\n options?: FileDownloadOptions): void {\n }\n\n abort(): void {\n }\n}\n","import {Geolocation} from \"../../src/plugins/location/index\";\n\nexport class MockGeolocation implements Geolocation {\n clearWatch(watchId: number): void {\n }\n\n getCurrentPosition(successCallback: PositionCallback,\n errorCallback?: PositionErrorCallback,\n options?: PositionOptions): void {\n }\n\n watchPosition(successCallback: PositionCallback,\n errorCallback?: PositionErrorCallback,\n options?: PositionOptions): number {\n return null;\n }\n}\n","import {IosPlayOptions, MediaInterface} from \"../../src/plugins/media/index\";\n\nexport class MockMedia implements MediaInterface {\n position: number;\n duration: number;\n\n constructor(src, successHandler, errorHandler, statusChangeHandler) {\n\n }\n\n getCurrentPosition(mediaSuccess: (position: number) => void,\n mediaError?: (error: MediaError) => void): void {\n }\n\n getDuration(): number {\n return null;\n }\n\n play(iosPlayOptions?: IosPlayOptions): void {\n\n }\n\n pause(): void {\n\n }\n\n release(): void {\n\n }\n\n seekTo(position: number): void {\n\n }\n\n setVolume(volume: number): void {\n\n }\n\n startRecord(): void {\n\n }\n\n stopRecord(): void {\n\n }\n\n stop(): void {\n\n }\n}\n","import {Notification, NotificationPromptResult} from \"../../src/plugins/dialogs/index\";\n\nexport class MockNotification implements Notification {\n body: any = null;\n dir: any = null;\n icon: any = null;\n lang: any = null;\n onclick: any = null;\n onclose: any = null;\n onerror: any = null;\n onshow: any = null;\n permission: any = null;\n title: any = null;\n tag: any = null;\n close: any = null;\n addEventListener: any = (name: string) => {\n };\n removeEventListener: any = (name: string) => {\n };\n dispatchEvent: any = (name: string) => {\n };\n\n alert(message: string,\n alertCallback: () => void,\n title?: string,\n buttonName?: string): void {\n\n }\n\n beep(times: number): void {\n\n }\n\n confirm(message: string,\n confirmCallback: (choice: number) => void,\n title?: string,\n buttonLabels?: string[]): void {\n\n }\n\n prompt(message: string,\n promptCallback: (result: NotificationPromptResult) => void,\n title?: string,\n buttonLabels?: string[],\n defaultText?: string): void {\n\n }\n\n vibrate(): void {\n\n }\n\n vibrateWithPattern(): void {\n\n }\n\n cancelVibration(): void {\n\n }\n}\n","/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version 4.0.5\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n return typeof x === 'function' || typeof x === 'object' && x !== null;\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\nvar _isArray = undefined;\nif (!Array.isArray) {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n} else {\n _isArray = Array.isArray;\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = undefined;\nvar customSchedulerFn = undefined;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var r = require;\n var vertx = r('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = undefined;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var _arguments = arguments;\n\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n if (_state) {\n (function () {\n var callback = _arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n })();\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n _resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(16);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar GET_THEN_ERROR = new ErrorObject();\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n try {\n return promise.then;\n } catch (error) {\n GET_THEN_ERROR.error = error;\n return GET_THEN_ERROR;\n }\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n try {\n then.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n _resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n _reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n _reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n _reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return _resolve(promise, value);\n }, function (reason) {\n return _reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$) {\n if (maybeThenable.constructor === promise.constructor && then$$ === then && maybeThenable.constructor.resolve === resolve) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$ === GET_THEN_ERROR) {\n _reject(promise, GET_THEN_ERROR.error);\n } else if (then$$ === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$)) {\n handleForeignThenable(promise, maybeThenable, then$$);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction _resolve(promise, value) {\n if (promise === value) {\n _reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value, getThen(value));\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction _reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = undefined,\n callback = undefined,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction ErrorObject() {\n this.error = null;\n}\n\nvar TRY_CATCH_ERROR = new ErrorObject();\n\nfunction tryCatch(callback, detail) {\n try {\n return callback(detail);\n } catch (e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = undefined,\n error = undefined,\n succeeded = undefined,\n failed = undefined;\n\n if (hasCallback) {\n value = tryCatch(callback, detail);\n\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value = null;\n } else {\n succeeded = true;\n }\n\n if (promise === value) {\n _reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n succeeded = true;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n _resolve(promise, value);\n } else if (failed) {\n _reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n _reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n _resolve(promise, value);\n }, function rejectPromise(reason) {\n _reject(promise, reason);\n });\n } catch (e) {\n _reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this._input = input;\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate();\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n _reject(this.promise, validationError());\n }\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n};\n\nEnumerator.prototype._enumerate = function () {\n var length = this.length;\n var _input = this._input;\n\n for (var i = 0; this._state === PENDING && i < length; i++) {\n this._eachEntry(_input[i], i);\n }\n};\n\nEnumerator.prototype._eachEntry = function (entry, i) {\n var c = this._instanceConstructor;\n var resolve$$ = c.resolve;\n\n if (resolve$$ === resolve) {\n var _then = getThen(entry);\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise) {\n var promise = new c(noop);\n handleMaybeThenable(promise, entry, _then);\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$) {\n return resolve$$(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$(entry), i);\n }\n};\n\nEnumerator.prototype._settledAt = function (state, i, value) {\n var promise = this.promise;\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n _reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n};\n\nEnumerator.prototype._willSettleAt = function (promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n};\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n _reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {function} resolver\n Useful for tooling.\n @constructor\n*/\nfunction Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n}\n\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = resolve;\nPromise.reject = reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;\n\nPromise.prototype = {\n constructor: Promise,\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n \n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n \n Chaining\n --------\n \n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n \n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n \n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n \n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n \n Assimilation\n ------------\n \n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n \n If the assimliated promise rejects, then the downstream promise will also reject.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n \n Simple Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let result;\n \n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n \n Advanced Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let author, books;\n \n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n \n function foundBooks(books) {\n \n }\n \n function failure(reason) {\n \n }\n \n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n \n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n then: then,\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n \n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n \n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n \n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n \n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n 'catch': function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nfunction polyfill() {\n var local = undefined;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise;\n}\n\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\n\nreturn Promise;\n\n})));\n//# sourceMappingURL=es6-promise.map","import {PersistentStorage} from \"../../src/plugins/storage/index\";\n\nexport class PersistentStorageMock implements PersistentStorage {\n\n setExcludedKeys(_excludedKeys: string[]) {\n }\n\n persistLocalStorage(): Promise {\n return Promise.resolve();\n }\n\n loadPersistentData(): Promise {\n return Promise.resolve();\n }\n\n migrateCache(): Promise {\n return Promise.resolve();\n }\n}\n","export class MockVibrate {\n vibrate(time: number): void {\n }\n}\n","export enum LocalFileSystem {\n PERSISTENT = 0,\n TEMPORARY = 1\n}\n","import {AWProxy} from '../../common/proxy';\nimport {AsyncStorage, PersistentStorage} from './index';\n\nexport class DesktopStorage implements PersistentStorage {\n\n private static readonly PLUGIN_NOT_FOUND: Error = new Error('Unable to resolve AWStorage desktop plugin');\n private desktopStorage: AsyncStorage;\n\n constructor(desktopPlugin: AsyncStorage) {\n this.desktopStorage = desktopPlugin;\n }\n\n persistLocalStorage(excludedKeys: string[]): Promise {\n if (this.desktopStorage === null) {\n return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND);\n }\n\n return new Promise((resolve, reject) => {\n let i,\n data = [],\n key,\n value;\n\n const storage = AWProxy.storage();\n for (i = 0; i < storage.length; i += 1) {\n key = storage.key(i);\n value = storage.getItem(key);\n if (excludedKeys.indexOf(key) === -1) {\n data.push({key: key, value: value});\n }\n }\n\n const setter = obj => this.desktopStorage.setItem(obj.key, obj.value);\n Promise.all(data.map(setter)).then(resolve, reject);\n });\n }\n\n loadPersistentData(): Promise {\n if (this.desktopStorage === null) {\n return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND);\n }\n return new Promise((resolve, reject) => {\n try {\n // get data is actually synchronous\n const data = this.desktopStorage.getData();\n const storage = AWProxy.storage();\n for (let key in data) {\n if (data.hasOwnProperty(key)) {\n storage.setItem(key, data[key]);\n }\n }\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n }\n\n migrateCache(excludedKeys: string[]): Promise {\n if (this.desktopStorage === null) {\n return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND);\n }\n\n return Promise.resolve(null);\n }\n}\n","import {AWProxy} from '../../common/proxy';\nimport {PersistentStorage} from './index';\n\n/**\n * The mobile environment implementation of persistent storage.\n */\nexport class OnDeviceStorage implements PersistentStorage {\n\n persistLocalStorage(excludedKeys: string[]): Promise {\n let i,\n data = {},\n key,\n value;\n\n const storage = AWProxy.storage()['storage'];\n for (i = 0; i < Object.keys(storage).length; i += 1) {\n key = Object.keys(storage)[i];\n value = storage[key];\n if (excludedKeys.indexOf(key) === -1) {\n data[key] = value;\n }\n }\n return new Promise((resolve, reject) => {\n this.writeDataToPersistentStorage(JSON.stringify(data)).then(resolve, reject);\n });\n }\n\n loadPersistentData(): Promise {\n return new Promise((resolve, reject) => {\n this.readDataFromPersistentStorage().then(\n (json) => {\n let data;\n if (json) {\n data = JSON.parse(json);\n for (let item in data) {\n if (data.hasOwnProperty(item)) {\n AWProxy.storage().setItem(item, data[item]);\n }\n }\n resolve();\n }\n }, reject);\n });\n }\n\n migrateCache(excludedKeys: string[]): Promise {\n return new Promise((resolve, reject) => {\n this.readDataAWCacheFile().then(\n (json) => {\n let data;\n if (json && json !== '') {\n data = JSON.parse(json);\n for (let item in data) {\n if (data.hasOwnProperty(item)) {\n AWProxy.storage().setItem(item, data[item]);\n }\n }\n AWProxy.persistentStorage().persistLocalStorage(excludedKeys)\n .then(\n () => this.deleteAWCacheFile().then(resolve, reject),\n reject);\n }\n resolve();\n }, (error) => {\n resolve();\n });\n });\n }\n\n private readDataAWCacheFile(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.requestFileSystem(AWProxy.localFileSystem().PERSISTENT, 0, gotFS, reject);\n\n function gotFS(fileSystem: any) {\n fileSystem.root.getFile('appworksjs.cache.json', {\n create: false,\n exclusive: false\n }, gotFileEntry, reject);\n }\n\n function gotFileEntry(entry: any) {\n entry.file(gotFile, reject);\n }\n\n function gotFile(file: any) {\n readAsText(file);\n }\n\n function readAsText(file: any) {\n let reader = new FileReader();\n reader.onloadend = function (evt) {\n console.log(evt);\n resolve((evt.target).result);\n };\n reader.readAsText(file);\n }\n });\n }\n\n private deleteAWCacheFile(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.requestFileSystem(AWProxy.localFileSystem().PERSISTENT, 0, gotFS, reject);\n\n function gotFS(fileSystem) {\n fileSystem.root.getFile(\n 'appworksjs.cache.json',\n {create: false, exclusive: false},\n gotFileEntry,\n reject);\n }\n\n function gotFileEntry(fileEntry) {\n fileEntry.remove(resolve, reject);\n }\n });\n }\n\n private readDataFromPersistentStorage(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n resolve,\n reject,\n 'AWCache',\n 'getAllCacheData',\n []\n );\n });\n }\n\n private writeDataToPersistentStorage(data): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n resolve,\n reject,\n 'AWCache',\n 'setAllCacheData',\n [data]\n );\n });\n }\n\n}\n","import {Storage} from \"../../src/plugins/storage/index\";\n\nexport class MockLocalStorage implements Storage {\n length: number;\n\n [key: string]: any;\n\n [index: number]: string;\n\n // allow tests to set a value if they need to\n constructor(len?: number) {\n this.length = isNaN(len) ? 0 : len;\n }\n\n getItem(key: string): any {\n return null;\n }\n\n setItem(key: string, value: string): void {\n }\n\n removeItem(key: string): void {\n }\n\n clear(): void {\n }\n\n key(index: number): string {\n return null;\n }\n\n}\n","import {MockLocalStorage} from '../../../test/mock/local-storage';\nimport {Storage} from './index';\n\n/**\n * Web local storage wrapper that hooks into the native persistent layer on mobile and desktop\n * The local and persistent storage are kept in, sync with update being flushed, and the local web\n * storage always acting as the reference.\n */\nexport class AWStorage implements Storage {\n\n [key: string]: any;\n\n [index: number]: string;\n\n /**\n * Storage implementation.\n */\n private storage: Storage;\n private isMobileEnv: boolean;\n\n constructor(isMobileEnv: boolean) {\n this.isMobileEnv = isMobileEnv;\n // resolve the local storage or fall back onto a mock impl\n if (this.isMobileEnv) {\n if (typeof window !== 'undefined') {\n if (typeof window['awcache'] === 'undefined') {\n window['awcache'] = {};\n }\n this.storage = window['awcache'];\n } else {\n this.storage = new MockLocalStorage();\n }\n } else {\n this.storage = (typeof window !== 'undefined') ?\n window.localStorage : new MockLocalStorage();\n }\n }\n\n get length(): number {\n return this.storage ? this.storage.length : -1;\n }\n\n clear(): void {\n if (this.isMobileEnv) {\n let keys = Object.keys(this.storage);\n for (let key of keys) {\n this.removeItem(key);\n }\n } else {\n this.storage.clear();\n }\n }\n\n getItem(key: string): any {\n if (this.isMobileEnv) {\n return this.storage[key];\n } else {\n return this.storage.getItem(key);\n }\n }\n\n key(index: number): string {\n return this.storage.key(index);\n }\n\n removeItem(key: string): void {\n if (this.isMobileEnv) {\n delete this.storage[key];\n } else {\n return this.storage.removeItem(key);\n }\n }\n\n setItem(key: string, data: any): void {\n if (this.isMobileEnv) {\n return this.storage[key] = data;\n } else {\n return this.storage.setItem(key, data);\n }\n }\n\n}\n","/**\n * Collection of utility functions\n */\nimport {AWProxy} from './proxy';\n\nexport function noop() {\n}\n\nexport function isFunction(functionToCheck) {\n const getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\nexport function isDesktopEnv() {\n return AWProxy.isDesktopEnv();\n}\n\nexport function isMobileEnv() {\n return AWProxy.isMobileEnv();\n}\n","import {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {DesktopWebviewInterface, InAppBrowserEvent} from './index';\n\nconst DesktopWebviewSequenceStore = {\n seqNo: 0\n};\n\nexport class DesktopWebview implements DesktopWebviewInterface {\n\n private id: number;\n\n constructor() {\n this.id = DesktopWebviewSequenceStore.seqNo++;\n }\n\n addEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'addEventListener',\n [this.id, type, callback]\n );\n }\n\n removeEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'removeEventListener',\n [this.id, type, callback]\n );\n }\n\n close(): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'close',\n [this.id]\n );\n }\n\n show(): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'show',\n [this.id]\n );\n }\n\n open(url: string, target?: string, options?: any): DesktopWebview {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'open',\n [this.id, url, target, options]\n );\n return this;\n }\n\n executeScript(script: any, callback: (result: any) => void): void {\n AWProxy.exec(\n callback,\n noop,\n 'AWWebView',\n 'executeScript',\n [this.id, script]\n );\n }\n\n insertCSS(css: any, callback: () => void): void {\n AWProxy.exec(\n callback,\n noop,\n 'AWWebView',\n 'insertCSS',\n [this.id, css]\n );\n }\n}\n","import {MockAccelerometer} from '../../test/mock/accelerometer';\nimport {MockCamera} from '../../test/mock/camera';\nimport {MockCapture} from '../../test/mock/capture';\nimport {MockCompass} from '../../test/mock/compass';\nimport {MockConnection} from '../../test/mock/connection';\nimport {MockContacts} from '../../test/mock/contacts';\nimport {MockFileTransfer} from '../../test/mock/file-transfer';\nimport {MockGeolocation} from '../../test/mock/geolocation';\nimport {MockMedia} from '../../test/mock/media';\nimport {MockNotification} from '../../test/mock/notifications';\nimport {PersistentStorageMock} from '../../test/mock/persistent-storage';\nimport {MockVibrate} from '../../test/mock/vibrate';\nimport {CameraInterface} from '../plugins/camera/index';\nimport {Contacts} from '../plugins/contacts/index';\nimport {Accelerometer} from '../plugins/device-motion/index';\nimport {Compass} from '../plugins/device-orientation/index';\nimport {Device} from '../plugins/device/index';\nimport {Notification} from '../plugins/dialogs/index';\nimport {FileTransferInterface} from '../plugins/file-transfer/index';\nimport {FileError, FileSystem} from '../plugins/file/index';\nimport {LocalFileSystem} from '../plugins/file/local-file-system';\nimport {MediaInterface} from '../plugins/media/index';\nimport {ConnectionInterface} from '../plugins/network-information/index';\nimport {DesktopStorage} from '../plugins/storage/desktop-storage';\nimport {PersistentStorage} from '../plugins/storage/index';\nimport {OnDeviceStorage} from '../plugins/storage/on-device-storage';\nimport {AWStorage} from '../plugins/storage/storage';\nimport {DesktopWebview} from '../plugins/webview/desktop-webview';\nimport {isFunction, noop} from './util';\n\ndeclare const Media: {\n new(src: string,\n mediaSuccess: () => void,\n mediaError?: (error: MediaError) => any,\n mediaStatus?: (status: number) => void): MediaInterface;\n // Media statuses\n MEDIA_NONE: number;\n MEDIA_STARTING: number;\n MEDIA_RUNNING: number;\n MEDIA_PAUSED: number;\n MEDIA_STOPPED: number\n};\ndeclare const FileTransfer: any;\ndeclare const Camera: {\n // Camera constants, defined in Camera plugin\n DestinationType: {\n DATA_URL: number;\n FILE_URI: number;\n NATIVE_URI: number\n }\n Direction: {\n BACK: number;\n FRONT: number;\n }\n EncodingType: {\n JPEG: number;\n PNG: number;\n }\n MediaType: {\n PICTURE: number;\n VIDEO: number;\n ALLMEDIA: number;\n }\n PictureSourceType: {\n PHOTOLIBRARY: number;\n CAMERA: number;\n SAVEDPHOTOALBUM: number;\n }\n // Used only on iOS\n PopoverArrowDirection: {\n ARROW_UP: number;\n ARROW_DOWN: number;\n ARROW_LEFT: number;\n ARROW_RIGHT: number;\n ARROW_ANY: number;\n }\n};\n\ndeclare const __aw_plugin_proxy;\ndeclare const cordova: any;\ndeclare const navigator: any;\ndeclare const device: any;\ndeclare const window: any;\ndeclare const Connection: any;\n\nconst callbackQueue: (() => any)[] = [];\nlet deviceReady: boolean = false;\n\nsetupDeviceInitializationForMobile();\n\nexport class AWProxy {\n\n static exec(successHandler: any, errorHandler: any, name: string, method: string, args: any[]): void {\n try {\n if (AWProxy.isDesktopEnv()) {\n AWProxy.execDesktop(successHandler, errorHandler, name, method, args);\n } else {\n AWProxy.execMobile(successHandler, errorHandler, name, method, args);\n }\n } catch (err) {\n console.error('No proxy objects defined - tried [cordova, __aw_plugin_proxy]', err);\n if (isFunction(errorHandler)) {\n errorHandler(err);\n }\n }\n }\n\n static accelerometer(): Accelerometer {\n const _accelerometer = typeof 'navigator' !== undefined ? navigator.accelerometer : new MockAccelerometer();\n return _accelerometer;\n }\n\n static camera(): CameraInterface {\n const _camera = typeof navigator !== 'undefined' ? navigator.camera : new MockCamera();\n return _camera;\n }\n\n static Camera(): any {\n const _Camera = (typeof Camera !== 'undefined') ? Camera : {\n DestinationType: {\n DATA_URL: null,\n FILE_URI: null,\n NATIVE_URI: null,\n },\n Direction: {\n BACK: null,\n FRONT: null,\n },\n EncodingType: {\n JPEG: null,\n PNG: null,\n },\n MediaType: {\n PICTURE: null,\n VIDEO: null,\n ALLMEDIA: null,\n },\n PictureSourceType: {\n PHOTOLIBRARY: null,\n CAMERA: null,\n SAVEDPHOTOALBUM: null,\n },\n // Used only on iOS\n PopoverArrowDirection: {\n ARROW_UP: null,\n ARROW_DOWN: null,\n ARROW_LEFT: null,\n ARROW_RIGHT: null,\n ARROW_ANY: null\n }\n };\n return _Camera;\n }\n\n static compass(): Compass {\n const _Compass = typeof navigator !== 'undefined' ? navigator.compass : new MockCompass();\n return _Compass;\n }\n\n static connection(): ConnectionInterface {\n const _connection = typeof navigator !== 'undefined' ? navigator.connection : new MockConnection();\n return _connection;\n }\n\n static Connection(): any {\n const _Connection = (typeof Connection !== 'undefined') ? Connection : {\n UNKNOWN: null,\n ETHERNET: null,\n WIFI: null,\n CELL_2G: null,\n CELL_3G: null,\n CELL_4G: null,\n CELL: null,\n NONE: null\n };\n return _Connection;\n }\n\n static contacts(): Contacts {\n const _contacts = typeof navigator !== 'undefined' ? navigator.contacts : new MockContacts();\n return _contacts;\n }\n\n static device(): Device {\n const _device: Device = (typeof device !== 'undefined') ? device : {\n cordova: null,\n available: true,\n model: null,\n platform: null,\n uuid: null,\n version: null,\n manufacturer: null,\n isVirtual: null,\n serial: null,\n capture: null\n };\n\n if (typeof navigator !== 'undefined' && navigator.device && navigator.device.capture) {\n _device.capture = navigator.device.capture;\n } else {\n _device.capture = new MockCapture();\n }\n return _device;\n }\n\n static document(): any {\n const _document = (typeof document !== 'undefined') ? document : {\n addEventListener: noop\n };\n return _document;\n }\n\n static file(): any {\n if (typeof cordova !== 'undefined') {\n return cordova.file;\n } else {\n return {\n documentsDirectory: ''\n };\n }\n }\n\n static filetransfer(): FileTransferInterface {\n return AWProxy.doGetFileTransfer();\n }\n\n // alias name\n static fileTransfer(): FileTransferInterface {\n return AWProxy.doGetFileTransfer();\n }\n\n static doGetFileTransfer(): FileTransferInterface {\n if (AWProxy.isDesktopEnv()) {\n const plugin = AWProxy.getDesktopPlugin('AWFileTransfer');\n return (plugin !== null) ? plugin : new MockFileTransfer();\n }\n return (typeof FileTransfer !== 'undefined') ? new FileTransfer() : new MockFileTransfer();\n }\n\n static geolocation(): Geolocation {\n const _geolocation = (typeof navigator !== 'undefined') ? navigator.geolocation : new MockGeolocation();\n return _geolocation;\n }\n\n static localFileSystem(): any {\n return LocalFileSystem;\n }\n\n static media(src, successHandler, errorHandler, statusChangeHandler): MediaInterface {\n if (typeof Media !== 'undefined') {\n return new Media(src, successHandler, errorHandler, statusChangeHandler);\n } else {\n return new MockMedia(src, successHandler, errorHandler, statusChangeHandler);\n }\n }\n\n static notification(): Notification {\n const _notification = (typeof navigator !== 'undefined') ? navigator.notification : new MockNotification();\n return _notification;\n }\n\n static requestFileSystem(type: LocalFileSystem,\n size: number,\n successCallback: (fileSystem: FileSystem) => void,\n errorCallback?: (fileError: FileError) => void): void {\n if (window.requestFileSystem) {\n return window.requestFileSystem(type, size, successCallback, errorCallback);\n }\n }\n\n static vibrate(time: number): void {\n if (typeof navigator !== 'undefined' && navigator.vibrate) {\n const _vibrate = navigator.vibrate(time);\n return _vibrate;\n } else {\n return new MockVibrate().vibrate(time);\n }\n }\n\n static webview(): any {\n if (typeof cordova !== 'undefined') {\n return (cordova as any).InAppBrowser;\n } else {\n return new DesktopWebview();\n }\n }\n\n static storage(): Storage {\n return new AWStorage(AWProxy.isMobileEnv());\n }\n\n static persistentStorage(): PersistentStorage {\n const desktopPlugin = AWProxy.getDesktopPlugin('AWStorage');\n return desktopPlugin !== null ?\n new DesktopStorage(desktopPlugin) : (AWProxy.isMobileEnv()) ?\n new OnDeviceStorage() : new PersistentStorageMock();\n }\n\n static isDesktopEnv(): boolean {\n return typeof __aw_plugin_proxy !== 'undefined';\n }\n\n static isMobileEnv(): boolean {\n return typeof cordova !== 'undefined';\n }\n\n static getDesktopPlugin(pluginName: string): any {\n if (!AWProxy.isDesktopEnv()) return null;\n // the proxy exposed by desktop has a method to allow retrieval of plugin instances\n return __aw_plugin_proxy.getPlugin(pluginName);\n }\n\n private static execMobile(successHandler: any, errorHandler: any, name: string, method: string, args: any[]) {\n if (deviceReady) {\n cordova.exec(successHandler, errorHandler, name, method, args);\n } else {\n callbackQueue.push(() => {\n AWProxy.exec(successHandler, errorHandler, name, method, args);\n });\n }\n }\n\n private static execDesktop(successHandler: any, errorHandler: any, name: string, method: string, args: any[]) {\n __aw_plugin_proxy.exec(successHandler, errorHandler, name, method, args);\n }\n}\n\nfunction setupDeviceInitializationForMobile() {\n try {\n document.addEventListener('deviceready', () => {\n deviceReady = true;\n callbackQueue.forEach((callback) => {\n callback();\n });\n });\n } catch (e) {\n // unsupported environment\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAccelerometer extends AWPlugin {\n getCurrentAcceleration() {\n return AWProxy.accelerometer().getCurrentAcceleration(\n (() => this.successHandler)(),\n (() => this.errorHandler)()\n );\n }\n\n watchAcceleration(options?: any): any {\n return AWProxy.accelerometer().watchAcceleration(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n clearWatch(watchId: number) {\n return AWProxy.accelerometer().clearWatch(watchId);\n }\n}\n\n\n\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAnonymous extends AWPlugin {\n isAnonymousMode(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAnonymous',\n 'isAnonymousMode',\n []\n );\n }\n\n getAnonymousUrl(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAnonymous',\n 'getAnonymousUrl',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAppManager extends AWPlugin {\n closeActiveApp() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'closeActiveApp',\n []\n );\n }\n getAppName() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'getAppName',\n []\n );\n }\n getAppVersion(success, error) {\n AWProxy.exec(\n success,\n error,\n 'AWAppManager',\n 'getAppVersion',\n []\n );\n }\n isFirstRun(success, error) {\n AWProxy.exec(\n success,\n error,\n 'AWAppManager',\n 'isFirstRun',\n []\n );\n }\n setAppHasRun(success, error) {\n AWProxy.exec(\n success,\n error,\n 'AWAppManager',\n 'setAppHasRun',\n []\n );\n }\n /* Deprecated, will be removed in the next version */\n resetShouldClearCache() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'resetShouldClearCache',\n []\n );\n }\n /* Deprecated, will be removed in the next version */\n shouldClearCache(success) {\n AWProxy.exec(\n success,\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'shouldClearCache',\n []\n );\n }\n}\n\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAuth extends AWPlugin {\n authenticate(force?: boolean) {\n force = !!force;\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAuth',\n 'authenticate',\n [force.toString()]\n );\n }\n\n /**\n * Marked for depreciation\n * Use authenticate(boolean?), which will get the auth object if the session is valid, else it will refresh the auth object and return that.\n */\n getAuthResponse() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAuth',\n 'authobject',\n []\n );\n }\n\n gateway(successHandler: any, errorHandler?: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAuth',\n 'gateway',\n []\n );\n }\n\n online(successHandler: any, errorHandler?: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAuth',\n 'online',\n []\n );\n }\n\n otdsssoticket(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAuth',\n 'otdsssoticket',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {AWCalendarInterface, CalendarArgs, CalendarCreateOptions, CalendarOptions} from './index';\n\nexport class AWCalendar extends AWPlugin implements AWCalendarInterface {\n\n constructor() {\n super(noop, noop);\n }\n\n static getCalendarOptions(): CalendarOptions {\n return {\n firstReminderMinutes: 60,\n secondReminderMinutes: null,\n recurrence: null, // options are: 'daily', 'weekly', 'monthly', 'yearly'\n recurrenceInterval: 1, // only used when recurrence is set\n recurrenceWeekstart: 'MO',\n recurrenceByDay: null,\n recurrenceByMonthDay: null,\n recurrenceEndDate: null,\n recurrenceCount: null,\n calendarName: null,\n calendarId: null,\n url: null\n };\n }\n\n hasReadPermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'hasReadPermission',\n []\n );\n });\n }\n\n requestReadPermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'requestReadPermission',\n []\n );\n });\n }\n\n hasWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'hasWritePermission',\n []\n );\n });\n }\n\n requestWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'requestWritePermission',\n []\n );\n });\n }\n\n hasReadWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'hasReadWritePermission',\n []\n );\n });\n }\n\n requestReadWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'requestReadWritePermission',\n []\n );\n });\n }\n\n createCalendar(options: CalendarCreateOptions = {\n calendarName: null,\n calendarColor: null\n }, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'createCalendar',\n [options]\n );\n });\n }\n\n deleteCalendar(calendarName: string, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'deleteCalendar',\n [{calendarName: calendarName} as CalendarArgs]\n );\n });\n }\n\n openCalendar(date: Date, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'openCalendar',\n [{date: date.getTime()} as CalendarArgs]\n );\n });\n }\n\n createEventWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'createEventWithOptions',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n options: options\n } as CalendarArgs]\n );\n });\n }\n\n createEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.createEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n createEventInteractivelyWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'createEventInteractively',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n options: options\n } as CalendarArgs]\n );\n });\n }\n\n createEventInteractively(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.createEventInteractivelyWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n findEventWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'findEventWithOptions',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n options: options\n } as CalendarArgs]\n );\n });\n }\n\n findEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.findEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n findAllEventsInNamedCalendar(calendarName: string, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'findAllEventsInNamedCalendar',\n [{calendarName: calendarName} as CalendarArgs]\n );\n });\n }\n\n deleteEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'deleteEvent',\n [{\n title: title,\n location: location,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n } as CalendarArgs]\n );\n });\n }\n\n deleteEventFromNamedCalendar(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n calendarName: string,\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'deleteEventFromNamedCalendar',\n [{\n title: title,\n location: location,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n calendarName: calendarName\n } as CalendarArgs]\n );\n });\n }\n\n modifyEventWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n newTitle: string,\n newLocation: string,\n newNotes: string,\n newStartDate: Date,\n newEndDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n newOptions: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'modifyEventWithOptions',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n newTitle: newTitle,\n newLocation: newLocation,\n newNotes: newNotes,\n newStartTime: newStartDate.getTime(),\n newEndDate: newEndDate.getTime(),\n options: options,\n newOptions: newOptions\n } as CalendarArgs]\n );\n });\n }\n\n modifyEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n newTitle: string,\n newLocation: string,\n newNotes: string,\n newStartDate: Date,\n newEndDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.modifyEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n newTitle,\n newLocation,\n newNotes,\n newStartDate,\n newEndDate,\n AWCalendar.getCalendarOptions(),\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n modifyEventInNamedCalendar(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n newTitle: string,\n newLocation: string,\n newNotes: string,\n newStartDate: Date,\n newEndDate: Date,\n calendarName: string,\n successHandler?: any,\n errorHandler?: any) {\n\n const options = AWCalendar.getCalendarOptions();\n options.calendarName = calendarName;\n\n return this.modifyEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n newTitle,\n newLocation,\n newNotes,\n newStartDate,\n newEndDate,\n options,\n successHandler,\n errorHandler\n );\n }\n\n listCalendars(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'listCalendars',\n []\n );\n });\n }\n\n listEventsInRange(startDate: Date, endDate: Date, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'listEventsInRange',\n [{\n startTime: startDate.getTime(),\n endTime: endDate.getTime()\n } as CalendarArgs]\n );\n });\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {CameraOptions} from './index';\n\nexport class AWCamera extends AWPlugin {\n cleanup(onSuccess: () => void,\n onError: (message: string) => void) {\n return AWProxy.camera().cleanup(onSuccess, onError);\n }\n\n getPicture(cameraSuccess: (data: string) => void,\n cameraError: (message: string) => void,\n cameraOptions?: CameraOptions) {\n return AWProxy.camera().getPicture(cameraSuccess, cameraError, cameraOptions);\n }\n\n openGallery(options?: any) {\n options = options || {\n destinationType: AWProxy.Camera().DestinationType.FILE_URI\n };\n options.sourceType = AWProxy.Camera().PictureSourceType.PHOTOLIBRARY;\n return this.getPicture((() => this.successHandler)(), (() => this.errorHandler)(), options);\n }\n\n takePicture(options?: any) {\n options = options || {\n destinationType: AWProxy.Camera().DestinationType.FILE_URI,\n encodingType: AWProxy.Camera().EncodingType.JPEG,\n mediaType: AWProxy.Camera().MediaType.ALLMEDIA,\n correctOrientation: true,\n saveToPhotoAlbum: true\n };\n options.sourceType = AWProxy.Camera().PictureSourceType.CAMERA;\n return this.getPicture((() => this.successHandler)(), (() => this.errorHandler)(), options);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWComponent extends AWPlugin {\n open(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'open',\n args || []\n );\n }\n\n list(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'list',\n args || []\n );\n }\n\n check(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'check',\n args || []\n );\n }\n\n close(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'close',\n args || []\n );\n }\n\n registerAppClose(successHandler: any) {\n AWProxy.exec(\n successHandler,\n (() => this.errorHandler)(),\n 'AWComponent',\n 'registerAppClose',\n []\n );\n }\n\n closeApp() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWComponent',\n 'closeApp',\n []\n );\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWContacts extends AWPlugin {\n\n create(contact: any): any {\n return AWProxy.contacts().create(contact);\n }\n\n find(fields: any, options?: any) {\n return AWProxy.contacts().find(\n fields,\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n pickContact() {\n return AWProxy.contacts().pickContact((() => this.successHandler)(), (() => this.errorHandler)());\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWCompass extends AWPlugin {\n getCurrentHeading() {\n return AWProxy.compass().getCurrentHeading(\n (() => this.successHandler)(),\n (() => this.errorHandler)()\n );\n }\n\n watchHeading(options?: any) {\n return AWProxy.compass().watchHeading(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n clearWatch(watchId: number) {\n return AWProxy.compass().clearWatch(watchId);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {Capture} from '../media-transfer/index';\n\nexport class AWDevice extends AWPlugin {\n\n public cordova: any;\n public model: any;\n public platform: any;\n public uuid: any;\n public version: any;\n public manufacturer: any;\n public capture: Capture;\n\n constructor() {\n super(() => {\n }, () => {\n });\n this.cordova = AWProxy.device().cordova;\n this.model = AWProxy.device().model;\n this.platform = AWProxy.device().platform;\n this.uuid = AWProxy.device().uuid;\n this.version = AWProxy.device().version;\n this.manufacturer = AWProxy.device().manufacturer;\n this.capture = AWProxy.device().capture;\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Scanner extends AWPlugin {\n scanDocument(returnType: Number, successHandler: Function, errorHandler: Function) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWScanner',\n 'scanDocument',\n [returnType]\n );\n }\n}\n\nexport class AWScanner extends Scanner {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {FileTransferInterface} from './index';\n\nexport class AWFileTransfer extends AWPlugin {\n\n public onprogress: any;\n private fileTransfer: FileTransferInterface;\n\n constructor(successHandler: any, errorHandler?: any) {\n super(successHandler, errorHandler);\n this.fileTransfer = AWProxy.filetransfer();\n this.onprogress = null;\n }\n\n abort() {\n this.fileTransfer.abort();\n }\n\n download(url: string, target: string, options?: any, shared?: boolean) {\n\n let successHandler = this.successHandler,\n errorHandler = this.errorHandler;\n\n options = options || {};\n\n if (shared && !AWProxy.isDesktopEnv()) {\n AWProxy.exec(\n gotSharedContainerUrl,\n (() => this.errorHandler)(),\n 'AWSharedDocumentProvider',\n 'containerForCurrentApp',\n []\n );\n } else {\n this.fileTransfer.download(\n encodeURI(url),\n this.toEnvFilePath(target),\n successHandler,\n errorHandler,\n false,\n options\n );\n }\n return this.fileTransfer;\n\n function gotSharedContainerUrl(containerUrl?: string) {\n AWProxy.filetransfer().download(\n encodeURI(url),\n containerUrl + '/' + target,\n successHandler,\n errorHandler,\n false,\n options\n );\n }\n }\n\n progressHandler(handler: any) {\n this.fileTransfer.onprogress = handler;\n }\n\n upload(source, url, options, shared) {\n\n let successHandler = this.successHandler,\n errorHandler = this.errorHandler;\n\n options = options || {};\n\n if (shared && !AWProxy.isDesktopEnv()) {\n AWProxy.exec(\n gotSharedContainerUrl,\n (() => this.errorHandler)(),\n 'AWSharedDocumentProvider',\n 'containerForCurrentApp',\n []\n );\n } else {\n this.fileTransfer.upload(\n this.toEnvFilePath(source),\n encodeURI(url),\n successHandler,\n errorHandler,\n options,\n false\n );\n }\n\n return this.fileTransfer;\n\n function gotSharedContainerUrl(containerUrl?: string) {\n AWProxy.filetransfer().upload(\n // valid use of slash here as shared container is a mobile only concept\n containerUrl + '/' + source,\n encodeURI(url),\n successHandler,\n errorHandler,\n options,\n false\n );\n }\n }\n\n toEnvFilePath(fileUrl: string): string {\n // use a path relative to the Cordova defined sandbox in a mobile environment\n return AWProxy.isDesktopEnv() ? fileUrl : AWProxy.file().documentsDirectory + '/' + fileUrl;\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWFileChooser extends AWPlugin {\n selectAndUpload(action: string) {\n let args = [action];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFileChooser',\n 'open',\n args\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {DesktopHostFileSystem, FileDetails, FileDialogOptions, SaveDialogOptions} from './index';\n\nexport class AWFileSystem extends AWPlugin implements DesktopHostFileSystem {\n\n desktopEnvError: Error = new Error('This method is only available in the AppWorks Desktop environment');\n\n constructor() {\n super(noop, noop);\n }\n\n getPath(name: string,\n successCallback: (result: string) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'getPath',\n [name]\n );\n }\n\n exists(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'exists',\n [path]\n );\n }\n\n isDir(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'isDir',\n [path]\n );\n }\n\n isOpen(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'isOpen',\n [path]\n );\n }\n\n setReadOnly(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'setReadOnly',\n [path]\n );\n }\n\n createFile(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void,\n data?: any,\n append?: boolean): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'createFile',\n [path, data, append]\n );\n }\n\n readFile(path: string,\n successCallback: (result: any) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'readFile',\n [path]\n );\n }\n\n createDirectory(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'createDirectory',\n [path]\n );\n }\n\n copy(from: string, to: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'copy',\n [from, to]\n );\n }\n\n open(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'open',\n [path]\n );\n }\n\n reveal(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'reveal',\n [path]\n );\n }\n\n updateLastModifiedDate(path: string,\n date: Date,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void ): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'updateLastModifiedDate',\n [path, date]\n );\n }\n\n getDetails(path: string,\n successCallback: (result: FileDetails) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'getDetails',\n [path]\n );\n }\n\n listDirContents(path: string,\n successCallback: (result: FileDetails[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'listDirContents',\n [path]\n );\n }\n\n showSaveDialog(opts: SaveDialogOptions,\n successCallback: (result: string) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'showSaveDialog',\n [opts]\n );\n }\n\n showDirSelector(opts: FileDialogOptions,\n successCallback: (result: string[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'showDirSelector',\n [opts]\n );\n }\n\n showFileSelector(opts: FileDialogOptions,\n successCallback: (result: string[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'showFileSelector',\n [opts]\n );\n }\n\n onFileOpen(openFileCallback: (filePath: string) => void,\n successCallback: (result: string[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'onFileOpen',\n [openFileCallback]\n );\n }\n\n remove(path: string,\n successCallback: (result: FileDetails) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'remove',\n [path]\n );\n }\n\n /**\n * The methods of this class should only be called from within an AppWorks desktop\n * environment.\n */\n validateEnv(): void {\n if (!AWProxy.isDesktopEnv()) {\n throw this.desktopEnvError;\n }\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWFinder extends AWPlugin {\n open(path: string, filename: string) {\n let args = [path, filename];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'open',\n args\n );\n }\n\n openIn(filename: string) {\n return this.openDirect(filename);\n }\n\n list(path: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'list',\n [path]\n );\n }\n\n share(filename: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'share',\n [filename]\n );\n }\n\n private openDirect(filename: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'openDirect',\n [filename]\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWGlobalization extends AWPlugin {\n constructor() {\n super(noop, noop);\n }\n\n getPreferredLanguage(successFn: Function, errorFn?: Function) {\n AWProxy.exec(\n successFn,\n errorFn,\n 'AWGlobalization',\n 'getPreferredLanguage',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWHeaderBar extends AWPlugin {\n\n static readonly ButtonName = {LeftOne: 0, LeftTwo: 1, RightOne: 2, RightTwo: 3};\n static readonly ButtonImage = {\n Hamburger: 0,\n Back: 1,\n Settings: 2,\n Appmenu: 3,\n None: 5,\n Dots: 6,\n Search: 7,\n AppmenuHighlight: 8,\n Close: 9,\n DismissAll: 10,\n Edit: 11\n };\n\n /**\n * @deprecated\n * @type {{LeftOne: number; LeftTwo: number; RightOne: number; RightTwo: number}}\n */\n ButtonName = {LeftOne: 0, LeftTwo: 1, RightOne: 2, RightTwo: 3};\n /**\n * @deprecated\n * @type {{Hamburger: number; Back: number; Settings: number; Appmenu: number; None: number; Dots: number; Search: number, AppmenuHighlight: number, Close: number, DismissAll: number, Edit: number}}\n */\n ButtonImage = {\n Hamburger: 0,\n Back: 1,\n Settings: 2,\n Appmenu: 3,\n None: 5,\n Dots: 6,\n Search: 7,\n AppmenuHighlight: 8,\n Close: 9,\n DismissAll: 10,\n Edit: 11\n };\n\n private callback: any;\n\n setHeader(config: any) {\n if (config && config.callback) {\n this.callback = config.callback;\n config.callback = true;\n } else {\n this.callback = null;\n }\n AWProxy.exec(\n (() => this.callback)(),\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'setHeader',\n [config]\n );\n }\n\n getHeader() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'getHeader',\n []\n );\n }\n\n setHeaderButtons(callback: Function, config: any) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'setHeaderButtons',\n [config]\n );\n }\n\n maskHeader(shouldMaskHeader: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'maskHeader',\n [shouldMaskHeader]\n );\n }\n}\n\n// alias\nexport class AWHeader extends AWHeaderBar {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWKeyboard extends AWPlugin {\n constructor() {\n super(noop, noop);\n }\n\n hideKeyboardAccessoryBar(hide: boolean) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'hideKeyboardAccessoryBar',\n [hide.toString()]\n );\n }\n\n close() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'close',\n []\n );\n }\n\n show() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'show',\n []\n );\n }\n\n disableScroll(disable: boolean) {\n disable = !!disable;\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'disableScroll',\n [disable.toString()]\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWLauncher extends AWPlugin {\n\n constructor(successHandler?: any, errorHandler?: any) {\n super(successHandler || noop, errorHandler || noop);\n }\n\n getLaunchData(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWLauncher',\n 'getLaunchData',\n []\n );\n }\n\n getLaunchURL(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWLauncher',\n 'getLaunchURL',\n []\n );\n }\n\n clearLaunchData() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'clearLaunchData',\n []\n );\n }\n\n clearLaunchURL() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'clearLaunchURL',\n []\n );\n }\n registerListener(successHandler: any) {\n AWProxy.exec(\n successHandler,\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'registerListener',\n []\n );\n }\n getCustomScheme(successHandler: any) {\n AWProxy.exec(\n successHandler,\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'getCustomScheme',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWLocation extends AWPlugin {\n getCurrentPosition(options?: any) {\n return AWProxy.geolocation().getCurrentPosition(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n watchPosition(options?: any) {\n return AWProxy.geolocation().watchPosition(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n clearWatch(watchId: number) {\n AWProxy.geolocation().clearWatch(watchId);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {Capture} from './index';\n\nexport class AWMediaCapture extends AWPlugin implements Capture {\n\n supportedAudioModes: any;\n supportedImageModes: any;\n supportedVideoModes: any;\n\n constructor(successHandler: any, errorHandler?: any) {\n super(successHandler, errorHandler);\n this.supportedAudioModes = AWProxy.device().capture.supportedAudioModes;\n this.supportedImageModes = AWProxy.device().capture.supportedImageModes;\n this.supportedVideoModes = AWProxy.device().capture.supportedVideoModes;\n }\n\n captureAudio(options?: any) {\n AWProxy.device().capture.captureAudio(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n captureImage(options?: any) {\n AWProxy.device().capture.captureImage(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n captureVideo(options?: any) {\n AWProxy.device().capture.captureVideo(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWMedia extends AWPlugin {\n\n media: any;\n src: string;\n position: any;\n duration: number;\n\n constructor(src: string, successHandler: any, errorHandler?: any, statusChangeHandler?: any) {\n super(successHandler, errorHandler);\n this.media = AWProxy.media(src, successHandler, errorHandler, statusChangeHandler);\n this.src = src;\n this.position = this.media.position;\n this.duration = this.media.duration;\n }\n\n getCurrentPosition(successHandler: any, errorHandler?: any) {\n return this.media.getCurrentPosition(successHandler, errorHandler);\n }\n\n getDuration() {\n return this.media.getDuration();\n }\n\n pause() {\n return this.media.pause();\n }\n\n play() {\n return this.media.play();\n }\n\n release() {\n return this.media.release();\n }\n\n seekTo(value: number) {\n return this.media.seekTo(value);\n }\n\n setVolume(value: number) {\n return this.media.setVolume(value);\n }\n\n startRecord() {\n return this.media.startRecord();\n }\n\n stop() {\n return this.media.stop();\n }\n\n stopRecord() {\n return this.media.stopRecord();\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {MenuSection} from './index';\n\nexport class AWMenu extends AWPlugin {\n push(items: any) {\n let args = [items];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWMenu',\n 'push',\n args\n );\n }\n\n setMenu(menuSections: MenuSection[]) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n resolve,\n reject,\n 'AWMenu',\n 'setMenu',\n [menuSections]\n );\n });\n }\n\n didOpenMenuItem(callback: any) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWMenu',\n 'receive',\n []\n );\n }\n\n openListener(listener: any) {\n AWProxy.exec(\n listener,\n (() => this.errorHandler)(),\n 'AWMenu',\n 'receive',\n []\n );\n }\n\n showMenu(shouldShowMenu: boolean) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWMenu',\n 'showMenu',\n [shouldShowMenu]\n );\n }\n\n didTapMenuItem(listener: any) {\n return this.openListener(listener);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWMobileFileSystem extends AWPlugin {\n // File listing\n list(directory: string, shared: boolean, success: any, error: any) {\n let args = [directory, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'list',\n args\n );\n }\n\n // Imports\n listImports(success: any, error: any) {\n let args = [];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'listImports',\n args\n );\n }\n\n moveImport(source: string, destination: string, desintationShared: boolean, success: any, error: any) {\n let args = [source, destination, desintationShared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'moveImport',\n args\n );\n }\n\n // File IO\n exists(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'exists',\n args\n );\n }\n\n isOpen(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'isOpen',\n args\n );\n }\n\n rename(source: string, destination: string, shared: boolean, success: any, error: any) {\n let args = [source, destination, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'rename',\n args\n );\n }\n\n copy(source: string, sourceShared: boolean, destination: string, destinationShared: boolean, success: any, error: any) {\n let args = [source, sourceShared, destination, destinationShared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'copy',\n args\n );\n }\n\n move(source: string, sourceShared: boolean, destination: string, destinationShared: boolean, success: any, error: any) {\n let args = [source, sourceShared, destination, destinationShared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'move',\n args\n );\n }\n\n remove(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'remove',\n args\n );\n }\n\n removeDirectory(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'removeDirectory',\n args\n );\n }\n\n readFile(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'read',\n args\n );\n }\n\n // File sharing\n open(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'open',\n args\n );\n }\n\n edit(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'edit',\n args\n );\n }\n\n share(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'share',\n args\n );\n }\n\n quicklook(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'quicklook',\n args\n );\n }\n\n // File transfer\n download(source: string, destination: string, headers: any, shared: boolean, success: any, error: any) {\n let args = [source, destination, headers, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'download',\n args\n );\n }\n\n upload(source: string, destination: string, fileParameterName: string, formData: any, headers: any, shared: boolean, success: any, error: any) {\n let args = [source, destination, fileParameterName, formData, headers, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'upload',\n args\n );\n }\n}\n","import { AWPlugin } from \"../../common/plugin\";\nimport { AWProxy } from \"../../common/proxy\";\nimport { noop } from \"../../common/util\";\n\nexport class AWNotificationManager extends AWPlugin {\n\n constructor() {\n super(noop, noop);\n }\n\n createClientNotification(identifier: string, title: string, subtitle: string, seconds: string, success: any, error: any) {\n AWProxy.exec(\n success,\n error,\n 'AWNotificationManager',\n 'createClientNotification',\n [identifier, title, subtitle, seconds]\n );\n }\n\n didTapNotificationFromActivityView(handler: any, errorHandler: any, includeSeqNo: boolean) {\n this.openListener(handler, errorHandler, includeSeqNo);\n }\n\n disablePushNotifications() {\n AWProxy.exec(\n null,\n null,\n \"AWNotificationManager\",\n \"disablePushNotifications\",\n []\n );\n }\n\n enablePushNotifications(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"enablePushNotifications\",\n AWProxy.isDesktopEnv() ? [handler, includeSeqNo] : [includeSeqNo]\n );\n }\n\n getNotifications(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"getPushNotifications\",\n [includeSeqNo]\n );\n }\n\n getOpeningNotification(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"getOpeningNotification\",\n [includeSeqNo]\n );\n }\n\n notificationDidLaunchApp(handler: any, errorHandler: any, includeSeqNo: boolean) {\n this.getOpeningNotification(handler, errorHandler, includeSeqNo);\n }\n\n openListener(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"openListener\",\n AWProxy.isDesktopEnv() ? [handler, includeSeqNo] : [includeSeqNo]\n );\n }\n\n\n registerForTopic(topicName: string) {\n AWProxy.exec(\n null,\n null,\n \"AWNotificationManager\",\n \"registerForTopic\",\n [topicName]\n );\n }\n\n removeAllClientNotifications(success: any, error: any) {\n AWProxy.exec(\n success,\n error,\n 'AWNotificationManager',\n 'removeAllClientNotifications',\n []\n );\n }\n\n removeClientNotification(identifier: string, success: any, error: any) {\n AWProxy.exec(\n success,\n error,\n 'AWNotificationManager',\n 'removeClientNotification',\n [identifier]\n );\n }\n\n removeNotification(seqNo: string, handler: any, errorHandler?: any) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"removeNotification\",\n [seqNo]\n );\n }\n\n unregisterFromTopic(topicName: string) {\n AWProxy.exec(\n null,\n null,\n \"AWNotificationManager\",\n \"unregisterFromTopic\",\n [topicName]\n );\n }\n\n alert(message: string, alertCallback: any, title?: string, buttonName?: string) {\n AWProxy.notification().alert(message, alertCallback, title, buttonName);\n }\n\n beep(times: number) {\n AWProxy.notification().beep(times);\n }\n\n confirm(message: string, confirmCallback: any, title?: string, buttonLabels?: string[]) {\n AWProxy.notification().confirm(message, confirmCallback, title, buttonLabels);\n }\n\n prompt(message: string, promptCallback: any, title?: string, buttonLabels?: string[], defaultText?: string) {\n AWProxy.notification().prompt(message, promptCallback, title, buttonLabels, defaultText);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWCache extends AWPlugin {\n\n private options: any;\n private excludedKeys: string[] = [];\n\n constructor(options?: any) {\n super(noop, noop);\n this.options = options || {usePersistentStorage: false};\n console.log(\"AWCache instantiate, don't forget to call preloadCache().then(function(){}, function(err){})\");\n }\n\n setExcludedKeys(_excludedKeys: string[]) {\n this.excludedKeys = _excludedKeys;\n }\n\n setItem(key: string, value: any): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.storage().setItem(key, value);\n if (this.usePersistentStorage()) {\n AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys)\n .then(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n\n getItem(key: string): any {\n let item = AWProxy.storage().getItem(key);\n return (typeof item === 'undefined' ? '' : item);\n }\n\n removeItem(key: string): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.storage().removeItem(key);\n if (this.usePersistentStorage()) {\n AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys)\n .then(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n\n clear(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.storage().clear();\n if (this.usePersistentStorage()) {\n AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys)\n .then(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n\n preloadCache(): Promise {\n return new Promise((resolve, reject) => {\n if (this.usePersistentStorage()) {\n this.migrateCache(this.excludedKeys).then(() => {\n AWProxy.persistentStorage().loadPersistentData()\n .then(\n () => {\n console.log('AWCache: Successfully loaded persistent data into local storage');\n resolve();\n },\n err => {\n let error = `AWCache: Failed to load persistent data into local storage - ${err.toString()}`\n console.error(error);\n reject(error);\n }\n );\n }, reject);\n } else {\n resolve();\n }\n });\n }\n\n migrateCache(excludedKeys: string[]): Promise {\n return new Promise((resolve, reject) => {\n AWProxy\n .persistentStorage()\n .migrateCache(excludedKeys)\n .then(resolve);\n });\n }\n\n private usePersistentStorage(): boolean {\n return this.options.usePersistentStorage;\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {AWCache} from '../storage/cache';\n\nexport class AWOfflineManager extends AWPlugin {\n\n status: string;\n online: boolean;\n offline: boolean;\n cache: any;\n queue: any[];\n cacheKey: string;\n options: any;\n\n constructor(options?: any) {\n super(noop, noop);\n\n let document;\n this.cacheKey = '__appworksjs.deferredQueue';\n this.cache = new AWCache();\n this.options = options || {preserveEvents: false};\n\n document = AWProxy.document();\n // process deferred queue when network status changes\n document.addEventListener('online', () => {\n this.processDeferredQueue();\n });\n\n const queue = this.cache.getItem(this.cacheKey);\n if (queue) {\n this.queue = JSON.parse(queue);\n } else {\n this.queue = [];\n this.saveQueue();\n }\n // process the deferred queue upon object instantiation if we are currently online\n if (this.networkStatus().online) {\n this.processDeferredQueue();\n }\n }\n\n defer(eventName: string, args: any) {\n this.queue.push({\n event: eventName,\n args: JSON.stringify(args)\n });\n this.saveQueue();\n return (this.queue.length - 1);\n }\n\n cancel(id: number) {\n if (id > -1) {\n this.queue.splice(id, 1);\n this.saveQueue();\n }\n }\n\n networkStatus(): any {\n return {\n online: AWProxy.connection().type !== AWProxy.Connection().NONE,\n offline: AWProxy.connection().type === AWProxy.Connection().NONE,\n connection: AWProxy.connection()\n };\n }\n\n private saveQueue() {\n this.cache.setItem(this.cacheKey, JSON.stringify(this.queue));\n }\n\n private processDeferredQueue() {\n let self = this;\n\n setTimeout(function () {\n self.queue.forEach(function (deferred) {\n self.dispatchEvent(deferred);\n });\n if (!self.options.preserveEvents) {\n self.queue = [];\n self.saveQueue();\n }\n }, 5000);\n }\n\n private dispatchEvent(data?: any) {\n let event = new CustomEvent(data.event, {detail: data.args});\n document.dispatchEvent(event);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWPage extends AWPlugin {\n setPageUrl(url: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'setPageUrl',\n [url]\n );\n }\n\n openModalAppWebView(url: string, title: string, closeTitle: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'showModalAppWebView',\n [url, title, closeTitle]\n );\n }\n\n openModalExternalWebView(url: string, title: string, closeTitle: string, options?: object) {\n if (typeof options === 'undefined' || !options) {\n options = {};\n }\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'showModalExternalWebView',\n [url, title, closeTitle, options]\n );\n }\n\n setActionButtonCallback(callback: any, actionTitle: string) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWPage',\n 'setModalAppWebViewActionCallback',\n [actionTitle]\n );\n }\n\n closeModalAppWebView() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'closeModalAppWebView',\n []\n );\n }\n\n video(success: any, error: any, url: string) {\n AWProxy.exec(\n success,\n error,\n 'AWPage',\n 'video',\n [url]\n );\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Print extends AWPlugin {\n print(options?: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPrint',\n 'print',\n [options]\n );\n }\n\n getPrinters() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPrint',\n 'getPrinters',\n []\n );\n }\n\n printToPDF(options?: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPrint',\n 'printToPDF',\n [options]\n );\n }\n}\n\nexport class AWPrint extends Print {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class QRReader extends AWPlugin {\n scan() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWQRCodeReader',\n 'scan',\n []\n );\n }\n\n rename() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWQRCodeReader',\n 'rename',\n []\n );\n }\n\n barcode(multiple?: boolean, timeout?: number, finishTitle?: string, cancelTitle?: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWQRCodeReader',\n 'barcode',\n [multiple, timeout, finishTitle, cancelTitle]\n );\n }\n}\n\nexport class AWQRReader extends QRReader {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Realm extends AWPlugin {\n FIELD_OBJECT_NAME = 'name';\n FIELD_OBJECT_TYPE = 'type';\n FIELD_OBJECT_PRIMARYKEY = 'key';\n FIELD_OBJECT_INDEX = 'index';\n FIELD_OBJECT_RELATIONSHIP = 'relationship';\n\n OBJECT_DESCRIPTION_NAME = 'name';\n OBJECT_DESCRIPTION_TYPE = 'type';\n OBJECT_DESCRIPTION_FIELDS = 'fields';\n OBJECT_DESCRIPTION_KEY = 'key';\n OBJECT_DESCRIPTION_INDEX = 'index';\n\n FIELD_TYPE_STRING = 'STRING';\n FIELD_TYPE_INTEGER = 'INTEGER';\n FIELD_TYPE_BOOLEAN = 'BOOLEAN';\n FIELD_TYPE_LONG = 'LONG';\n FIELD_TYPE_SHORT = 'SHORT';\n FIELD_TYPE_DOUBLE = 'DOUBLE';\n FIELD_TYPE_FLOAT = 'FLOAT';\n FIELD_TYPE_BINARY = 'BINARY';\n FIELD_TYPE_BYTE = 'BYTE';\n FIELD_TYPE_OBJECT = 'OBJECT';\n FIELD_TYPE_LIST = 'LIST';\n FIELD_TYPE_DATE = 'DATE';\n\n QUERY_OBJECT_NAME = 'object';\n QUERY_TYPE = 'type';\n QUERY_FIELD = 'field';\n QUERY_SORT = 'sort';\n QUERY_SORT_ASC = 'asc';\n QUERY_SORT_DESC = 'desc';\n\n QUERY_VALUE = 'value';\n QUERY_VALUE_2 = 'value2';\n\n QUERY_TYPE_BEGIN_GROUP = 'beginGroup';\n QUERY_TYPE_END_GROUP = 'endGroup';\n QUERY_TYPE_AND = 'and';\n QUERY_TYPE_OR = 'or';\n\n QUERY_TYPE_EQUAL_TO = 'equalTo';\n QUERY_TYPE_NOT_EQUAL_TO = 'notEqualTo';\n QUERY_TYPE_BEGINS_WITH = 'beginsWith';\n QUERY_TYPE_ENDS_WITH = 'endsWith';\n QUERY_TYPE_CONTAINS = 'contains';\n QUERY_TYPE_BETWEEN = 'between';\n QUERY_TYPE_GREATER_THAN = 'greaterThan';\n QUERY_TYPE_GREATER_THAN_OR_EQUAL_TO = 'greaterThanOrEqualTo';\n QUERY_TYPE_LESS_THAN = 'lessThan';\n QUERY_TYPE_LESS_THAN_OR_EQUAL_TO = 'lessThanOrEqualTo';\n QUERY_TYPE_LIKE = 'like';\n QUERY_TYPE_IN = 'in';\n queryBuilder = {\n arr: [],\n subArray: [],\n inSubArray: false,\n addToArray: function (obj: object, isSubArray: boolean) {\n if (isSubArray) {\n this.subArray.push(obj);\n } else {\n this.arr.push(obj);\n }\n },\n equalTo: function (field: string, value: any) {\n let obj = {\n 'type': 'equalTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n notEqualTo: function (field: string, value: any) {\n let obj = {\n 'type': 'notEqualTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n beginsWith: function (field: string, value: any) {\n let obj = {\n 'type': 'beginsWith',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n endsWith: function (field: string, value: any) {\n let obj = {\n 'type': 'endsWith',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n contains: function (field: string, value: any) {\n let obj = {\n 'type': 'contains',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n between: function (field: string, value: any, value2: any) {\n let obj = {\n 'type': 'between',\n 'field': field,\n 'value': value,\n 'value2': value2\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n greaterThan: function (field: string, value: any) {\n let obj = {\n 'type': 'greaterThan',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n greaterThanOrEqualTo: function (field: string, value: any) {\n let obj = {\n 'type': 'greaterThanOrEqualTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n lessThan: function (field: string, value: any) {\n let obj = {\n 'type': 'lessThan',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n lessThanOrEqualTo: function (field: string, value: any) {\n let obj = {\n 'type': 'lessThanOrEqualTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n like: function (field: string, value: any) {\n let obj = {\n 'type': 'like',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n and: function () {\n let obj = {\n 'type': 'and'\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n or: function () {\n let obj = {\n 'type': 'or'\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n beginGroup: function () {\n this.subArray = [];\n this.inSubArray = true;\n return this;\n },\n endGroup: function () {\n this.arr.push(this.subArray);\n this.inSubArray = false;\n return this;\n },\n done: function () {\n let tempArray = this.arr;\n this.clear();\n return tempArray;\n },\n clear: function () {\n this.inSubArray = false;\n this.subArray = [];\n this.arr = [];\n }\n };\n\n startRealm(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'start_realm',\n []\n );\n }\n\n getAllObjectNames(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'get_all_object_names',\n []\n );\n }\n\n objectExists(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'object_exists',\n [objectName]\n );\n }\n\n createObject(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'create_object',\n [objectName]\n );\n }\n\n addField(objectName: string, field: object, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'add_field',\n [objectName, field]\n );\n }\n\n addFields(objectName: string, field: Array, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'add_fields',\n [objectName, field]\n );\n }\n\n describeObject(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'describe_object',\n [objectName]\n );\n }\n\n objectHasField(objectName: string, fieldName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'object_has_field',\n [objectName, fieldName]\n );\n }\n\n getFieldType(objectName: string, fieldName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'get_field_type',\n [objectName, fieldName]\n );\n }\n\n insert(objectName: string, dataObject: object, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'insert',\n [objectName, dataObject]\n );\n }\n\n update(objectName: string, dataObject: object, queryArray: Array, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'update',\n [objectName, dataObject, queryArray]\n );\n }\n\n select(objectName: string, queryArray: Array, sort: object, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'select',\n [objectName, queryArray, sort]\n );\n }\n\n remove(objectName: string, queryArray: Array, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'remove',\n [objectName, queryArray]\n );\n }\n\n removeAll(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'remove_all',\n [objectName]\n );\n }\n}\n\nexport class AWRealm extends Realm {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class SecureStorage extends AWPlugin {\n\n static idCounter = 0;\n seqNo: number;\n onprogress: any;\n\n constructor(successHandler: any, errorHandler?: any) {\n super(successHandler, errorHandler);\n this.seqNo = ++SecureStorage.idCounter;\n this.onprogress = null;\n }\n\n store(url: string, target: string, options?: any, encodeUri = true) {\n let args = [encodeUri ? encodeURI(url) : url, target, false, this.seqNo, options && options.headers],\n completionHandler = () => this.successHandler,\n progressHandler = this.onprogress,\n progress;\n\n function newProgressEvent(result: any) {\n let pe = new ProgressEvent(null);\n (pe as any).lengthComputable = result.lengthComputable;\n (pe as any).loaded = result.loaded;\n (pe as any).total = result.total;\n return pe;\n }\n\n progress = function (result) {\n if (typeof result.lengthComputable !== 'undefined') {\n if (progressHandler) {\n progressHandler(newProgressEvent(result));\n }\n } else {\n if (completionHandler) {\n completionHandler()(result);\n }\n }\n };\n AWProxy.exec(\n progress,\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'store',\n args\n );\n }\n\n retrieve(filename: string, options?: any) {\n let args = [filename, options];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'retrieve',\n args\n );\n }\n\n remove(target: string) {\n let args = [target];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'removeFile',\n args\n );\n }\n\n fileExistsAtPath(target: string) {\n let args = [target];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'fileExistsAtPath',\n args\n );\n }\n}\n\nexport class AWSecureStorage extends SecureStorage {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Shake extends AWPlugin {\n enableShake(callback: any) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWShake',\n 'enableShake',\n []\n );\n }\n\n disableShake(callback: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWShake',\n 'disableShake',\n []\n );\n }\n}\n\nexport class AWShake extends Shake {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWVibration extends AWPlugin {\n\n constructor() {\n super(noop, noop);\n }\n\n vibrate(time: number) {\n return AWProxy.vibrate(time);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {InAppBrowser, InAppBrowserEvent} from './index';\n\nexport class AWWebView extends AWPlugin {\n\n constructor() {\n super(noop, noop);\n }\n\n open(url: string, target?: string, options?: any): InAppBrowser {\n return AWProxy.webview().open(url, target, options);\n }\n\n addEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.webview().addEventListener(type, callback);\n }\n\n removeEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.webview().removeEventListener(type, callback);\n }\n\n show(): void {\n AWProxy.webview().show();\n }\n\n close(): void {\n AWProxy.webview().close();\n }\n\n executeScript(script: string, callback: (result: any) => void): void {\n AWProxy.webview().executeScript(script, callback);\n }\n\n insertCSS(script: string, callback: (result: any) => void): void {\n AWProxy.webview().insertCSS(script, callback);\n }\n}\n","import {AWAccelerometer as _AWAccelerometer} from './plugins/accelerometer/accelerometer';\nimport {AWAnonymous as _AWAnonymous} from './plugins/anonymous/anonymous';\nimport {AWAppManager as _AWAppManager} from './plugins/app-manager/app-manager';\nimport {AWAuth as _AWAuth} from './plugins/auth/auth';\nimport {AWCalendar as _AWCalendar} from './plugins/calendar/calendar';\nimport {AWCamera as _AWCamera} from './plugins/camera/camera';\nimport {AWComponent as _AWComponent} from './plugins/component/component';\nimport {AWContacts as _AWContacts} from './plugins/contacts/contacts';\nimport {AWCompass as _AWCompass} from './plugins/device-orientation/compass';\nimport {AWDevice as _AWDevice} from './plugins/device/device';\nimport {AWScanner as _AWScanner} from './plugins/document-scanner/scanner';\nimport {AWFileTransfer as _AWFileTransfer} from './plugins/file-transfer/file-transfer';\nimport {AWFileChooser as _AWFileChooser} from './plugins/file/file-chooser';\nimport {AWFileSystem as _AWFileSystem} from './plugins/file/file-system';\nimport {AWFinder as _AWFinder} from './plugins/finder/finder';\nimport {AWGlobalization as _AWGlobalization} from './plugins/globalization/globalization';\nimport {AWHeaderBar as _AWHeaderBar} from './plugins/header/header';\nimport {AWKeyboard as _AWKeyboard} from './plugins/keyboard/keyboard';\nimport {AWLauncher as _AWLauncher} from './plugins/launcher/launcher';\nimport {AWLocation as _AWLocation} from './plugins/location/location';\nimport {AWMediaCapture as _AWMediaCapture} from './plugins/media-transfer/media-capture';\nimport {AWMedia as _AWMedia} from './plugins/media/media';\nimport {AWMenu as _AWMenu} from './plugins/menu/menu';\nimport {AWMobileFileSystem as _AWMobileFileSystem} from './plugins/mobile-file-system/mobile-file-system';\nimport {AWNotificationManager as _AWNotificationManager} from './plugins/notifications/notifications';\nimport {AWOfflineManager as _AWOfflineManager} from './plugins/offline/offline-manager';\nimport {AWPage as _AWPage} from './plugins/page/page';\nimport {AWPrint as _AWPrint} from './plugins/print/print';\nimport {AWQRReader as _AWQRReader} from './plugins/qr-reader/qr-reader';\nimport {AWRealm as _AWRealm} from './plugins/realm/realm';\nimport {AWCache as _AWCache} from './plugins/storage/cache';\nimport {AWSecureStorage as _AWSecureStorage} from './plugins/storage/secure-storage';\nimport {AWShake as _AWShake} from './plugins/shake/shake';\nimport {AWVibration as _AWVibration} from './plugins/vibration/vibration';\nimport {AWWebView as _AWWebView} from './plugins/webview/webview';\n\n// Accelerometer plugin and alias -- [mobile]\nexport const Accelerometer = _AWAccelerometer;\nexport const AWAccelerometer = _AWAccelerometer;\n// Anonymous plugin and alias -- [mobile]\nexport const Anonymous = _AWAnonymous;\nexport const AWAnonymous = _AWAnonymous;\n// AppManager plugin and alias -- [mobile]\nexport const AppManager = _AWAppManager;\nexport const AWAppManager = _AWAppManager;\n// Auth plugin and alias -- [desktop/mobile]\nexport const Auth = _AWAuth;\nexport const AWAuth = _AWAuth;\n// Cache plugin and alias -- [desktop/mobile]\nexport const Cache = _AWCache;\nexport const AWCache = _AWCache;\n// Calendar plugin and alias -- [desktop/mobile]\nexport const Calendar = _AWCalendar;\nexport const AWCalendar = _AWCalendar;\n// Camera plugin and alias -- [mobile]\nexport const Camera = _AWCamera;\nexport const AWCamera = _AWCamera;\n// Compass plugin and alias -- [mobile]\nexport const Compass = _AWCompass;\nexport const AWCompass = _AWCompass;\n// Component plugin and alias -- [mobile]\nexport const Component = _AWComponent;\nexport const AWComponent = _AWComponent;\n// Contacts plugin and alias -- [mobile]\nexport const Contacts = _AWContacts;\nexport const AWContacts = _AWContacts;\n// Device plugin and alias -- [desktop/mobile]\nexport const Device = _AWDevice;\nexport const AWDevice = _AWDevice;\n// FileChooser plugin and alias -- [mobile]\nexport const FileChooser = _AWFileChooser;\nexport const AWFileChooser = _AWFileChooser;\n// FileTransfer plugin and alias -- [desktop/mobile]\nexport const FileTransfer = _AWFileTransfer;\nexport const AWFileTransfer = _AWFileTransfer;\n// Finder plugin and alias -- [mobile]\nexport const Finder = _AWFinder;\nexport const AWFinder = _AWFinder;\n// Globalization plugin and alias -- [mobile]\nexport const Globalization = _AWGlobalization;\nexport const AWGlobalization = _AWGlobalization;\n// Header plugin and alias -- [mobile]\nexport const HeaderBar = _AWHeaderBar;\nexport const Header = _AWHeaderBar;\nexport const AWHeader = _AWHeaderBar;\nexport const AWHeaderBar = _AWHeaderBar;\n// Keyboard plugin and alias -- [mobile]\nexport const Keyboard = _AWKeyboard;\nexport const AWKeyboard = _AWKeyboard;\n// Location plugin and alias -- [mobile]\nexport const Location = _AWLocation;\nexport const AWLocation = _AWLocation;\n// Launcher plugin and alias -- [mobile]\nexport const Launcher = _AWLauncher;\nexport const AWLauncher = _AWLauncher;\n// Media plugin and alias -- [mobile]\nexport const Media = _AWMedia;\nexport const AWMedia = _AWMedia;\n// MediaCapture plugin and alias -- [mobile]\nexport const MediaCapture = _AWMediaCapture;\nexport const AWMediaCapture = _AWMediaCapture;\n// Menu plugin and alias -- [mobile]\nexport const Menu = _AWMenu;\nexport const AWMenu = _AWMenu;\nexport const AWHamburgerMenu = _AWMenu;\nexport const HamburgerMenu = _AWMenu;\n// MobileFileSystem plugin and alias -- [mobile]\nexport const MobileFileSystem = _AWMobileFileSystem;\nexport const AWMobileFileSystem = _AWMobileFileSystem;\n// NotificationManager plugin and alias -- [mobile]\nexport const NotificationManager = _AWNotificationManager;\nexport const AWNotificationManager = _AWNotificationManager;\n// OfflineManager plugin and alias -- [mobile]\nexport const OfflineManager = _AWOfflineManager;\nexport const AWOfflineManager = _AWOfflineManager;\n// Page plugin and alias -- [mobile]\nexport const Page = _AWPage;\nexport const AWPage = _AWPage;\n// Print plugin and alias --[desktop]\nexport const Print = _AWPrint;\nexport const AWPrint = _AWPrint;\n// QRReader plugin and alias -- [mobile]\nexport const QRReader = _AWQRReader;\nexport const AWQRReader = _AWQRReader;\n// Realm plugin and alias -- [mobile]\nexport const Realm = _AWRealm;\nexport const AWRealm = _AWRealm;\n// Scanner plugin and alias -- [mobile]\nexport const Scanner = _AWScanner;\nexport const AWScanner = _AWScanner;\n// SecureStorage plugin and alias -- [mobile]\nexport const SecureStorage = _AWSecureStorage;\nexport const AWSecureStorage = _AWSecureStorage;\n// Shake plugin and alias -- [mobile]\nexport const Shake = _AWShake;\nexport const AWShake = _AWShake;\n// Vibration plugin and alias -- [mobile]\nexport const Vibration = _AWVibration;\nexport const AWVibration = _AWVibration;\n// Webview plugin and alias -- [mobile]\nexport const WebView = _AWWebView;\nexport const AWWebView = _AWWebView;\n// FileSystem -- [desktop]\nexport const AWFileSystem = _AWFileSystem;\n"],"names":["this","require","global","Promise","Scanner","AWHeaderBar","AWCache","Print","QRReader","Realm","SecureStorage","Shake","_AWAccelerometer","AWAccelerometer","_AWAnonymous","AWAnonymous","_AWAppManager","AWAppManager","_AWAuth","AWAuth","_AWCache","_AWCalendar","AWCalendar","Camera","_AWCamera","AWCamera","_AWCompass","AWCompass","_AWComponent","AWComponent","_AWContacts","AWContacts","_AWDevice","AWDevice","_AWFileChooser","AWFileChooser","FileTransfer","_AWFileTransfer","AWFileTransfer","_AWFinder","AWFinder","_AWGlobalization","AWGlobalization","_AWHeaderBar","AWHeader","_AWKeyboard","AWKeyboard","_AWLocation","AWLocation","_AWLauncher","AWLauncher","Media","_AWMedia","AWMedia","_AWMediaCapture","AWMediaCapture","_AWMenu","AWMenu","_AWMobileFileSystem","AWMobileFileSystem","_AWNotificationManager","AWNotificationManager","_AWOfflineManager","AWOfflineManager","_AWPage","AWPage","_AWPrint","AWPrint","_AWQRReader","AWQRReader","_AWRealm","AWRealm","_AWScanner","AWScanner","_AWSecureStorage","AWSecureStorage","_AWShake","AWShake","_AWVibration","AWVibration","_AWWebView","AWWebView","AWFileSystem","_AWFileSystem"],"mappings":"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"} \ No newline at end of file diff --git a/dist/appworks.min.js b/dist/appworks.min.js index 675e5b9..ef53f81 100644 --- a/dist/appworks.min.js +++ b/dist/appworks.min.js @@ -1,3 +1,3 @@ -!function(e){"use strict";function t(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function n(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}function r(){}function o(e){var t={};return e&&"[object Function]"===t.toString.call(e)}var i,u=function(){function e(e,t){this.successHandler=e,this.errorHandler=t}return e}(),c=(function(){function e(){}e.prototype.getCurrentAcceleration=function(e,t,n){return null},e.prototype.watchAcceleration=function(e,t,n){return null},e.prototype.clearWatch=function(e){}}(),function(){function e(){}return e.prototype.cleanup=function(e,t){},e.prototype.getPicture=function(e,t,n){},e}()),a=function(){function e(){}return e.prototype.captureAudio=function(e,t,n){},e.prototype.captureImage=function(e,t,n){},e.prototype.captureVideo=function(e,t,n){},e}(),s=function(){function e(){}return e.prototype.getCurrentHeading=function(e,t,n){},e.prototype.watchHeading=function(e,t,n){return null},e.prototype.clearWatch=function(e){},e}(),l=function(){function e(){}return e.prototype.addEventListener=function(e,t,n){},e.prototype.removeEventListener=function(e,t,n){},e}(),p=function(){function e(){this.fieldType={}}return e.prototype.create=function(e){return null},e.prototype.find=function(e,t,n,r){},e.prototype.pickContact=function(e,t){},e}(),f=function(){function e(){}return e.prototype.upload=function(e,t,n,r,o,i){},e.prototype.download=function(e,t,n,r,o,i){},e.prototype.abort=function(){},e}(),d=function(){function e(){}return e.prototype.clearWatch=function(e){},e.prototype.getCurrentPosition=function(e,t,n){},e.prototype.watchPosition=function(e,t,n){return null},e}(),h=function(){function e(e,t,n,r){}return e.prototype.getCurrentPosition=function(e,t){},e.prototype.getDuration=function(){return null},e.prototype.play=function(e){},e.prototype.pause=function(){},e.prototype.release=function(){},e.prototype.seekTo=function(e){},e.prototype.setVolume=function(e){},e.prototype.startRecord=function(){},e.prototype.stopRecord=function(){},e.prototype.stop=function(){},e}(),y=function(){function e(){this.body=null,this.dir=null,this.icon=null,this.lang=null,this.onclick=null,this.onclose=null,this.onerror=null,this.onshow=null,this.permission=null,this.title=null,this.tag=null,this.close=null,this.addEventListener=function(e){},this.removeEventListener=function(e){},this.dispatchEvent=function(e){}}return e.prototype.alert=function(e,t,n,r){},e.prototype.beep=function(e){},e.prototype.confirm=function(e,t,n,r){},e.prototype.prompt=function(e,t,n,r,o){},e.prototype.vibrate=function(){},e.prototype.vibrateWithPattern=function(){},e.prototype.cancelVibration=function(){},e}(),v="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},A=function(e,t){return t={exports:{}},e(t,t.exports),t.exports}(function(e,t){!function(t,r){e.exports=function(){function e(e){return"function"==typeof e||"object"==typeof e&&null!==e}function t(e){return"function"==typeof e}function r(e){q=e}function o(e){j=e}function i(){return void 0!==Q?function(){Q(c)}:u()}function u(){var e=setTimeout;return function(){return e(c,1)}}function c(){for(var e=0;e-1&&(this.queue.splice(e,1),this.saveQueue())},n.prototype.networkStatus=function(){return{online:H.connection().type!==H.Connection().NONE,offline:H.connection().type===H.Connection().NONE,connection:H.connection()}},n.prototype.saveQueue=function(){this.cache.setItem(this.cacheKey,JSON.stringify(this.queue))},n.prototype.processDeferredQueue=function(){var e=this;setTimeout(function(){e.queue.forEach(function(t){e.dispatchEvent(t)}),e.options.preserveEvents||(e.queue=[],e.saveQueue())},5e3)},n.prototype.dispatchEvent=function(e){var t=new CustomEvent(e.event,{detail:e.args});document.dispatchEvent(t)},n}(u),oe=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n.prototype.setPageUrl=function(e){var t=this;H.exec(function(){return t.successHandler}(),function(){return t.errorHandler}(),"AWPage","setPageUrl",[e])},n.prototype.openModalAppWebView=function(e,t,n){var r=this;H.exec(function(){return r.successHandler}(),function(){return r.errorHandler}(),"AWPage","showModalAppWebView",[e,t,n])},n.prototype.openModalExternalWebView=function(e,t,n,r){var o=this;void 0!==r&&r||(r={}),H.exec(function(){return o.successHandler}(),function(){return o.errorHandler}(),"AWPage","showModalExternalWebView",[e,t,n,r])},n.prototype.setActionButtonCallback=function(e,t){var n=this;H.exec(e,function(){return n.errorHandler}(),"AWPage","setModalAppWebViewActionCallback",[t])},n.prototype.closeModalAppWebView=function(){var e=this;H.exec(function(){return e.successHandler}(),function(){return e.errorHandler}(),"AWPage","closeModalAppWebView",[])},n.prototype.video=function(e,t,n){H.exec(e,t,"AWPage","video",[n])},n}(u),ie=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n.prototype.print=function(e){var t=this;H.exec(function(){return t.successHandler}(),function(){return t.errorHandler}(),"AWPrint","print",[e])},n.prototype.getPrinters=function(){var e=this;H.exec(function(){return e.successHandler}(),function(){return e.errorHandler}(),"AWPrint","getPrinters",[])},n.prototype.printToPDF=function(e){var t=this;H.exec(function(){return t.successHandler}(),function(){return t.errorHandler}(),"AWPrint","printToPDF",[e])},n}(u),ue=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n}(ie),ce=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n.prototype.scan=function(){var e=this;H.exec(function(){return e.successHandler}(),function(){return e.errorHandler}(),"AWQRCodeReader","scan",[])},n.prototype.rename=function(){var e=this;H.exec(function(){return e.successHandler}(),function(){return e.errorHandler}(),"AWQRCodeReader","rename",[])},n.prototype.barcode=function(e,t,n,r){var o=this;H.exec(function(){return o.successHandler}(),function(){return o.errorHandler}(),"AWQRCodeReader","barcode",[e,t,n,r])},n}(u),ae=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n}(ce),se=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.FIELD_OBJECT_NAME="name",t.FIELD_OBJECT_TYPE="type",t.FIELD_OBJECT_PRIMARYKEY="key",t.FIELD_OBJECT_INDEX="index",t.FIELD_OBJECT_RELATIONSHIP="relationship",t.OBJECT_DESCRIPTION_NAME="name",t.OBJECT_DESCRIPTION_TYPE="type",t.OBJECT_DESCRIPTION_FIELDS="fields",t.OBJECT_DESCRIPTION_KEY="key",t.OBJECT_DESCRIPTION_INDEX="index",t.FIELD_TYPE_STRING="STRING",t.FIELD_TYPE_INTEGER="INTEGER",t.FIELD_TYPE_BOOLEAN="BOOLEAN",t.FIELD_TYPE_LONG="LONG",t.FIELD_TYPE_SHORT="SHORT",t.FIELD_TYPE_DOUBLE="DOUBLE",t.FIELD_TYPE_FLOAT="FLOAT",t.FIELD_TYPE_BINARY="BINARY",t.FIELD_TYPE_BYTE="BYTE",t.FIELD_TYPE_OBJECT="OBJECT",t.FIELD_TYPE_LIST="LIST",t.FIELD_TYPE_DATE="DATE",t.QUERY_OBJECT_NAME="object",t.QUERY_TYPE="type",t.QUERY_FIELD="field",t.QUERY_SORT="sort",t.QUERY_SORT_ASC="asc",t.QUERY_SORT_DESC="desc",t.QUERY_VALUE="value",t.QUERY_VALUE_2="value2",t.QUERY_TYPE_BEGIN_GROUP="beginGroup",t.QUERY_TYPE_END_GROUP="endGroup",t.QUERY_TYPE_AND="and",t.QUERY_TYPE_OR="or",t.QUERY_TYPE_EQUAL_TO="equalTo",t.QUERY_TYPE_NOT_EQUAL_TO="notEqualTo",t.QUERY_TYPE_BEGINS_WITH="beginsWith",t.QUERY_TYPE_ENDS_WITH="endsWith",t.QUERY_TYPE_CONTAINS="contains",t.QUERY_TYPE_BETWEEN="between",t.QUERY_TYPE_GREATER_THAN="greaterThan",t.QUERY_TYPE_GREATER_THAN_OR_EQUAL_TO="greaterThanOrEqualTo",t.QUERY_TYPE_LESS_THAN="lessThan",t.QUERY_TYPE_LESS_THAN_OR_EQUAL_TO="lessThanOrEqualTo",t.QUERY_TYPE_LIKE="like",t.QUERY_TYPE_IN="in",t.queryBuilder={arr:[],subArray:[],inSubArray:!1,addToArray:function(e,t){t?this.subArray.push(e):this.arr.push(e)},equalTo:function(e,t){var n={type:"equalTo",field:e,value:t};return this.addToArray(n,this.inSubArray),this},notEqualTo:function(e,t){var n={type:"notEqualTo",field:e,value:t};return this.addToArray(n,this.inSubArray),this},beginsWith:function(e,t){var n={type:"beginsWith",field:e,value:t};return this.addToArray(n,this.inSubArray),this},endsWith:function(e,t){var n={type:"endsWith",field:e,value:t};return this.addToArray(n,this.inSubArray),this},contains:function(e,t){var n={type:"contains",field:e,value:t};return this.addToArray(n,this.inSubArray),this},between:function(e,t,n){var r={type:"between",field:e,value:t,value2:n};return this.addToArray(r,this.inSubArray),this},greaterThan:function(e,t){var n={type:"greaterThan",field:e,value:t};return this.addToArray(n,this.inSubArray),this},greaterThanOrEqualTo:function(e,t){var n={type:"greaterThanOrEqualTo",field:e,value:t};return this.addToArray(n,this.inSubArray),this},lessThan:function(e,t){var n={type:"lessThan",field:e,value:t};return this.addToArray(n,this.inSubArray),this},lessThanOrEqualTo:function(e,t){var n={type:"lessThanOrEqualTo",field:e,value:t};return this.addToArray(n,this.inSubArray),this},like:function(e,t){var n={type:"like",field:e,value:t};return this.addToArray(n,this.inSubArray),this},and:function(){var e={type:"and"};return this.addToArray(e,this.inSubArray),this},or:function(){var e={type:"or"};return this.addToArray(e,this.inSubArray),this},beginGroup:function(){return this.subArray=[],this.inSubArray=!0,this},endGroup:function(){return this.arr.push(this.subArray),this.inSubArray=!1,this},done:function(){var e=this.arr;return this.clear(),e},clear:function(){this.inSubArray=!1,this.subArray=[],this.arr=[]}},t}return t(n,e),n.prototype.startRealm=function(e,t){H.exec(e,t,"AWRealm","start_realm",[])},n.prototype.getAllObjectNames=function(e,t){H.exec(e,t,"AWRealm","get_all_object_names",[])},n.prototype.objectExists=function(e,t,n){H.exec(t,n,"AWRealm","object_exists",[e])},n.prototype.createObject=function(e,t,n){H.exec(t,n,"AWRealm","create_object",[e])},n.prototype.addField=function(e,t,n,r){H.exec(n,r,"AWRealm","add_field",[e,t])},n.prototype.addFields=function(e,t,n,r){H.exec(n,r,"AWRealm","add_fields",[e,t])},n.prototype.describeObject=function(e,t,n){H.exec(t,n,"AWRealm","describe_object",[e])},n.prototype.objectHasField=function(e,t,n,r){H.exec(n,r,"AWRealm","object_has_field",[e,t])},n.prototype.getFieldType=function(e,t,n,r){H.exec(n,r,"AWRealm","get_field_type",[e,t])},n.prototype.insert=function(e,t,n,r){H.exec(n,r,"AWRealm","insert",[e,t])},n.prototype.update=function(e,t,n,r,o){H.exec(r,o,"AWRealm","update",[e,t,n])},n.prototype.select=function(e,t,n,r,o){H.exec(r,o,"AWRealm","select",[e,t,n])},n.prototype.remove=function(e,t,n,r){H.exec(n,r,"AWRealm","remove",[e,t])},n.prototype.removeAll=function(e,t,n){H.exec(t,n,"AWRealm","remove_all",[e])},n}(u),le=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n}(se),pe=function(e){function n(t,r){var o=e.call(this,t,r)||this;return o.seqNo=++n.idCounter,o.onprogress=null,o}return t(n,e),n.prototype.store=function(e,t,n,r){function o(e){var t=new ProgressEvent(null);return t.lengthComputable=e.lengthComputable,t.loaded=e.loaded,t.total=e.total,t}var i=this;void 0===r&&(r=!0);var u,c=[r?encodeURI(e):e,t,!1,this.seqNo,n&&n.headers],a=function(){return i.successHandler},s=this.onprogress;u=function(e){void 0!==e.lengthComputable?s&&s(o(e)):a&&a()(e)},H.exec(u,function(){return i.errorHandler}(),"AWSecureStorage","store",c)},n.prototype.retrieve=function(e,t){var n=this,r=[e,t];H.exec(function(){return n.successHandler}(),function(){return n.errorHandler}(),"AWSecureStorage","retrieve",r)},n.prototype.remove=function(e){var t=this,n=[e];H.exec(function(){return t.successHandler}(),function(){return t.errorHandler}(),"AWSecureStorage","removeFile",n)},n.prototype.fileExistsAtPath=function(e){var t=this,n=[e];H.exec(function(){return t.successHandler}(),function(){return t.errorHandler}(),"AWSecureStorage","fileExistsAtPath",n)},n}(u);pe.idCounter=0;var fe=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n}(pe),de=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n.prototype.enableShake=function(e){var t=this;H.exec(e,function(){return t.errorHandler}(),"AWShake","enableShake",[])},n.prototype.disableShake=function(e){var t=this;H.exec(function(){return t.successHandler}(),function(){return t.errorHandler}(),"AWShake","disableShake",[])},n}(u),he=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n}(de),ye=function(e){function n(){return e.call(this,r,r)||this}return t(n,e),n.prototype.vibrate=function(e){return H.vibrate(e)},n}(u),ve=function(e){function n(){return e.call(this,r,r)||this}return t(n,e),n.prototype.open=function(e,t,n){return H.webview().open(e,t,n)},n.prototype.addEventListener=function(e,t){H.webview().addEventListener(e,t)},n.prototype.removeEventListener=function(e,t){H.webview().removeEventListener(e,t)},n.prototype.show=function(){H.webview().show()},n.prototype.close=function(){H.webview().close()},n.prototype.executeScript=function(e,t){H.webview().executeScript(e,t)},n.prototype.insertCSS=function(e,t){H.webview().insertCSS(e,t)},n}(u),Ae=P,me=P,ge=R,Ee=R,We=O,Te=O,_e=F,we=F,Se=ne,be=ne,xe=N,Ce=N,He=D,Pe=D,Re=M,Oe=M,Fe=I,Ne=I,De=L,Ie=L,Le=k,Me=k,ke=Q,Ye=Q,Ue=B,Be=B,Qe=j,qe=j,je=V,Ve=V,Ge=G,Ke=G,Je=G,ze=G,Xe=K,Ze=K,$e=z,et=z,tt=J,nt=J,rt=Z,ot=Z,it=X,ut=X,ct=$,at=$,st=$,lt=$,pt=ee,ft=ee,dt=te,ht=te,yt=re,vt=re,At=oe,mt=oe,gt=ue,Et=ue,Wt=ae,Tt=ae,_t=le,wt=le,St=U,bt=U,xt=fe,Ct=fe,Ht=he,Pt=he,Rt=ye,Ot=ye,Ft=ve,Nt=ve,Dt=q;e.Accelerometer=Ae,e.AWAccelerometer=me,e.Anonymous=ge,e.AWAnonymous=Ee,e.AppManager=We,e.AWAppManager=Te,e.Auth=_e,e.AWAuth=we,e.Cache=Se,e.AWCache=be,e.Calendar=xe,e.AWCalendar=Ce,e.Camera=He,e.AWCamera=Pe,e.Compass=Re,e.AWCompass=Oe,e.Component=Fe,e.AWComponent=Ne,e.Contacts=De,e.AWContacts=Ie,e.Device=Le,e.AWDevice=Me,e.FileChooser=ke,e.AWFileChooser=Ye,e.FileTransfer=Ue,e.AWFileTransfer=Be,e.Finder=Qe,e.AWFinder=qe,e.Globalization=je,e.AWGlobalization=Ve,e.HeaderBar=Ge,e.Header=Ke,e.AWHeader=Je,e.AWHeaderBar=ze,e.Keyboard=Xe,e.AWKeyboard=Ze,e.Location=$e,e.AWLocation=et,e.Launcher=tt,e.AWLauncher=nt,e.Media=rt,e.AWMedia=ot,e.MediaCapture=it,e.AWMediaCapture=ut,e.Menu=ct,e.AWMenu=at,e.AWHamburgerMenu=st,e.HamburgerMenu=lt,e.MobileFileSystem=pt,e.AWMobileFileSystem=ft,e.NotificationManager=dt,e.AWNotificationManager=ht,e.OfflineManager=yt,e.AWOfflineManager=vt,e.Page=At,e.AWPage=mt,e.Print=gt,e.AWPrint=Et,e.QRReader=Wt,e.AWQRReader=Tt,e.Realm=_t,e.AWRealm=wt,e.Scanner=St,e.AWScanner=bt,e.SecureStorage=xt,e.AWSecureStorage=Ct,e.Shake=Ht,e.AWShake=Pt,e.Vibration=Rt,e.AWVibration=Ot,e.WebView=Ft,e.AWWebView=Nt,e.AWFileSystem=Dt}(this.Appworks=this.Appworks||{}); //# sourceMappingURL=appworks.min.js.map diff --git a/dist/appworks.min.js.map b/dist/appworks.min.js.map index 14d6801..c155531 100644 --- a/dist/appworks.min.js.map +++ b/dist/appworks.min.js.map @@ -1 +1 @@ -{"version":3,"file":"appworks.min.js","sources":["../src/common/util.ts","../src/common/plugin.ts","../src/plugins/file/local-file-system.ts","../test/mock/accelerometer.ts","../test/mock/camera.ts","../test/mock/capture.ts","../test/mock/compass.ts","../test/mock/connection.ts","../test/mock/contacts.ts","../test/mock/file-transfer.ts","../test/mock/geolocation.ts","../test/mock/media.ts","../test/mock/notifications.ts","../node_modules/es6-promise/dist/es6-promise.js","../test/mock/persistent-storage.ts","../test/mock/vibrate.ts","../src/plugins/storage/desktop-storage.ts","../src/plugins/storage/on-device-storage.ts","../test/mock/local-storage.ts","../src/plugins/storage/storage.ts","../src/plugins/webview/desktop-webview.ts","../src/common/proxy.ts","../src/plugins/accelerometer/accelerometer.ts","../src/plugins/anonymous/anonymous.ts","../src/plugins/app-manager/app-manager.ts","../src/plugins/auth/auth.ts","../src/plugins/calendar/calendar.ts","../src/plugins/camera/camera.ts","../src/plugins/component/component.ts","../src/plugins/contacts/contacts.ts","../src/plugins/device-orientation/compass.ts","../src/plugins/device/device.ts","../src/plugins/document-scanner/scanner.ts","../src/plugins/file-transfer/file-transfer.ts","../src/plugins/file/file-chooser.ts","../src/plugins/file/file-system.ts","../src/plugins/finder/finder.ts","../src/plugins/globalization/globalization.ts","../src/plugins/header/header.ts","../src/plugins/keyboard/keyboard.ts","../src/plugins/launcher/launcher.ts","../src/plugins/location/location.ts","../src/plugins/media-transfer/media-capture.ts","../src/plugins/media/media.ts","../src/plugins/menu/menu.ts","../src/plugins/mobile-file-system/mobile-file-system.ts","../src/plugins/notifications/notifications.ts","../src/plugins/storage/cache.ts","../src/plugins/offline/offline-manager.ts","../src/plugins/page/page.ts","../src/plugins/print/print.ts","../src/plugins/qr-reader/qr-reader.ts","../src/plugins/realm/realm.ts","../src/plugins/storage/secure-storage.ts","../src/plugins/shake/shake.ts","../src/plugins/vibration/vibration.ts","../src/plugins/webview/webview.ts","../src/appworks.ts"],"sourcesContent":["/**\n * Collection of utility functions\n */\nimport {AWProxy} from './proxy';\n\nexport function noop() {\n}\n\nexport function isFunction(functionToCheck) {\n const getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\nexport function isDesktopEnv() {\n return AWProxy.isDesktopEnv();\n}\n\nexport function isMobileEnv() {\n return AWProxy.isMobileEnv();\n}\n","export abstract class AWPlugin {\n /**\n * Base plugin class. Constructor takes in a success function and error function to be executed upon\n * return from call to native layer\n * @param successHandler - the function to be executed when the native call succeeds. passes an object as arg\n * @param errorHandler - the function to be executed when the native call fails. passes an object as arg.\n */\n constructor(protected successHandler: any, protected errorHandler: any) {\n }\n}\n","export enum LocalFileSystem {\n PERSISTENT = 0,\n TEMPORARY = 1\n}\n","import {Acceleration, Accelerometer, AccelerometerOptions, WatchHandle} from \"../../src/plugins/device-motion/index\";\n\nexport class MockAccelerometer implements Accelerometer {\n getCurrentAcceleration(accelerometerSuccess: (acceleration: Acceleration) => void,\n accelerometerError: () => void,\n accelerometerOptions?: AccelerometerOptions): WatchHandle {\n return null;\n }\n\n watchAcceleration(accelerometerSuccess: (acceleration: Acceleration) => void,\n accelerometerError: () => void,\n accelerometerOptions?: AccelerometerOptions): WatchHandle {\n return null;\n }\n\n clearWatch(watchID: WatchHandle): void {\n\n }\n}\n","import {CameraInterface, CameraOptions} from \"../../src/plugins/camera/index\";\n\nexport class MockCamera implements CameraInterface {\n\n cleanup(\n onSuccess: () => void,\n onError: (message: string) => void): void {\n }\n\n getPicture(\n cameraSuccess: (data: string) => void,\n cameraError: (message: string) => void,\n cameraOptions?: CameraOptions): void {\n }\n}\n","import {\n AudioOptions,\n Capture,\n CaptureError,\n ConfigurationData,\n ImageOptions,\n MediaFile,\n VideoOptions\n} from \"../../src/plugins/media-transfer/index\";\n\nexport class MockCapture implements Capture {\n supportedAudioModes: ConfigurationData[];\n supportedImageModes: ConfigurationData[];\n supportedVideoModes: ConfigurationData[];\n\n captureAudio(onSuccess: (mediaFiles: MediaFile[]) => void,\n onError: (error: CaptureError) => void,\n options?: AudioOptions): void {\n\n }\n\n captureImage(onSuccess: (mediaFiles: MediaFile[]) => void,\n onError: (error: CaptureError) => void,\n options?: ImageOptions): void {\n\n }\n\n captureVideo(onSuccess: (mediaFiles: MediaFile[]) => void,\n onError: (error: CaptureError) => void,\n options?: VideoOptions): void {\n\n }\n}\n","import {Compass, CompassError, CompassHeading, CompassOptions} from \"../../src/plugins/device-orientation/index\";\n\nexport class MockCompass implements Compass {\n getCurrentHeading(\n onSuccess: (heading: CompassHeading) => void,\n onError: (error: CompassError) => void,\n options?: CompassOptions): void {\n }\n\n watchHeading(\n onSuccess: (heading: CompassHeading) => void,\n onError: (error: CompassError) => void,\n options?: CompassOptions): number {\n return null;\n }\n\n clearWatch(id: number): void {\n }\n}\n","import {ConnectionInterface} from \"../../src/plugins/network-information/index\";\n\nexport class MockConnection implements ConnectionInterface {\n type: string;\n\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void {\n\n }\n\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void {\n\n }\n}\n","import {Contact, ContactError, ContactFindOptions, ContactProperties, Contacts} from \"../../src/plugins/contacts/index\";\n\nexport class MockContacts implements Contacts {\n fieldType: any;\n\n constructor() {\n this.fieldType = {};\n }\n\n create(properties?: ContactProperties): Contact {\n return null;\n }\n\n find(fields: string[],\n onSuccess: (contacts: Contact[]) => void,\n onError?: (error: ContactError) => void,\n options?: ContactFindOptions): void {\n }\n\n pickContact(onSuccess: (contact: Contact) => void,\n onError: (error: ContactError) => void): void {\n }\n}\n","import {\n FileDownloadOptions,\n FileTransferError,\n FileTransferInterface,\n FileUploadOptions,\n FileUploadResult\n} from \"../../src/plugins/file-transfer/index\";\nimport {FileEntry} from \"../../src/plugins/file/index\";\n\nexport class MockFileTransfer implements FileTransferInterface {\n onprogress: (event: ProgressEvent) => void;\n\n upload(fileURL: string,\n server: string,\n successCallback: (result: FileUploadResult) => void,\n errorCallback: (error: FileTransferError) => void,\n options?: FileUploadOptions,\n trustAllHosts?: boolean): void {\n }\n\n download(source: string,\n target: string,\n successCallback: (fileEntry: FileEntry) => void,\n errorCallback: (error: FileTransferError) => void,\n trustAllHosts?: boolean,\n options?: FileDownloadOptions): void {\n }\n\n abort(): void {\n }\n}\n","import {Geolocation} from \"../../src/plugins/location/index\";\n\nexport class MockGeolocation implements Geolocation {\n clearWatch(watchId: number): void {\n }\n\n getCurrentPosition(successCallback: PositionCallback,\n errorCallback?: PositionErrorCallback,\n options?: PositionOptions): void {\n }\n\n watchPosition(successCallback: PositionCallback,\n errorCallback?: PositionErrorCallback,\n options?: PositionOptions): number {\n return null;\n }\n}\n","import {IosPlayOptions, MediaInterface} from \"../../src/plugins/media/index\";\n\nexport class MockMedia implements MediaInterface {\n position: number;\n duration: number;\n\n constructor(src, successHandler, errorHandler, statusChangeHandler) {\n\n }\n\n getCurrentPosition(mediaSuccess: (position: number) => void,\n mediaError?: (error: MediaError) => void): void {\n }\n\n getDuration(): number {\n return null;\n }\n\n play(iosPlayOptions?: IosPlayOptions): void {\n\n }\n\n pause(): void {\n\n }\n\n release(): void {\n\n }\n\n seekTo(position: number): void {\n\n }\n\n setVolume(volume: number): void {\n\n }\n\n startRecord(): void {\n\n }\n\n stopRecord(): void {\n\n }\n\n stop(): void {\n\n }\n}\n","import {Notification, NotificationPromptResult} from \"../../src/plugins/dialogs/index\";\n\nexport class MockNotification implements Notification {\n body: any = null;\n dir: any = null;\n icon: any = null;\n lang: any = null;\n onclick: any = null;\n onclose: any = null;\n onerror: any = null;\n onshow: any = null;\n permission: any = null;\n title: any = null;\n tag: any = null;\n close: any = null;\n addEventListener: any = (name: string) => {\n };\n removeEventListener: any = (name: string) => {\n };\n dispatchEvent: any = (name: string) => {\n };\n\n alert(message: string,\n alertCallback: () => void,\n title?: string,\n buttonName?: string): void {\n\n }\n\n beep(times: number): void {\n\n }\n\n confirm(message: string,\n confirmCallback: (choice: number) => void,\n title?: string,\n buttonLabels?: string[]): void {\n\n }\n\n prompt(message: string,\n promptCallback: (result: NotificationPromptResult) => void,\n title?: string,\n buttonLabels?: string[],\n defaultText?: string): void {\n\n }\n\n vibrate(): void {\n\n }\n\n vibrateWithPattern(): void {\n\n }\n\n cancelVibration(): void {\n\n }\n}\n","/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version 4.0.5\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n return typeof x === 'function' || typeof x === 'object' && x !== null;\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\nvar _isArray = undefined;\nif (!Array.isArray) {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n} else {\n _isArray = Array.isArray;\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = undefined;\nvar customSchedulerFn = undefined;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var r = require;\n var vertx = r('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = undefined;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var _arguments = arguments;\n\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n if (_state) {\n (function () {\n var callback = _arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n })();\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n _resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(16);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar GET_THEN_ERROR = new ErrorObject();\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n try {\n return promise.then;\n } catch (error) {\n GET_THEN_ERROR.error = error;\n return GET_THEN_ERROR;\n }\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n try {\n then.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n _resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n _reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n _reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n _reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return _resolve(promise, value);\n }, function (reason) {\n return _reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$) {\n if (maybeThenable.constructor === promise.constructor && then$$ === then && maybeThenable.constructor.resolve === resolve) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$ === GET_THEN_ERROR) {\n _reject(promise, GET_THEN_ERROR.error);\n } else if (then$$ === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$)) {\n handleForeignThenable(promise, maybeThenable, then$$);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction _resolve(promise, value) {\n if (promise === value) {\n _reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value, getThen(value));\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction _reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = undefined,\n callback = undefined,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction ErrorObject() {\n this.error = null;\n}\n\nvar TRY_CATCH_ERROR = new ErrorObject();\n\nfunction tryCatch(callback, detail) {\n try {\n return callback(detail);\n } catch (e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = undefined,\n error = undefined,\n succeeded = undefined,\n failed = undefined;\n\n if (hasCallback) {\n value = tryCatch(callback, detail);\n\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value = null;\n } else {\n succeeded = true;\n }\n\n if (promise === value) {\n _reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n succeeded = true;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n _resolve(promise, value);\n } else if (failed) {\n _reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n _reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n _resolve(promise, value);\n }, function rejectPromise(reason) {\n _reject(promise, reason);\n });\n } catch (e) {\n _reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this._input = input;\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate();\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n _reject(this.promise, validationError());\n }\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n};\n\nEnumerator.prototype._enumerate = function () {\n var length = this.length;\n var _input = this._input;\n\n for (var i = 0; this._state === PENDING && i < length; i++) {\n this._eachEntry(_input[i], i);\n }\n};\n\nEnumerator.prototype._eachEntry = function (entry, i) {\n var c = this._instanceConstructor;\n var resolve$$ = c.resolve;\n\n if (resolve$$ === resolve) {\n var _then = getThen(entry);\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise) {\n var promise = new c(noop);\n handleMaybeThenable(promise, entry, _then);\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$) {\n return resolve$$(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$(entry), i);\n }\n};\n\nEnumerator.prototype._settledAt = function (state, i, value) {\n var promise = this.promise;\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n _reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n};\n\nEnumerator.prototype._willSettleAt = function (promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n};\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n _reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {function} resolver\n Useful for tooling.\n @constructor\n*/\nfunction Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n}\n\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = resolve;\nPromise.reject = reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;\n\nPromise.prototype = {\n constructor: Promise,\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n \n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n \n Chaining\n --------\n \n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n \n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n \n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n \n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n \n Assimilation\n ------------\n \n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n \n If the assimliated promise rejects, then the downstream promise will also reject.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n \n Simple Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let result;\n \n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n \n Advanced Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let author, books;\n \n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n \n function foundBooks(books) {\n \n }\n \n function failure(reason) {\n \n }\n \n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n \n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n then: then,\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n \n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n \n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n \n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n \n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n 'catch': function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nfunction polyfill() {\n var local = undefined;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise;\n}\n\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\n\nreturn Promise;\n\n})));\n//# sourceMappingURL=es6-promise.map","import {PersistentStorage} from \"../../src/plugins/storage/index\";\n\nexport class PersistentStorageMock implements PersistentStorage {\n\n setExcludedKeys(_excludedKeys: string[]) {\n }\n\n persistLocalStorage(): Promise {\n return Promise.resolve();\n }\n\n loadPersistentData(): Promise {\n return Promise.resolve();\n }\n\n migrateCache(): Promise {\n return Promise.resolve();\n }\n}\n","export class MockVibrate {\n vibrate(time: number): void {\n }\n}\n","import {AWProxy} from '../../common/proxy';\nimport {AsyncStorage, PersistentStorage} from './index';\n\nexport class DesktopStorage implements PersistentStorage {\n\n private static readonly PLUGIN_NOT_FOUND: Error = new Error('Unable to resolve AWStorage desktop plugin');\n private desktopStorage: AsyncStorage;\n\n constructor(desktopPlugin: AsyncStorage) {\n this.desktopStorage = desktopPlugin;\n }\n\n persistLocalStorage(excludedKeys: string[]): Promise {\n if (this.desktopStorage === null) {\n return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND);\n }\n\n return new Promise((resolve, reject) => {\n let i,\n data = [],\n key,\n value;\n\n const storage = AWProxy.storage();\n for (i = 0; i < storage.length; i += 1) {\n key = storage.key(i);\n value = storage.getItem(key);\n if (excludedKeys.indexOf(key) === -1) {\n data.push({key: key, value: value});\n }\n }\n\n const setter = obj => this.desktopStorage.setItem(obj.key, obj.value);\n Promise.all(data.map(setter)).then(resolve, reject);\n });\n }\n\n loadPersistentData(): Promise {\n if (this.desktopStorage === null) {\n return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND);\n }\n return new Promise((resolve, reject) => {\n try {\n // get data is actually synchronous\n const data = this.desktopStorage.getData();\n const storage = AWProxy.storage();\n for (let key in data) {\n if (data.hasOwnProperty(key)) {\n storage.setItem(key, data[key]);\n }\n }\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n }\n\n migrateCache(excludedKeys: string[]): Promise {\n if (this.desktopStorage === null) {\n return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND);\n }\n\n return Promise.resolve();\n }\n}\n","import {AWProxy} from '../../common/proxy';\nimport {PersistentStorage} from './index';\n\n/**\n * The mobile environment implementation of persistent storage.\n */\nexport class OnDeviceStorage implements PersistentStorage {\n\n persistLocalStorage(excludedKeys: string[]): Promise {\n let i,\n data = {},\n key,\n value;\n\n const storage = AWProxy.storage()['storage'];\n for (i = 0; i < Object.keys(storage).length; i += 1) {\n key = Object.keys(storage)[i];\n value = storage[key];\n if (excludedKeys.indexOf(key) === -1) {\n data[key] = value;\n }\n }\n return new Promise((resolve, reject) => {\n this.writeDataToPersistentStorage(JSON.stringify(data)).then(resolve, reject);\n });\n }\n\n loadPersistentData(): Promise {\n return new Promise((resolve, reject) => {\n this.readDataFromPersistentStorage().then(\n (json) => {\n let data;\n if (json) {\n data = JSON.parse(json);\n for (let item in data) {\n if (data.hasOwnProperty(item)) {\n AWProxy.storage().setItem(item, data[item]);\n }\n }\n resolve();\n }\n }, reject);\n });\n }\n\n migrateCache(excludedKeys: string[]): Promise {\n return new Promise((resolve, reject) => {\n this.readDataAWCacheFile().then(\n (json) => {\n let data;\n if (json && json !== '') {\n data = JSON.parse(json);\n for (let item in data) {\n if (data.hasOwnProperty(item)) {\n AWProxy.storage().setItem(item, data[item]);\n }\n }\n AWProxy.persistentStorage().persistLocalStorage(excludedKeys)\n .then(\n () => this.deleteAWCacheFile().then(resolve, reject),\n reject);\n }\n resolve();\n }, (error) => {\n resolve();\n });\n });\n }\n\n private readDataAWCacheFile(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.requestFileSystem(AWProxy.localFileSystem().PERSISTENT, 0, gotFS, reject);\n\n function gotFS(fileSystem: any) {\n fileSystem.root.getFile('appworksjs.cache.json', {\n create: false,\n exclusive: false\n }, gotFileEntry, reject);\n }\n\n function gotFileEntry(entry: any) {\n entry.file(gotFile, reject);\n }\n\n function gotFile(file: any) {\n readAsText(file);\n }\n\n function readAsText(file: any) {\n let reader = new FileReader();\n reader.onloadend = function (evt) {\n console.log(evt);\n resolve((evt.target).result);\n };\n reader.readAsText(file);\n }\n });\n }\n\n private deleteAWCacheFile(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.requestFileSystem(AWProxy.localFileSystem().PERSISTENT, 0, gotFS, reject);\n\n function gotFS(fileSystem) {\n fileSystem.root.getFile(\n 'appworksjs.cache.json',\n {create: false, exclusive: false},\n gotFileEntry,\n reject);\n }\n\n function gotFileEntry(fileEntry) {\n fileEntry.remove(resolve, reject);\n }\n });\n }\n\n private readDataFromPersistentStorage(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n resolve,\n reject,\n 'AWCache',\n 'getAllCacheData',\n []\n );\n });\n }\n\n private writeDataToPersistentStorage(data): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n resolve,\n reject,\n 'AWCache',\n 'setAllCacheData',\n [data]\n );\n });\n }\n\n}\n","import {Storage} from \"../../src/plugins/storage/index\";\n\nexport class MockLocalStorage implements Storage {\n length: number;\n\n [key: string]: any;\n\n [index: number]: string;\n\n // allow tests to set a value if they need to\n constructor(len?: number) {\n this.length = isNaN(len) ? 0 : len;\n }\n\n getItem(key: string): any {\n return null;\n }\n\n setItem(key: string, value: string): void {\n }\n\n removeItem(key: string): void {\n }\n\n clear(): void {\n }\n\n key(index: number): string {\n return null;\n }\n\n}\n","import {MockLocalStorage} from '../../../test/mock/local-storage';\nimport {Storage} from './index';\n\n/**\n * Web local storage wrapper that hooks into the native persistent layer on mobile and desktop\n * The local and persistent storage are kept in, sync with update being flushed, and the local web\n * storage always acting as the reference.\n */\nexport class AWStorage implements Storage {\n\n [key: string]: any;\n\n [index: number]: string;\n\n /**\n * Storage implementation.\n */\n private storage: Storage;\n private isMobileEnv: boolean;\n\n constructor(isMobileEnv: boolean) {\n this.isMobileEnv = isMobileEnv;\n // resolve the local storage or fall back onto a mock impl\n if (this.isMobileEnv) {\n if (typeof window !== 'undefined') {\n if (typeof window['awcache'] === 'undefined') {\n window['awcache'] = {};\n }\n this.storage = window['awcache'];\n } else {\n this.storage = new MockLocalStorage();\n }\n } else {\n this.storage = (typeof window !== 'undefined') ?\n window.localStorage : new MockLocalStorage();\n }\n }\n\n get length(): number {\n return this.storage ? this.storage.length : -1;\n }\n\n clear(): void {\n if (this.isMobileEnv) {\n let keys = Object.keys(this.storage);\n for (let key of keys) {\n this.removeItem(key);\n }\n } else {\n this.storage.clear();\n }\n }\n\n getItem(key: string): any {\n if (this.isMobileEnv) {\n return this.storage[key];\n } else {\n return this.storage.getItem(key);\n }\n }\n\n key(index: number): string {\n return this.storage.key(index);\n }\n\n removeItem(key: string): void {\n if (this.isMobileEnv) {\n delete this.storage[key];\n } else {\n return this.storage.removeItem(key);\n }\n }\n\n setItem(key: string, data: any): void {\n if (this.isMobileEnv) {\n return this.storage[key] = data;\n } else {\n return this.storage.setItem(key, data);\n }\n }\n\n}\n","import {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {DesktopWebviewInterface, InAppBrowserEvent} from './index';\n\nconst DesktopWebviewSequenceStore = {\n seqNo: 0\n};\n\nexport class DesktopWebview implements DesktopWebviewInterface {\n\n private id: number;\n\n constructor() {\n this.id = DesktopWebviewSequenceStore.seqNo++;\n }\n\n addEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'addEventListener',\n [this.id, type, callback]\n );\n }\n\n removeEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'removeEventListener',\n [this.id, type, callback]\n );\n }\n\n close(): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'close',\n [this.id]\n );\n }\n\n show(): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'show',\n [this.id]\n );\n }\n\n open(url: string, target?: string, options?: any): DesktopWebview {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'open',\n [this.id, url, target, options]\n );\n return this;\n }\n\n executeScript(script: any, callback: (result: any) => void): void {\n AWProxy.exec(\n callback,\n noop,\n 'AWWebView',\n 'executeScript',\n [this.id, script]\n );\n }\n\n insertCSS(css: any, callback: () => void): void {\n AWProxy.exec(\n callback,\n noop,\n 'AWWebView',\n 'insertCSS',\n [this.id, css]\n );\n }\n}\n","import {MockAccelerometer} from '../../test/mock/accelerometer';\nimport {MockCamera} from '../../test/mock/camera';\nimport {MockCapture} from '../../test/mock/capture';\nimport {MockCompass} from '../../test/mock/compass';\nimport {MockConnection} from '../../test/mock/connection';\nimport {MockContacts} from '../../test/mock/contacts';\nimport {MockFileTransfer} from '../../test/mock/file-transfer';\nimport {MockGeolocation} from '../../test/mock/geolocation';\nimport {MockMedia} from '../../test/mock/media';\nimport {MockNotification} from '../../test/mock/notifications';\nimport {PersistentStorageMock} from '../../test/mock/persistent-storage';\nimport {MockVibrate} from '../../test/mock/vibrate';\nimport {CameraInterface} from '../plugins/camera/index';\nimport {Contacts} from '../plugins/contacts/index';\nimport {Accelerometer} from '../plugins/device-motion/index';\nimport {Compass} from '../plugins/device-orientation/index';\nimport {Device} from '../plugins/device/index';\nimport {Notification} from '../plugins/dialogs/index';\nimport {FileTransferInterface} from '../plugins/file-transfer/index';\nimport {FileError, FileSystem} from '../plugins/file/index';\nimport {LocalFileSystem} from '../plugins/file/local-file-system';\nimport {MediaInterface} from '../plugins/media/index';\nimport {ConnectionInterface} from '../plugins/network-information/index';\nimport {DesktopStorage} from '../plugins/storage/desktop-storage';\nimport {PersistentStorage} from '../plugins/storage/index';\nimport {OnDeviceStorage} from '../plugins/storage/on-device-storage';\nimport {AWStorage} from '../plugins/storage/storage';\nimport {DesktopWebview} from '../plugins/webview/desktop-webview';\nimport {isFunction, noop} from './util';\n\ndeclare const Media: {\n new(src: string,\n mediaSuccess: () => void,\n mediaError?: (error: MediaError) => any,\n mediaStatus?: (status: number) => void): MediaInterface;\n // Media statuses\n MEDIA_NONE: number;\n MEDIA_STARTING: number;\n MEDIA_RUNNING: number;\n MEDIA_PAUSED: number;\n MEDIA_STOPPED: number\n};\ndeclare const FileTransfer: any;\ndeclare const Camera: {\n // Camera constants, defined in Camera plugin\n DestinationType: {\n DATA_URL: number;\n FILE_URI: number;\n NATIVE_URI: number\n }\n Direction: {\n BACK: number;\n FRONT: number;\n }\n EncodingType: {\n JPEG: number;\n PNG: number;\n }\n MediaType: {\n PICTURE: number;\n VIDEO: number;\n ALLMEDIA: number;\n }\n PictureSourceType: {\n PHOTOLIBRARY: number;\n CAMERA: number;\n SAVEDPHOTOALBUM: number;\n }\n // Used only on iOS\n PopoverArrowDirection: {\n ARROW_UP: number;\n ARROW_DOWN: number;\n ARROW_LEFT: number;\n ARROW_RIGHT: number;\n ARROW_ANY: number;\n }\n};\n\ndeclare const __aw_plugin_proxy;\ndeclare const cordova: any;\ndeclare const navigator: any;\ndeclare const device: any;\ndeclare const window: any;\ndeclare const Connection: any;\n\nconst callbackQueue: (() => any)[] = [];\nlet deviceReady: boolean = false;\n\nsetupDeviceInitializationForMobile();\n\nexport class AWProxy {\n\n static exec(successHandler: any, errorHandler: any, name: string, method: string, args: any[]): void {\n try {\n if (AWProxy.isDesktopEnv()) {\n AWProxy.execDesktop(successHandler, errorHandler, name, method, args);\n } else {\n AWProxy.execMobile(successHandler, errorHandler, name, method, args);\n }\n } catch (err) {\n console.error('No proxy objects defined - tried [cordova, __aw_plugin_proxy]', err);\n if (isFunction(errorHandler)) {\n errorHandler(err);\n }\n }\n }\n\n static accelerometer(): Accelerometer {\n const _accelerometer = typeof 'navigator' !== undefined ? navigator.accelerometer : new MockAccelerometer();\n return _accelerometer;\n }\n\n static camera(): CameraInterface {\n const _camera = typeof navigator !== 'undefined' ? navigator.camera : new MockCamera();\n return _camera;\n }\n\n static Camera(): any {\n const _Camera = (typeof Camera !== 'undefined') ? Camera : {\n DestinationType: {\n DATA_URL: null,\n FILE_URI: null,\n NATIVE_URI: null,\n },\n Direction: {\n BACK: null,\n FRONT: null,\n },\n EncodingType: {\n JPEG: null,\n PNG: null,\n },\n MediaType: {\n PICTURE: null,\n VIDEO: null,\n ALLMEDIA: null,\n },\n PictureSourceType: {\n PHOTOLIBRARY: null,\n CAMERA: null,\n SAVEDPHOTOALBUM: null,\n },\n // Used only on iOS\n PopoverArrowDirection: {\n ARROW_UP: null,\n ARROW_DOWN: null,\n ARROW_LEFT: null,\n ARROW_RIGHT: null,\n ARROW_ANY: null\n }\n };\n return _Camera;\n }\n\n static compass(): Compass {\n const _Compass = typeof navigator !== 'undefined' ? navigator.compass : new MockCompass();\n return _Compass;\n }\n\n static connection(): ConnectionInterface {\n const _connection = typeof navigator !== 'undefined' ? navigator.connection : new MockConnection();\n return _connection;\n }\n\n static Connection(): any {\n const _Connection = (typeof Connection !== 'undefined') ? Connection : {\n UNKNOWN: null,\n ETHERNET: null,\n WIFI: null,\n CELL_2G: null,\n CELL_3G: null,\n CELL_4G: null,\n CELL: null,\n NONE: null\n };\n return _Connection;\n }\n\n static contacts(): Contacts {\n const _contacts = typeof navigator !== 'undefined' ? navigator.contacts : new MockContacts();\n return _contacts;\n }\n\n static device(): Device {\n const _device: Device = (typeof device !== 'undefined') ? device : {\n cordova: null,\n available: true,\n model: null,\n platform: null,\n uuid: null,\n version: null,\n manufacturer: null,\n isVirtual: null,\n serial: null,\n capture: null\n };\n\n if (typeof navigator !== 'undefined' && navigator.device && navigator.device.capture) {\n _device.capture = navigator.device.capture;\n } else {\n _device.capture = new MockCapture();\n }\n return _device;\n }\n\n static document(): any {\n const _document = (typeof document !== 'undefined') ? document : {\n addEventListener: noop\n };\n return _document;\n }\n\n static file(): any {\n if (typeof cordova !== 'undefined') {\n return cordova.file;\n } else {\n return {\n documentsDirectory: ''\n };\n }\n }\n\n static filetransfer(): FileTransferInterface {\n return AWProxy.doGetFileTransfer();\n }\n\n // alias name\n static fileTransfer(): FileTransferInterface {\n return AWProxy.doGetFileTransfer();\n }\n\n static doGetFileTransfer(): FileTransferInterface {\n if (AWProxy.isDesktopEnv()) {\n const plugin = AWProxy.getDesktopPlugin('AWFileTransfer');\n return (plugin !== null) ? plugin : new MockFileTransfer();\n }\n return (typeof FileTransfer !== 'undefined') ? new FileTransfer() : new MockFileTransfer();\n }\n\n static geolocation(): Geolocation {\n const _geolocation = (typeof navigator !== 'undefined') ? navigator.geolocation : new MockGeolocation();\n return _geolocation;\n }\n\n static localFileSystem(): any {\n return LocalFileSystem;\n }\n\n static media(src, successHandler, errorHandler, statusChangeHandler): MediaInterface {\n if (typeof Media !== 'undefined') {\n return new Media(src, successHandler, errorHandler, statusChangeHandler);\n } else {\n return new MockMedia(src, successHandler, errorHandler, statusChangeHandler);\n }\n }\n\n static notification(): Notification {\n const _notification = (typeof navigator !== 'undefined') ? navigator.notification : new MockNotification();\n return _notification;\n }\n\n static requestFileSystem(type: LocalFileSystem,\n size: number,\n successCallback: (fileSystem: FileSystem) => void,\n errorCallback?: (fileError: FileError) => void): void {\n if (window.requestFileSystem) {\n return window.requestFileSystem(type, size, successCallback, errorCallback);\n }\n }\n\n static vibrate(time: number): void {\n if (typeof navigator !== 'undefined' && navigator.vibrate) {\n const _vibrate = navigator.vibrate(time);\n return _vibrate;\n } else {\n return new MockVibrate().vibrate(time);\n }\n }\n\n static webview(): any {\n if (typeof cordova !== 'undefined') {\n return (cordova as any).InAppBrowser;\n } else {\n return new DesktopWebview();\n }\n }\n\n static storage(): Storage {\n return new AWStorage(AWProxy.isMobileEnv());\n }\n\n static persistentStorage(): PersistentStorage {\n const desktopPlugin = AWProxy.getDesktopPlugin('AWStorage');\n return desktopPlugin !== null ?\n new DesktopStorage(desktopPlugin) : (AWProxy.isMobileEnv()) ?\n new OnDeviceStorage() : new PersistentStorageMock();\n }\n\n static isDesktopEnv(): boolean {\n return typeof __aw_plugin_proxy !== 'undefined';\n }\n\n static isMobileEnv(): boolean {\n return typeof cordova !== 'undefined';\n }\n\n static getDesktopPlugin(pluginName: string): any {\n if (!AWProxy.isDesktopEnv()) return null;\n // the proxy exposed by desktop has a method to allow retrieval of plugin instances\n return __aw_plugin_proxy.getPlugin(pluginName);\n }\n\n private static execMobile(successHandler: any, errorHandler: any, name: string, method: string, args: any[]) {\n if (deviceReady) {\n cordova.exec(successHandler, errorHandler, name, method, args);\n } else {\n callbackQueue.push(() => {\n AWProxy.exec(successHandler, errorHandler, name, method, args);\n });\n }\n }\n\n private static execDesktop(successHandler: any, errorHandler: any, name: string, method: string, args: any[]) {\n __aw_plugin_proxy.exec(successHandler, errorHandler, name, method, args);\n }\n}\n\nfunction setupDeviceInitializationForMobile() {\n try {\n document.addEventListener('deviceready', () => {\n deviceReady = true;\n callbackQueue.forEach((callback) => {\n callback();\n });\n });\n } catch (e) {\n // unsupported environment\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAccelerometer extends AWPlugin {\n getCurrentAcceleration() {\n return AWProxy.accelerometer().getCurrentAcceleration(\n (() => this.successHandler)(),\n (() => this.errorHandler)()\n );\n }\n\n watchAcceleration(options?: any): any {\n return AWProxy.accelerometer().watchAcceleration(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n clearWatch(watchId: number) {\n return AWProxy.accelerometer().clearWatch(watchId);\n }\n}\n\n\n\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAnonymous extends AWPlugin {\n isAnonymousMode(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAnonymous',\n 'isAnonymousMode',\n []\n );\n }\n\n getAnonymousUrl(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAnonymous',\n 'getAnonymousUrl',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAppManager extends AWPlugin {\n closeActiveApp() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'closeActiveApp',\n []\n );\n }\n getAppName() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'getAppName',\n []\n );\n }\n getAppVersion(success, error) {\n AWProxy.exec(\n success,\n error,\n 'AWAppManager',\n 'getAppVersion',\n []\n );\n }\n isFirstRun(success, error) {\n AWProxy.exec(\n success,\n error,\n 'AWAppManager',\n 'isFirstRun',\n []\n );\n }\n setAppHasRun(success, error) {\n AWProxy.exec(\n success,\n error,\n 'AWAppManager',\n 'setAppHasRun',\n []\n );\n }\n /* Deprecated, will be removed in the next version */\n resetShouldClearCache() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'resetShouldClearCache',\n []\n );\n }\n /* Deprecated, will be removed in the next version */\n shouldClearCache(success) {\n AWProxy.exec(\n success,\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'shouldClearCache',\n []\n );\n }\n}\n\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAuth extends AWPlugin {\n authenticate(force?: boolean) {\n force = !!force;\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAuth',\n 'authenticate',\n [force.toString()]\n );\n }\n\n /**\n * Marked for depreciation\n * Use authenticate(boolean?), which will get the auth object if the session is valid, else it will refresh the auth object and return that.\n */\n getAuthResponse() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAuth',\n 'authobject',\n []\n );\n }\n\n gateway(successHandler: any, errorHandler?: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAuth',\n 'gateway',\n []\n );\n }\n\n online(successHandler: any, errorHandler?: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAuth',\n 'online',\n []\n );\n }\n\n otdsssoticket(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAuth',\n 'otdsssoticket',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {AWCalendarInterface, CalendarArgs, CalendarCreateOptions, CalendarOptions} from './index';\n\nexport class AWCalendar extends AWPlugin implements AWCalendarInterface {\n\n constructor() {\n super(noop, noop);\n }\n\n static getCalendarOptions(): CalendarOptions {\n return {\n firstReminderMinutes: 60,\n secondReminderMinutes: null,\n recurrence: null, // options are: 'daily', 'weekly', 'monthly', 'yearly'\n recurrenceInterval: 1, // only used when recurrence is set\n recurrenceWeekstart: 'MO',\n recurrenceByDay: null,\n recurrenceByMonthDay: null,\n recurrenceEndDate: null,\n recurrenceCount: null,\n calendarName: null,\n calendarId: null,\n url: null\n };\n }\n\n hasReadPermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'hasReadPermission',\n []\n );\n });\n }\n\n requestReadPermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'requestReadPermission',\n []\n );\n });\n }\n\n hasWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'hasWritePermission',\n []\n );\n });\n }\n\n requestWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'requestWritePermission',\n []\n );\n });\n }\n\n hasReadWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'hasReadWritePermission',\n []\n );\n });\n }\n\n requestReadWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'requestReadWritePermission',\n []\n );\n });\n }\n\n createCalendar(options: CalendarCreateOptions = {\n calendarName: null,\n calendarColor: null\n }, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'createCalendar',\n [options]\n );\n });\n }\n\n deleteCalendar(calendarName: string, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'deleteCalendar',\n [{calendarName: calendarName} as CalendarArgs]\n );\n });\n }\n\n openCalendar(date: Date, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'openCalendar',\n [{date: date.getTime()} as CalendarArgs]\n );\n });\n }\n\n createEventWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'createEventWithOptions',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n options: options\n } as CalendarArgs]\n );\n });\n }\n\n createEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.createEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n createEventInteractivelyWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'createEventInteractively',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n options: options\n } as CalendarArgs]\n );\n });\n }\n\n createEventInteractively(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.createEventInteractivelyWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n findEventWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'findEventWithOptions',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n options: options\n } as CalendarArgs]\n );\n });\n }\n\n findEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.findEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n findAllEventsInNamedCalendar(calendarName: string, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'findAllEventsInNamedCalendar',\n [{calendarName: calendarName} as CalendarArgs]\n );\n });\n }\n\n deleteEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'deleteEvent',\n [{\n title: title,\n location: location,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n } as CalendarArgs]\n );\n });\n }\n\n deleteEventFromNamedCalendar(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n calendarName: string,\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'deleteEventFromNamedCalendar',\n [{\n title: title,\n location: location,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n calendarName: calendarName\n } as CalendarArgs]\n );\n });\n }\n\n modifyEventWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n newTitle: string,\n newLocation: string,\n newNotes: string,\n newStartDate: Date,\n newEndDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n newOptions: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'modifyEventWithOptions',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n newTitle: newTitle,\n newLocation: newLocation,\n newNotes: newNotes,\n newStartTime: newStartDate.getTime(),\n newEndDate: newEndDate.getTime(),\n options: options,\n newOptions: newOptions\n } as CalendarArgs]\n );\n });\n }\n\n modifyEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n newTitle: string,\n newLocation: string,\n newNotes: string,\n newStartDate: Date,\n newEndDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.modifyEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n newTitle,\n newLocation,\n newNotes,\n newStartDate,\n newEndDate,\n AWCalendar.getCalendarOptions(),\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n modifyEventInNamedCalendar(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n newTitle: string,\n newLocation: string,\n newNotes: string,\n newStartDate: Date,\n newEndDate: Date,\n calendarName: string,\n successHandler?: any,\n errorHandler?: any) {\n\n const options = AWCalendar.getCalendarOptions();\n options.calendarName = calendarName;\n\n return this.modifyEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n newTitle,\n newLocation,\n newNotes,\n newStartDate,\n newEndDate,\n options,\n successHandler,\n errorHandler\n );\n }\n\n listCalendars(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'listCalendars',\n []\n );\n });\n }\n\n listEventsInRange(startDate: Date, endDate: Date, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'listEventsInRange',\n [{\n startTime: startDate.getTime(),\n endTime: endDate.getTime()\n } as CalendarArgs]\n );\n });\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {CameraOptions} from './index';\n\nexport class AWCamera extends AWPlugin {\n cleanup(onSuccess: () => void,\n onError: (message: string) => void) {\n return AWProxy.camera().cleanup(onSuccess, onError);\n }\n\n getPicture(cameraSuccess: (data: string) => void,\n cameraError: (message: string) => void,\n cameraOptions?: CameraOptions) {\n return AWProxy.camera().getPicture(cameraSuccess, cameraError, cameraOptions);\n }\n\n openGallery(options?: any) {\n options = options || {\n destinationType: AWProxy.Camera().DestinationType.FILE_URI\n };\n options.sourceType = AWProxy.Camera().PictureSourceType.PHOTOLIBRARY;\n return this.getPicture((() => this.successHandler)(), (() => this.errorHandler)(), options);\n }\n\n takePicture(options?: any) {\n options = options || {\n destinationType: AWProxy.Camera().DestinationType.FILE_URI,\n encodingType: AWProxy.Camera().EncodingType.JPEG,\n mediaType: AWProxy.Camera().MediaType.ALLMEDIA,\n correctOrientation: true,\n saveToPhotoAlbum: true\n };\n options.sourceType = AWProxy.Camera().PictureSourceType.CAMERA;\n return this.getPicture((() => this.successHandler)(), (() => this.errorHandler)(), options);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWComponent extends AWPlugin {\n open(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'open',\n args || []\n );\n }\n\n list(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'list',\n args || []\n );\n }\n\n check(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'check',\n args || []\n );\n }\n\n close(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'close',\n args || []\n );\n }\n\n registerAppClose(successHandler: any) {\n AWProxy.exec(\n successHandler,\n (() => this.errorHandler)(),\n 'AWComponent',\n 'registerAppClose',\n []\n );\n }\n\n closeApp() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWComponent',\n 'closeApp',\n []\n );\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWContacts extends AWPlugin {\n\n create(contact: any): any {\n return AWProxy.contacts().create(contact);\n }\n\n find(fields: any, options?: any) {\n return AWProxy.contacts().find(\n fields,\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n pickContact() {\n return AWProxy.contacts().pickContact((() => this.successHandler)(), (() => this.errorHandler)());\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWCompass extends AWPlugin {\n getCurrentHeading() {\n return AWProxy.compass().getCurrentHeading(\n (() => this.successHandler)(),\n (() => this.errorHandler)()\n );\n }\n\n watchHeading(options?: any) {\n return AWProxy.compass().watchHeading(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n clearWatch(watchId: number) {\n return AWProxy.compass().clearWatch(watchId);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {Capture} from '../media-transfer/index';\n\nexport class AWDevice extends AWPlugin {\n\n public cordova: any;\n public model: any;\n public platform: any;\n public uuid: any;\n public version: any;\n public manufacturer: any;\n public capture: Capture;\n\n constructor() {\n super(() => {\n }, () => {\n });\n this.cordova = AWProxy.device().cordova;\n this.model = AWProxy.device().model;\n this.platform = AWProxy.device().platform;\n this.uuid = AWProxy.device().uuid;\n this.version = AWProxy.device().version;\n this.manufacturer = AWProxy.device().manufacturer;\n this.capture = AWProxy.device().capture;\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Scanner extends AWPlugin {\n scanDocument(returnType: Number, successHandler: Function, errorHandler: Function) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWScanner',\n 'scanDocument',\n [returnType]\n );\n }\n}\n\nexport class AWScanner extends Scanner {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {FileTransferInterface} from './index';\n\nexport class AWFileTransfer extends AWPlugin {\n\n public onprogress: any;\n private fileTransfer: FileTransferInterface;\n\n constructor(successHandler: any, errorHandler?: any) {\n super(successHandler, errorHandler);\n this.fileTransfer = AWProxy.filetransfer();\n this.onprogress = null;\n }\n\n abort() {\n this.fileTransfer.abort();\n }\n\n download(url: string, target: string, options?: any, shared?: boolean) {\n\n let successHandler = this.successHandler,\n errorHandler = this.errorHandler;\n\n options = options || {};\n\n if (shared && !AWProxy.isDesktopEnv()) {\n AWProxy.exec(\n gotSharedContainerUrl,\n (() => this.errorHandler)(),\n 'AWSharedDocumentProvider',\n 'containerForCurrentApp',\n []\n );\n } else {\n this.fileTransfer.download(\n encodeURI(url),\n this.toEnvFilePath(target),\n successHandler,\n errorHandler,\n false,\n options\n );\n }\n return this.fileTransfer;\n\n function gotSharedContainerUrl(containerUrl?: string) {\n AWProxy.filetransfer().download(\n encodeURI(url),\n containerUrl + '/' + target,\n successHandler,\n errorHandler,\n false,\n options\n );\n }\n }\n\n progressHandler(handler: any) {\n this.fileTransfer.onprogress = handler;\n }\n\n upload(source, url, options, shared) {\n\n let successHandler = this.successHandler,\n errorHandler = this.errorHandler;\n\n options = options || {};\n\n if (shared && !AWProxy.isDesktopEnv()) {\n AWProxy.exec(\n gotSharedContainerUrl,\n (() => this.errorHandler)(),\n 'AWSharedDocumentProvider',\n 'containerForCurrentApp',\n []\n );\n } else {\n this.fileTransfer.upload(\n this.toEnvFilePath(source),\n encodeURI(url),\n successHandler,\n errorHandler,\n options,\n false\n );\n }\n\n return this.fileTransfer;\n\n function gotSharedContainerUrl(containerUrl?: string) {\n AWProxy.filetransfer().upload(\n // valid use of slash here as shared container is a mobile only concept\n containerUrl + '/' + source,\n encodeURI(url),\n successHandler,\n errorHandler,\n options,\n false\n );\n }\n }\n\n toEnvFilePath(fileUrl: string): string {\n // use a path relative to the Cordova defined sandbox in a mobile environment\n return AWProxy.isDesktopEnv() ? fileUrl : AWProxy.file().documentsDirectory + '/' + fileUrl;\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWFileChooser extends AWPlugin {\n selectAndUpload(action: string) {\n let args = [action];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFileChooser',\n 'open',\n args\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {DesktopHostFileSystem, FileDetails, FileDialogOptions, SaveDialogOptions} from './index';\n\nexport class AWFileSystem extends AWPlugin implements DesktopHostFileSystem {\n\n desktopEnvError: Error = new Error('This method is only available in the AppWorks Desktop environment');\n\n constructor() {\n super(noop, noop);\n }\n\n getPath(name: string,\n successCallback: (result: string) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'getPath',\n [name]\n );\n }\n\n exists(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'exists',\n [path]\n );\n }\n\n isDir(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'isDir',\n [path]\n );\n }\n\n isOpen(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'isOpen',\n [path]\n );\n }\n\n setReadOnly(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'setReadOnly',\n [path]\n );\n }\n\n createFile(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void,\n data?: any,\n append?: boolean): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'createFile',\n [path, data, append]\n );\n }\n\n readFile(path: string,\n successCallback: (result: any) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'readFile',\n [path]\n );\n }\n\n createDirectory(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'createDirectory',\n [path]\n );\n }\n\n copy(from: string, to: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'copy',\n [from, to]\n );\n }\n\n open(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'open',\n [path]\n );\n }\n\n reveal(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'reveal',\n [path]\n );\n }\n\n updateLastModifiedDate(path: string,\n date: Date,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void ): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'updateLastModifiedDate',\n [path, date]\n );\n }\n\n getDetails(path: string,\n successCallback: (result: FileDetails) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'getDetails',\n [path]\n );\n }\n\n listDirContents(path: string,\n successCallback: (result: FileDetails[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'listDirContents',\n [path]\n );\n }\n\n showSaveDialog(opts: SaveDialogOptions,\n successCallback: (result: string) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'showSaveDialog',\n [opts]\n );\n }\n\n showDirSelector(opts: FileDialogOptions,\n successCallback: (result: string[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'showDirSelector',\n [opts]\n );\n }\n\n showFileSelector(opts: FileDialogOptions,\n successCallback: (result: string[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'showFileSelector',\n [opts]\n );\n }\n\n onFileOpen(openFileCallback: (filePath: string) => void,\n successCallback: (result: string[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'onFileOpen',\n [openFileCallback]\n );\n }\n\n remove(path: string,\n successCallback: (result: FileDetails) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'remove',\n [path]\n );\n }\n\n /**\n * The methods of this class should only be called from within an AppWorks desktop\n * environment.\n */\n validateEnv(): void {\n if (!AWProxy.isDesktopEnv()) {\n throw this.desktopEnvError;\n }\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWFinder extends AWPlugin {\n open(path: string, filename: string) {\n let args = [path, filename];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'open',\n args\n );\n }\n\n openIn(filename: string) {\n return this.openDirect(filename);\n }\n\n list(path: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'list',\n [path]\n );\n }\n\n share(filename: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'share',\n [filename]\n );\n }\n\n private openDirect(filename: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'openDirect',\n [filename]\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWGlobalization extends AWPlugin {\n constructor() {\n super(noop, noop);\n }\n\n getPreferredLanguage(successFn: Function, errorFn?: Function) {\n AWProxy.exec(\n successFn,\n errorFn,\n 'AWGlobalization',\n 'getPreferredLanguage',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWHeaderBar extends AWPlugin {\n\n static readonly ButtonName = {LeftOne: 0, LeftTwo: 1, RightOne: 2, RightTwo: 3};\n static readonly ButtonImage = {\n Hamburger: 0,\n Back: 1,\n Settings: 2,\n Appmenu: 3,\n None: 5,\n Dots: 6,\n Search: 7,\n AppmenuHighlight: 8,\n Close: 9,\n DismissAll: 10,\n Edit: 11\n };\n\n /**\n * @deprecated\n * @type {{LeftOne: number; LeftTwo: number; RightOne: number; RightTwo: number}}\n */\n ButtonName = {LeftOne: 0, LeftTwo: 1, RightOne: 2, RightTwo: 3};\n /**\n * @deprecated\n * @type {{Hamburger: number; Back: number; Settings: number; Appmenu: number; None: number; Dots: number; Search: number, AppmenuHighlight: number, Close: number, DismissAll: number, Edit: number}}\n */\n ButtonImage = {\n Hamburger: 0,\n Back: 1,\n Settings: 2,\n Appmenu: 3,\n None: 5,\n Dots: 6,\n Search: 7,\n AppmenuHighlight: 8,\n Close: 9,\n DismissAll: 10,\n Edit: 11\n };\n\n private callback: any;\n\n setHeader(config: any) {\n if (config && config.callback) {\n this.callback = config.callback;\n config.callback = true;\n } else {\n this.callback = null;\n }\n AWProxy.exec(\n (() => this.callback)(),\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'setHeader',\n [config]\n );\n }\n\n getHeader() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'getHeader',\n []\n );\n }\n\n setHeaderButtons(callback: Function, config: any) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'setHeaderButtons',\n [config]\n );\n }\n\n maskHeader(shouldMaskHeader: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'maskHeader',\n [shouldMaskHeader]\n );\n }\n}\n\n// alias\nexport class AWHeader extends AWHeaderBar {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWKeyboard extends AWPlugin {\n constructor() {\n super(noop, noop);\n }\n\n hideKeyboardAccessoryBar(hide: boolean) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'hideKeyboardAccessoryBar',\n [hide.toString()]\n );\n }\n\n close() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'close',\n []\n );\n }\n\n show() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'show',\n []\n );\n }\n\n disableScroll(disable: boolean) {\n disable = !!disable;\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'disableScroll',\n [disable.toString()]\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWLauncher extends AWPlugin {\n\n constructor(successHandler?: any, errorHandler?: any) {\n super(successHandler || noop, errorHandler || noop);\n }\n\n getLaunchData(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWLauncher',\n 'getLaunchData',\n []\n );\n }\n\n getLaunchURL(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWLauncher',\n 'getLaunchURL',\n []\n );\n }\n\n clearLaunchData() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'clearLaunchData',\n []\n );\n }\n\n clearLaunchURL() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'clearLaunchURL',\n []\n );\n }\n registerListener(successHandler: any) {\n AWProxy.exec(\n successHandler,\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'registerListener',\n []\n );\n }\n getCustomScheme(successHandler: any) {\n AWProxy.exec(\n successHandler,\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'getCustomScheme',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWLocation extends AWPlugin {\n getCurrentPosition(options?: any) {\n return AWProxy.geolocation().getCurrentPosition(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n watchPosition(options?: any) {\n return AWProxy.geolocation().watchPosition(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n clearWatch(watchId: number) {\n AWProxy.geolocation().clearWatch(watchId);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {Capture} from './index';\n\nexport class AWMediaCapture extends AWPlugin implements Capture {\n\n supportedAudioModes: any;\n supportedImageModes: any;\n supportedVideoModes: any;\n\n constructor(successHandler: any, errorHandler?: any) {\n super(successHandler, errorHandler);\n this.supportedAudioModes = AWProxy.device().capture.supportedAudioModes;\n this.supportedImageModes = AWProxy.device().capture.supportedImageModes;\n this.supportedVideoModes = AWProxy.device().capture.supportedVideoModes;\n }\n\n captureAudio(options?: any) {\n AWProxy.device().capture.captureAudio(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n captureImage(options?: any) {\n AWProxy.device().capture.captureImage(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n captureVideo(options?: any) {\n AWProxy.device().capture.captureVideo(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWMedia extends AWPlugin {\n\n media: any;\n src: string;\n position: any;\n duration: number;\n\n constructor(src: string, successHandler: any, errorHandler?: any, statusChangeHandler?: any) {\n super(successHandler, errorHandler);\n this.media = AWProxy.media(src, successHandler, errorHandler, statusChangeHandler);\n this.src = src;\n this.position = this.media.position;\n this.duration = this.media.duration;\n }\n\n getCurrentPosition(successHandler: any, errorHandler?: any) {\n return this.media.getCurrentPosition(successHandler, errorHandler);\n }\n\n getDuration() {\n return this.media.getDuration();\n }\n\n pause() {\n return this.media.pause();\n }\n\n play() {\n return this.media.play();\n }\n\n release() {\n return this.media.release();\n }\n\n seekTo(value: number) {\n return this.media.seekTo(value);\n }\n\n setVolume(value: number) {\n return this.media.setVolume(value);\n }\n\n startRecord() {\n return this.media.startRecord();\n }\n\n stop() {\n return this.media.stop();\n }\n\n stopRecord() {\n return this.media.stopRecord();\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {MenuSection} from './index';\n\nexport class AWMenu extends AWPlugin {\n push(items: any) {\n let args = [items];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWMenu',\n 'push',\n args\n );\n }\n\n setMenu(menuSections: MenuSection[]) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n resolve,\n reject,\n 'AWMenu',\n 'setMenu',\n [menuSections]\n );\n });\n }\n\n didOpenMenuItem(callback: any) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWMenu',\n 'receive',\n []\n );\n }\n\n openListener(listener: any) {\n AWProxy.exec(\n listener,\n (() => this.errorHandler)(),\n 'AWMenu',\n 'receive',\n []\n );\n }\n\n showMenu(shouldShowMenu: boolean) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWMenu',\n 'showMenu',\n [shouldShowMenu]\n );\n }\n\n didTapMenuItem(listener: any) {\n return this.openListener(listener);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWMobileFileSystem extends AWPlugin {\n // File listing\n list(directory: string, shared: boolean, success: any, error: any) {\n let args = [directory, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'list',\n args\n );\n }\n\n // Imports\n listImports(success: any, error: any) {\n let args = [];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'listImports',\n args\n );\n }\n\n moveImport(source: string, destination: string, desintationShared: boolean, success: any, error: any) {\n let args = [source, destination, desintationShared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'moveImport',\n args\n );\n }\n\n // File IO\n exists(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'exists',\n args\n );\n }\n\n isOpen(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'isOpen',\n args\n );\n }\n\n rename(source: string, destination: string, shared: boolean, success: any, error: any) {\n let args = [source, destination, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'rename',\n args\n );\n }\n\n copy(source: string, sourceShared: boolean, destination: string, destinationShared: boolean, success: any, error: any) {\n let args = [source, sourceShared, destination, destinationShared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'copy',\n args\n );\n }\n\n move(source: string, sourceShared: boolean, destination: string, destinationShared: boolean, success: any, error: any) {\n let args = [source, sourceShared, destination, destinationShared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'move',\n args\n );\n }\n\n remove(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'remove',\n args\n );\n }\n\n removeDirectory(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'removeDirectory',\n args\n );\n }\n\n readFile(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'read',\n args\n );\n }\n\n // File sharing\n open(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'open',\n args\n );\n }\n\n edit(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'edit',\n args\n );\n }\n\n share(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'share',\n args\n );\n }\n\n quicklook(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'quicklook',\n args\n );\n }\n\n // File transfer\n download(source: string, destination: string, headers: any, shared: boolean, success: any, error: any) {\n let args = [source, destination, headers, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'download',\n args\n );\n }\n\n upload(source: string, destination: string, fileParameterName: string, formData: any, headers: any, shared: boolean, success: any, error: any) {\n let args = [source, destination, fileParameterName, formData, headers, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'upload',\n args\n );\n }\n}\n","import { AWPlugin } from \"../../common/plugin\";\nimport { AWProxy } from \"../../common/proxy\";\nimport { noop } from \"../../common/util\";\n\nexport class AWNotificationManager extends AWPlugin {\n\n constructor() {\n super(noop, noop);\n }\n\n createClientNotification(identifier: string, title: string, subtitle: string, seconds: string, success: any, error: any) {\n AWProxy.exec(\n success,\n error,\n 'AWNotificationManager',\n 'createClientNotification',\n [identifier, title, subtitle, seconds]\n );\n }\n\n didTapNotificationFromActivityView(handler: any, errorHandler: any, includeSeqNo: boolean) {\n this.openListener(handler, errorHandler, includeSeqNo);\n }\n\n disablePushNotifications() {\n AWProxy.exec(\n null,\n null,\n \"AWNotificationManager\",\n \"disablePushNotifications\",\n []\n );\n }\n\n enablePushNotifications(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"enablePushNotifications\",\n AWProxy.isDesktopEnv() ? [handler, includeSeqNo] : [includeSeqNo]\n );\n }\n\n getNotifications(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"getPushNotifications\",\n [includeSeqNo]\n );\n }\n\n getOpeningNotification(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"getOpeningNotification\",\n [includeSeqNo]\n );\n }\n\n notificationDidLaunchApp(handler: any, errorHandler: any, includeSeqNo: boolean) {\n this.getOpeningNotification(handler, errorHandler, includeSeqNo);\n }\n\n openListener(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"openListener\",\n AWProxy.isDesktopEnv() ? [handler, includeSeqNo] : [includeSeqNo]\n );\n }\n\n\n registerForTopic(topicName: string) {\n AWProxy.exec(\n null,\n null,\n \"AWNotificationManager\",\n \"registerForTopic\",\n [topicName]\n );\n }\n\n removeAllClientNotifications(success: any, error: any) {\n AWProxy.exec(\n success,\n error,\n 'AWNotificationManager',\n 'removeAllClientNotifications',\n []\n );\n }\n\n removeClientNotification(identifier: string, success: any, error: any) {\n AWProxy.exec(\n success,\n error,\n 'AWNotificationManager',\n 'removeClientNotification',\n [identifier]\n );\n }\n\n removeNotification(seqNo: string, handler: any, errorHandler?: any) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"removeNotification\",\n [seqNo]\n );\n }\n\n unregisterFromTopic(topicName: string) {\n AWProxy.exec(\n null,\n null,\n \"AWNotificationManager\",\n \"unregisterFromTopic\",\n [topicName]\n );\n }\n\n alert(message: string, alertCallback: any, title?: string, buttonName?: string) {\n AWProxy.notification().alert(message, alertCallback, title, buttonName);\n }\n\n beep(times: number) {\n AWProxy.notification().beep(times);\n }\n\n confirm(message: string, confirmCallback: any, title?: string, buttonLabels?: string[]) {\n AWProxy.notification().confirm(message, confirmCallback, title, buttonLabels);\n }\n\n prompt(message: string, promptCallback: any, title?: string, buttonLabels?: string[], defaultText?: string) {\n AWProxy.notification().prompt(message, promptCallback, title, buttonLabels, defaultText);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWCache extends AWPlugin {\n\n private options: any;\n private excludedKeys: string[] = [];\n\n constructor(options?: any) {\n super(noop, noop);\n this.options = options || {usePersistentStorage: false};\n console.log(\"AWCache instantiate, don't forget to call preloadCache().then(function(){}, function(err){})\");\n }\n\n setExcludedKeys(_excludedKeys: string[]) {\n this.excludedKeys = _excludedKeys;\n }\n\n setItem(key: string, value: any): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.storage().setItem(key, value);\n if (this.usePersistentStorage()) {\n AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys)\n .then(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n\n getItem(key: string): any {\n let item = AWProxy.storage().getItem(key);\n return (typeof item === 'undefined' ? '' : item);\n }\n\n removeItem(key: string): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.storage().removeItem(key);\n if (this.usePersistentStorage()) {\n AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys)\n .then(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n\n clear(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.storage().clear();\n if (this.usePersistentStorage()) {\n AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys)\n .then(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n\n preloadCache(): Promise {\n return new Promise((resolve, reject) => {\n if (this.usePersistentStorage()) {\n this.migrateCache(this.excludedKeys).then(() => {\n AWProxy.persistentStorage().loadPersistentData()\n .then(\n () => {\n console.log('AWCache: Successfully loaded persistent data into local storage');\n resolve();\n },\n err => {\n let error = `AWCache: Failed to load persistent data into local storage - ${err.toString()}`\n console.error(error);\n reject(error);\n }\n );\n }, reject);\n } else {\n resolve();\n }\n });\n }\n\n migrateCache(excludedKeys: string[]): Promise {\n return new Promise((resolve, reject) => {\n AWProxy\n .persistentStorage()\n .migrateCache(excludedKeys)\n .then(resolve);\n });\n }\n\n private usePersistentStorage(): boolean {\n return this.options.usePersistentStorage;\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {AWCache} from '../storage/cache';\n\nexport class AWOfflineManager extends AWPlugin {\n\n status: string;\n online: boolean;\n offline: boolean;\n cache: any;\n queue: any[];\n cacheKey: string;\n options: any;\n\n constructor(options?: any) {\n super(noop, noop);\n\n let document;\n this.cacheKey = '__appworksjs.deferredQueue';\n this.cache = new AWCache();\n this.options = options || {preserveEvents: false};\n\n document = AWProxy.document();\n // process deferred queue when network status changes\n document.addEventListener('online', () => {\n this.processDeferredQueue();\n });\n\n const queue = this.cache.getItem(this.cacheKey);\n if (queue) {\n this.queue = JSON.parse(queue);\n } else {\n this.queue = [];\n this.saveQueue();\n }\n // process the deferred queue upon object instantiation if we are currently online\n if (this.networkStatus().online) {\n this.processDeferredQueue();\n }\n }\n\n defer(eventName: string, args: any) {\n this.queue.push({\n event: eventName,\n args: JSON.stringify(args)\n });\n this.saveQueue();\n return (this.queue.length - 1);\n }\n\n cancel(id: number) {\n if (id > -1) {\n this.queue.splice(id, 1);\n this.saveQueue();\n }\n }\n\n networkStatus(): any {\n return {\n online: AWProxy.connection().type !== AWProxy.Connection().NONE,\n offline: AWProxy.connection().type === AWProxy.Connection().NONE,\n connection: AWProxy.connection()\n };\n }\n\n private saveQueue() {\n this.cache.setItem(this.cacheKey, JSON.stringify(this.queue));\n }\n\n private processDeferredQueue() {\n let self = this;\n\n setTimeout(function () {\n self.queue.forEach(function (deferred) {\n self.dispatchEvent(deferred);\n });\n if (!self.options.preserveEvents) {\n self.queue = [];\n self.saveQueue();\n }\n }, 5000);\n }\n\n private dispatchEvent(data?: any) {\n let event = new CustomEvent(data.event, {detail: data.args});\n document.dispatchEvent(event);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWPage extends AWPlugin {\n setPageUrl(url: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'setPageUrl',\n [url]\n );\n }\n\n openModalAppWebView(url: string, title: string, closeTitle: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'showModalAppWebView',\n [url, title, closeTitle]\n );\n }\n\n openModalExternalWebView(url: string, title: string, closeTitle: string, options?: object) {\n if (typeof options === 'undefined' || !options) {\n options = {};\n }\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'showModalExternalWebView',\n [url, title, closeTitle, options]\n );\n }\n\n setActionButtonCallback(callback: any, actionTitle: string) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWPage',\n 'setModalAppWebViewActionCallback',\n [actionTitle]\n );\n }\n\n closeModalAppWebView() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'closeModalAppWebView',\n []\n );\n }\n\n video(success: any, error: any, url: string) {\n AWProxy.exec(\n success,\n error,\n 'AWPage',\n 'video',\n [url]\n );\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Print extends AWPlugin {\n print(options?: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPrint',\n 'print',\n [options]\n );\n }\n\n getPrinters() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPrint',\n 'getPrinters',\n []\n );\n }\n\n printToPDF(options?: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPrint',\n 'printToPDF',\n [options]\n );\n }\n}\n\nexport class AWPrint extends Print {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class QRReader extends AWPlugin {\n scan() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWQRCodeReader',\n 'scan',\n []\n );\n }\n\n rename() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWQRCodeReader',\n 'rename',\n []\n );\n }\n\n barcode(multiple?: boolean, timeout?: number, finishTitle?: string, cancelTitle?: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWQRCodeReader',\n 'barcode',\n [multiple, timeout, finishTitle, cancelTitle]\n );\n }\n}\n\nexport class AWQRReader extends QRReader {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Realm extends AWPlugin {\n FIELD_OBJECT_NAME = 'name';\n FIELD_OBJECT_TYPE = 'type';\n FIELD_OBJECT_PRIMARYKEY = 'key';\n FIELD_OBJECT_INDEX = 'index';\n FIELD_OBJECT_RELATIONSHIP = 'relationship';\n\n OBJECT_DESCRIPTION_NAME = 'name';\n OBJECT_DESCRIPTION_TYPE = 'type';\n OBJECT_DESCRIPTION_FIELDS = 'fields';\n OBJECT_DESCRIPTION_KEY = 'key';\n OBJECT_DESCRIPTION_INDEX = 'index';\n\n FIELD_TYPE_STRING = 'STRING';\n FIELD_TYPE_INTEGER = 'INTEGER';\n FIELD_TYPE_BOOLEAN = 'BOOLEAN';\n FIELD_TYPE_LONG = 'LONG';\n FIELD_TYPE_SHORT = 'SHORT';\n FIELD_TYPE_DOUBLE = 'DOUBLE';\n FIELD_TYPE_FLOAT = 'FLOAT';\n FIELD_TYPE_BINARY = 'BINARY';\n FIELD_TYPE_BYTE = 'BYTE';\n FIELD_TYPE_OBJECT = 'OBJECT';\n FIELD_TYPE_LIST = 'LIST';\n FIELD_TYPE_DATE = 'DATE';\n\n QUERY_OBJECT_NAME = 'object';\n QUERY_TYPE = 'type';\n QUERY_FIELD = 'field';\n QUERY_SORT = 'sort';\n QUERY_SORT_ASC = 'asc';\n QUERY_SORT_DESC = 'desc';\n\n QUERY_VALUE = 'value';\n QUERY_VALUE_2 = 'value2';\n\n QUERY_TYPE_BEGIN_GROUP = 'beginGroup';\n QUERY_TYPE_END_GROUP = 'endGroup';\n QUERY_TYPE_AND = 'and';\n QUERY_TYPE_OR = 'or';\n\n QUERY_TYPE_EQUAL_TO = 'equalTo';\n QUERY_TYPE_NOT_EQUAL_TO = 'notEqualTo';\n QUERY_TYPE_BEGINS_WITH = 'beginsWith';\n QUERY_TYPE_ENDS_WITH = 'endsWith';\n QUERY_TYPE_CONTAINS = 'contains';\n QUERY_TYPE_BETWEEN = 'between';\n QUERY_TYPE_GREATER_THAN = 'greaterThan';\n QUERY_TYPE_GREATER_THAN_OR_EQUAL_TO = 'greaterThanOrEqualTo';\n QUERY_TYPE_LESS_THAN = 'lessThan';\n QUERY_TYPE_LESS_THAN_OR_EQUAL_TO = 'lessThanOrEqualTo';\n QUERY_TYPE_LIKE = 'like';\n QUERY_TYPE_IN = 'in';\n queryBuilder = {\n arr: [],\n subArray: [],\n inSubArray: false,\n addToArray: function (obj: object, isSubArray: boolean) {\n if (isSubArray) {\n this.subArray.push(obj);\n } else {\n this.arr.push(obj);\n }\n },\n equalTo: function (field: string, value: any) {\n let obj = {\n 'type': 'equalTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n notEqualTo: function (field: string, value: any) {\n let obj = {\n 'type': 'notEqualTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n beginsWith: function (field: string, value: any) {\n let obj = {\n 'type': 'beginsWith',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n endsWith: function (field: string, value: any) {\n let obj = {\n 'type': 'endsWith',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n contains: function (field: string, value: any) {\n let obj = {\n 'type': 'contains',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n between: function (field: string, value: any, value2: any) {\n let obj = {\n 'type': 'between',\n 'field': field,\n 'value': value,\n 'value2': value2\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n greaterThan: function (field: string, value: any) {\n let obj = {\n 'type': 'greaterThan',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n greaterThanOrEqualTo: function (field: string, value: any) {\n let obj = {\n 'type': 'greaterThanOrEqualTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n lessThan: function (field: string, value: any) {\n let obj = {\n 'type': 'lessThan',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n lessThanOrEqualTo: function (field: string, value: any) {\n let obj = {\n 'type': 'lessThanOrEqualTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n like: function (field: string, value: any) {\n let obj = {\n 'type': 'like',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n and: function () {\n let obj = {\n 'type': 'and'\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n or: function () {\n let obj = {\n 'type': 'or'\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n beginGroup: function () {\n this.subArray = [];\n this.inSubArray = true;\n return this;\n },\n endGroup: function () {\n this.arr.push(this.subArray);\n this.inSubArray = false;\n return this;\n },\n done: function () {\n let tempArray = this.arr;\n this.clear();\n return tempArray;\n },\n clear: function () {\n this.inSubArray = false;\n this.subArray = [];\n this.arr = [];\n }\n };\n\n startRealm(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'start_realm',\n []\n );\n }\n\n getAllObjectNames(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'get_all_object_names',\n []\n );\n }\n\n objectExists(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'object_exists',\n [objectName]\n );\n }\n\n createObject(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'create_object',\n [objectName]\n );\n }\n\n addField(objectName: string, field: object, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'add_field',\n [objectName, field]\n );\n }\n\n addFields(objectName: string, field: Array, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'add_fields',\n [objectName, field]\n );\n }\n\n describeObject(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'describe_object',\n [objectName]\n );\n }\n\n objectHasField(objectName: string, fieldName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'object_has_field',\n [objectName, fieldName]\n );\n }\n\n getFieldType(objectName: string, fieldName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'get_field_type',\n [objectName, fieldName]\n );\n }\n\n insert(objectName: string, dataObject: object, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'insert',\n [objectName, dataObject]\n );\n }\n\n update(objectName: string, dataObject: object, queryArray: Array, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'update',\n [objectName, dataObject, queryArray]\n );\n }\n\n select(objectName: string, queryArray: Array, sort: object, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'select',\n [objectName, queryArray, sort]\n );\n }\n\n remove(objectName: string, queryArray: Array, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'remove',\n [objectName, queryArray]\n );\n }\n\n removeAll(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'remove_all',\n [objectName]\n );\n }\n}\n\nexport class AWRealm extends Realm {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class SecureStorage extends AWPlugin {\n\n static idCounter = 0;\n seqNo: number;\n onprogress: any;\n\n constructor(successHandler: any, errorHandler?: any) {\n super(successHandler, errorHandler);\n this.seqNo = ++SecureStorage.idCounter;\n this.onprogress = null;\n }\n\n store(url: string, target: string, options?: any, encodeUri = true) {\n let args = [encodeUri ? encodeURI(url) : url, target, false, this.seqNo, options && options.headers],\n completionHandler = () => this.successHandler,\n progressHandler = this.onprogress,\n progress;\n\n function newProgressEvent(result: any) {\n let pe = new ProgressEvent(null);\n (pe as any).lengthComputable = result.lengthComputable;\n (pe as any).loaded = result.loaded;\n (pe as any).total = result.total;\n return pe;\n }\n\n progress = function (result) {\n if (typeof result.lengthComputable !== 'undefined') {\n if (progressHandler) {\n progressHandler(newProgressEvent(result));\n }\n } else {\n if (completionHandler) {\n completionHandler()(result);\n }\n }\n };\n AWProxy.exec(\n progress,\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'store',\n args\n );\n }\n\n retrieve(filename: string, options?: any) {\n let args = [filename, options];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'retrieve',\n args\n );\n }\n\n remove(target: string) {\n let args = [target];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'removeFile',\n args\n );\n }\n\n fileExistsAtPath(target: string) {\n let args = [target];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'fileExistsAtPath',\n args\n );\n }\n}\n\nexport class AWSecureStorage extends SecureStorage {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Shake extends AWPlugin {\n enableShake(callback: any) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWShake',\n 'enableShake',\n []\n );\n }\n\n disableShake(callback: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWShake',\n 'disableShake',\n []\n );\n }\n}\n\nexport class AWShake extends Shake {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWVibration extends AWPlugin {\n\n constructor() {\n super(noop, noop);\n }\n\n vibrate(time: number) {\n return AWProxy.vibrate(time);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {InAppBrowser, InAppBrowserEvent} from './index';\n\nexport class AWWebView extends AWPlugin {\n\n constructor() {\n super(noop, noop);\n }\n\n open(url: string, target?: string, options?: any): InAppBrowser {\n return AWProxy.webview().open(url, target, options);\n }\n\n addEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.webview().addEventListener(type, callback);\n }\n\n removeEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.webview().removeEventListener(type, callback);\n }\n\n show(): void {\n AWProxy.webview().show();\n }\n\n close(): void {\n AWProxy.webview().close();\n }\n\n executeScript(script: string, callback: (result: any) => void): void {\n AWProxy.webview().executeScript(script, callback);\n }\n\n insertCSS(script: string, callback: (result: any) => void): void {\n AWProxy.webview().insertCSS(script, callback);\n }\n}\n","import {AWAccelerometer as _AWAccelerometer} from './plugins/accelerometer/accelerometer';\nimport {AWAnonymous as _AWAnonymous} from './plugins/anonymous/anonymous';\nimport {AWAppManager as _AWAppManager} from './plugins/app-manager/app-manager';\nimport {AWAuth as _AWAuth} from './plugins/auth/auth';\nimport {AWCalendar as _AWCalendar} from './plugins/calendar/calendar';\nimport {AWCamera as _AWCamera} from './plugins/camera/camera';\nimport {AWComponent as _AWComponent} from './plugins/component/component';\nimport {AWContacts as _AWContacts} from './plugins/contacts/contacts';\nimport {AWCompass as _AWCompass} from './plugins/device-orientation/compass';\nimport {AWDevice as _AWDevice} from './plugins/device/device';\nimport {AWScanner as _AWScanner} from './plugins/document-scanner/scanner';\nimport {AWFileTransfer as _AWFileTransfer} from './plugins/file-transfer/file-transfer';\nimport {AWFileChooser as _AWFileChooser} from './plugins/file/file-chooser';\nimport {AWFileSystem as _AWFileSystem} from './plugins/file/file-system';\nimport {AWFinder as _AWFinder} from './plugins/finder/finder';\nimport {AWGlobalization as _AWGlobalization} from './plugins/globalization/globalization';\nimport {AWHeaderBar as _AWHeaderBar} from './plugins/header/header';\nimport {AWKeyboard as _AWKeyboard} from './plugins/keyboard/keyboard';\nimport {AWLauncher as _AWLauncher} from './plugins/launcher/launcher';\nimport {AWLocation as _AWLocation} from './plugins/location/location';\nimport {AWMediaCapture as _AWMediaCapture} from './plugins/media-transfer/media-capture';\nimport {AWMedia as _AWMedia} from './plugins/media/media';\nimport {AWMenu as _AWMenu} from './plugins/menu/menu';\nimport {AWMobileFileSystem as _AWMobileFileSystem} from './plugins/mobile-file-system/mobile-file-system';\nimport {AWNotificationManager as _AWNotificationManager} from './plugins/notifications/notifications';\nimport {AWOfflineManager as _AWOfflineManager} from './plugins/offline/offline-manager';\nimport {AWPage as _AWPage} from './plugins/page/page';\nimport {AWPrint as _AWPrint} from './plugins/print/print';\nimport {AWQRReader as _AWQRReader} from './plugins/qr-reader/qr-reader';\nimport {AWRealm as _AWRealm} from './plugins/realm/realm';\nimport {AWCache as _AWCache} from './plugins/storage/cache';\nimport {AWSecureStorage as _AWSecureStorage} from './plugins/storage/secure-storage';\nimport {AWShake as _AWShake} from './plugins/shake/shake';\nimport {AWVibration as _AWVibration} from './plugins/vibration/vibration';\nimport {AWWebView as _AWWebView} from './plugins/webview/webview';\n\n// Accelerometer plugin and alias -- [mobile]\nexport const Accelerometer = _AWAccelerometer;\nexport const AWAccelerometer = _AWAccelerometer;\n// Anonymous plugin and alias -- [mobile]\nexport const Anonymous = _AWAnonymous;\nexport const AWAnonymous = _AWAnonymous;\n// AppManager plugin and alias -- [mobile]\nexport const AppManager = _AWAppManager;\nexport const AWAppManager = _AWAppManager;\n// Auth plugin and alias -- [desktop/mobile]\nexport const Auth = _AWAuth;\nexport const AWAuth = _AWAuth;\n// Cache plugin and alias -- [desktop/mobile]\nexport const Cache = _AWCache;\nexport const AWCache = _AWCache;\n// Calendar plugin and alias -- [desktop/mobile]\nexport const Calendar = _AWCalendar;\nexport const AWCalendar = _AWCalendar;\n// Camera plugin and alias -- [mobile]\nexport const Camera = _AWCamera;\nexport const AWCamera = _AWCamera;\n// Compass plugin and alias -- [mobile]\nexport const Compass = _AWCompass;\nexport const AWCompass = _AWCompass;\n// Component plugin and alias -- [mobile]\nexport const Component = _AWComponent;\nexport const AWComponent = _AWComponent;\n// Contacts plugin and alias -- [mobile]\nexport const Contacts = _AWContacts;\nexport const AWContacts = _AWContacts;\n// Device plugin and alias -- [desktop/mobile]\nexport const Device = _AWDevice;\nexport const AWDevice = _AWDevice;\n// FileChooser plugin and alias -- [mobile]\nexport const FileChooser = _AWFileChooser;\nexport const AWFileChooser = _AWFileChooser;\n// FileTransfer plugin and alias -- [desktop/mobile]\nexport const FileTransfer = _AWFileTransfer;\nexport const AWFileTransfer = _AWFileTransfer;\n// Finder plugin and alias -- [mobile]\nexport const Finder = _AWFinder;\nexport const AWFinder = _AWFinder;\n// Globalization plugin and alias -- [mobile]\nexport const Globalization = _AWGlobalization;\nexport const AWGlobalization = _AWGlobalization;\n// Header plugin and alias -- [mobile]\nexport const HeaderBar = _AWHeaderBar;\nexport const Header = _AWHeaderBar;\nexport const AWHeader = _AWHeaderBar;\nexport const AWHeaderBar = _AWHeaderBar;\n// Keyboard plugin and alias -- [mobile]\nexport const Keyboard = _AWKeyboard;\nexport const AWKeyboard = _AWKeyboard;\n// Location plugin and alias -- [mobile]\nexport const Location = _AWLocation;\nexport const AWLocation = _AWLocation;\n// Launcher plugin and alias -- [mobile]\nexport const Launcher = _AWLauncher;\nexport const AWLauncher = _AWLauncher;\n// Media plugin and alias -- [mobile]\nexport const Media = _AWMedia;\nexport const AWMedia = _AWMedia;\n// MediaCapture plugin and alias -- [mobile]\nexport const MediaCapture = _AWMediaCapture;\nexport const AWMediaCapture = _AWMediaCapture;\n// Menu plugin and alias -- [mobile]\nexport const Menu = _AWMenu;\nexport const AWMenu = _AWMenu;\nexport const AWHamburgerMenu = _AWMenu;\nexport const HamburgerMenu = _AWMenu;\n// MobileFileSystem plugin and alias -- [mobile]\nexport const MobileFileSystem = _AWMobileFileSystem;\nexport const AWMobileFileSystem = _AWMobileFileSystem;\n// NotificationManager plugin and alias -- [mobile]\nexport const NotificationManager = _AWNotificationManager;\nexport const AWNotificationManager = _AWNotificationManager;\n// OfflineManager plugin and alias -- [mobile]\nexport const OfflineManager = _AWOfflineManager;\nexport const AWOfflineManager = _AWOfflineManager;\n// Page plugin and alias -- [mobile]\nexport const Page = _AWPage;\nexport const AWPage = _AWPage;\n// Print plugin and alias --[desktop]\nexport const Print = _AWPrint;\nexport const AWPrint = _AWPrint;\n// QRReader plugin and alias -- [mobile]\nexport const QRReader = _AWQRReader;\nexport const AWQRReader = _AWQRReader;\n// Realm plugin and alias -- [mobile]\nexport const Realm = _AWRealm;\nexport const AWRealm = _AWRealm;\n// Scanner plugin and alias -- [mobile]\nexport const Scanner = _AWScanner;\nexport const AWScanner = _AWScanner;\n// SecureStorage plugin and alias -- [mobile]\nexport const SecureStorage = _AWSecureStorage;\nexport const AWSecureStorage = _AWSecureStorage;\n// Shake plugin and alias -- [mobile]\nexport const Shake = _AWShake;\nexport const AWShake = _AWShake;\n// Vibration plugin and alias -- [mobile]\nexport const Vibration = _AWVibration;\nexport const AWVibration = _AWVibration;\n// Webview plugin and alias -- [mobile]\nexport const WebView = _AWWebView;\nexport const AWWebView = _AWWebView;\n// FileSystem -- [desktop]\nexport const AWFileSystem = _AWFileSystem;\n"],"names":["functionToCheck","getType","toString","call","LocalFileSystem","successHandler","errorHandler","this","MockAccelerometer","accelerometerSuccess","accelerometerError","accelerometerOptions","watchID","MockCamera","onSuccess","onError","cameraSuccess","cameraError","cameraOptions","MockCapture","options","MockCompass","id","MockConnection","type","listener","useCapture","fieldType","MockContacts","properties","fields","MockFileTransfer","fileURL","server","successCallback","errorCallback","trustAllHosts","source","target","MockGeolocation","watchId","src","statusChangeHandler","MockMedia","mediaSuccess","mediaError","iosPlayOptions","position","volume","name","MockNotification","message","alertCallback","title","buttonName","times","confirmCallback","buttonLabels","promptCallback","defaultText","global","factory","module","objectOrFunction","x","isFunction","setScheduler","scheduleFn","customSchedulerFn","setAsap","asapFn","asap","useVertxTimer","vertxNext","flush","useSetTimeout","globalSetTimeout","setTimeout","i","len","callback","queue","undefined","then","onFulfillment","onRejection","_arguments","arguments","parent","child","constructor","noop","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","resolve","object","Constructor","promise","_resolve","selfFulfillment","TypeError","cannotReturnOwn","getThen","error","GET_THEN_ERROR","tryThen","value","fulfillmentHandler","rejectionHandler","e","handleForeignThenable","thenable","sealed","fulfill","reason","_reject","_label","handleOwnThenable","FULFILLED","REJECTED","handleMaybeThenable","maybeThenable","then$$","publishRejection","_onerror","publish","PENDING","_subscribers","length","subscribers","settled","detail","ErrorObject","tryCatch","TRY_CATCH_ERROR","hasCallback","succeeded","failed","initializePromise","resolver","nextId","Enumerator","input","_instanceConstructor","isArray","_input","_remaining","Array","_enumerate","validationError","Error","all","entries","race","reject","_","needsResolver","needsNew","Promise","polyfill","local","self","Function","P","promiseToString","Object","prototype","cast","_isArray","arg","scheduleFlush","browserWindow","window","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","process","isWorker","Uint8ClampedArray","importScripts","MessageChannel","nextTick","iterations","observer","node","document","createTextNode","observe","characterData","data","channel","port1","onmessage","port2","postMessage","require","r","vertx","runOnLoop","runOnContext","Math","random","substring","_eachEntry","entry","c","resolve$$","_then","_settledAt","_willSettleAt","state","enumerator","_setScheduler","_setAsap","_asap","catch","PersistentStorageMock","_excludedKeys","MockVibrate","time","desktopPlugin","desktopStorage","DesktopStorage","excludedKeys","PLUGIN_NOT_FOUND","key","storage","AWProxy","getItem","indexOf","push","setter","obj","_this","setItem","map","getData","hasOwnProperty","OnDeviceStorage","keys","writeDataToPersistentStorage","JSON","stringify","readDataFromPersistentStorage","json","parse","item","readDataAWCacheFile","persistentStorage","persistLocalStorage","deleteAWCacheFile","fileSystem","root","getFile","create","exclusive","gotFileEntry","file","gotFile","readAsText","reader","FileReader","onloadend","evt","console","log","result","requestFileSystem","localFileSystem","PERSISTENT","gotFS","fileEntry","remove","exec","isNaN","MockLocalStorage","index","isMobileEnv","localStorage","AWStorage","keys_1","_i","removeItem","clear","DesktopWebviewSequenceStore","seqNo","DesktopWebview","url","script","css","callbackQueue","deviceReady","addEventListener","forEach","method","args","isDesktopEnv","execDesktop","execMobile","err","navigator","accelerometer","camera","Camera","DestinationType","DATA_URL","FILE_URI","NATIVE_URI","Direction","BACK","FRONT","EncodingType","JPEG","PNG","MediaType","PICTURE","VIDEO","ALLMEDIA","PictureSourceType","PHOTOLIBRARY","CAMERA","SAVEDPHOTOALBUM","PopoverArrowDirection","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","ARROW_ANY","compass","connection","Connection","UNKNOWN","ETHERNET","WIFI","CELL_2G","CELL_3G","CELL_4G","CELL","NONE","contacts","_device","device","cordova","available","model","platform","uuid","version","manufacturer","isVirtual","serial","capture","documentsDirectory","doGetFileTransfer","plugin","getDesktopPlugin","FileTransfer","geolocation","Media","notification","size","vibrate","InAppBrowser","__aw_plugin_proxy","pluginName","getPlugin","__extends","AWAccelerometer","getCurrentAcceleration","watchAcceleration","clearWatch","AWPlugin","AWAnonymous","AWAppManager","success","AWAuth","force","_super","AWCalendar","firstReminderMinutes","secondReminderMinutes","recurrence","recurrenceInterval","recurrenceWeekstart","recurrenceByDay","recurrenceByMonthDay","recurrenceEndDate","recurrenceCount","calendarName","calendarId","calendarColor","date","getTime","location","notes","startDate","endDate","getCalendarOptions","startTime","endTime","createEventWithOptions","createEventInteractivelyWithOptions","findEventWithOptions","newTitle","newLocation","newNotes","newStartDate","newEndDate","newOptions","newStartTime","modifyEventWithOptions","AWCamera","cleanup","getPicture","destinationType","sourceType","encodingType","mediaType","correctOrientation","saveToPhotoAlbum","AWComponent","AWContacts","contact","find","pickContact","AWCompass","getCurrentHeading","watchHeading","Scanner","returnType","fileTransfer","filetransfer","onprogress","AWFileTransfer","abort","shared","containerUrl","download","encodeURI","gotSharedContainerUrl","toEnvFilePath","handler","upload","fileUrl","AWFileChooser","action","AWFileSystem","validateEnv","path","append","from","to","opts","openFileCallback","desktopEnvError","AWFinder","filename","openDirect","AWGlobalization","successFn","errorFn","LeftOne","LeftTwo","RightOne","RightTwo","Hamburger","Back","Settings","Appmenu","None","Dots","Search","AppmenuHighlight","Close","DismissAll","Edit","AWHeaderBar","config","shouldMaskHeader","AWKeyboard","hide","disable","AWLauncher","AWLocation","getCurrentPosition","watchPosition","supportedAudioModes","supportedImageModes","supportedVideoModes","AWMediaCapture","captureAudio","captureImage","captureVideo","media","duration","AWMedia","getDuration","pause","play","release","seekTo","setVolume","startRecord","stop","stopRecord","AWMenu","items","menuSections","shouldShowMenu","openListener","AWMobileFileSystem","directory","destination","desintationShared","sourceShared","destinationShared","headers","fileParameterName","formData","AWNotificationManager","identifier","subtitle","seconds","includeSeqNo","getOpeningNotification","topicName","alert","beep","confirm","prompt","usePersistentStorage","AWCache","migrateCache","loadPersistentData","cacheKey","cache","preserveEvents","processDeferredQueue","saveQueue","networkStatus","online","AWOfflineManager","eventName","event","splice","offline","deferred","dispatchEvent","CustomEvent","AWPage","closeTitle","actionTitle","Print","QRReader","multiple","timeout","finishTitle","cancelTitle","arr","subArray","inSubArray","addToArray","isSubArray","equalTo","field","notEqualTo","beginsWith","endsWith","contains","between","value2","greaterThan","greaterThanOrEqualTo","lessThan","lessThanOrEqualTo","like","and","or","beginGroup","endGroup","done","tempArray","Realm","objectName","fieldName","dataObject","queryArray","sort","SecureStorage","idCounter","encodeUri","pe","ProgressEvent","lengthComputable","loaded","total","progress","completionHandler","progressHandler","newProgressEvent","Shake","AWVibration","AWWebView","webview","open","removeEventListener","show","close","executeScript","insertCSS","Accelerometer","_AWAccelerometer","Anonymous","_AWAnonymous","AppManager","_AWAppManager","Auth","_AWAuth","Cache","_AWCache","Calendar","_AWCalendar","_AWCamera","Compass","_AWCompass","Component","_AWComponent","Contacts","_AWContacts","Device","_AWDevice","AWDevice","FileChooser","_AWFileChooser","_AWFileTransfer","Finder","_AWFinder","Globalization","_AWGlobalization","HeaderBar","_AWHeaderBar","Header","AWHeader","Keyboard","_AWKeyboard","Location","_AWLocation","Launcher","_AWLauncher","_AWMedia","MediaCapture","_AWMediaCapture","Menu","_AWMenu","AWHamburgerMenu","HamburgerMenu","MobileFileSystem","_AWMobileFileSystem","NotificationManager","_AWNotificationManager","OfflineManager","_AWOfflineManager","Page","_AWPage","_AWPrint","AWPrint","_AWQRReader","AWQRReader","_AWRealm","AWRealm","_AWScanner","AWScanner","_AWSecureStorage","AWSecureStorage","_AWShake","AWShake","Vibration","_AWVibration","WebView","_AWWebView","_AWFileSystem"],"mappings":"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SE,EACApa,EACAC,GACP5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,YACCma,KAILF,4BAAA,SAAgBE,EACApa,EACAC,GACd5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,mBACCma,KAILF,iBAAA,SAAKI,EAAcC,EACdva,EACAC,GACH5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,QACCqa,EAAMC,KAIXL,iBAAA,SAAKE,EACApa,EACAC,GACH5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,QACCma,KAILF,mBAAA,SAAOE,EACApa,EACAC,GACL5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,UACCma,KAILF,mCAAA,SAAuBE,EACAzD,EACA3W,EACAC,GACrB5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,0BACCma,EAAMzD,KAIXuD,uBAAA,SAAWE,EACApa,EACAC,GACT5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,cACCma,KAILF,4BAAA,SAAgBE,EACApa,EACAC,GACd5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,mBACCma,KAILF,2BAAA,SAAeM,EACAxa,EACAC,GACb5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,kBACCua,KAILN,4BAAA,SAAgBM,EACAxa,EACAC,GACd5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,mBACCua,KAILN,6BAAA,SAAiBM,EACAxa,EACAC,GACf5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,oBACCua,KAILN,uBAAA,SAAWO,EACAza,EACAC,GACT5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,cACCwa,KAILP,mBAAA,SAAOE,EACApa,EACAC,GACH5B,KAAK8b,cACL5N,EAAQ8C,KACJrP,EACAC,EACA,eACA,UACCma,KAQTF,wBAAA,WACE,IA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"} \ No newline at end of file +{"version":3,"file":"appworks.min.js","sources":["../src/common/util.ts","../src/common/plugin.ts","../src/plugins/file/local-file-system.ts","../test/mock/accelerometer.ts","../test/mock/camera.ts","../test/mock/capture.ts","../test/mock/compass.ts","../test/mock/connection.ts","../test/mock/contacts.ts","../test/mock/file-transfer.ts","../test/mock/geolocation.ts","../test/mock/media.ts","../test/mock/notifications.ts","../node_modules/es6-promise/dist/es6-promise.js","../test/mock/persistent-storage.ts","../test/mock/vibrate.ts","../src/plugins/storage/desktop-storage.ts","../src/plugins/storage/on-device-storage.ts","../test/mock/local-storage.ts","../src/plugins/storage/storage.ts","../src/plugins/webview/desktop-webview.ts","../src/common/proxy.ts","../src/plugins/accelerometer/accelerometer.ts","../src/plugins/anonymous/anonymous.ts","../src/plugins/app-manager/app-manager.ts","../src/plugins/auth/auth.ts","../src/plugins/calendar/calendar.ts","../src/plugins/camera/camera.ts","../src/plugins/component/component.ts","../src/plugins/contacts/contacts.ts","../src/plugins/device-orientation/compass.ts","../src/plugins/device/device.ts","../src/plugins/document-scanner/scanner.ts","../src/plugins/file-transfer/file-transfer.ts","../src/plugins/file/file-chooser.ts","../src/plugins/file/file-system.ts","../src/plugins/finder/finder.ts","../src/plugins/globalization/globalization.ts","../src/plugins/header/header.ts","../src/plugins/keyboard/keyboard.ts","../src/plugins/launcher/launcher.ts","../src/plugins/location/location.ts","../src/plugins/media-transfer/media-capture.ts","../src/plugins/media/media.ts","../src/plugins/menu/menu.ts","../src/plugins/mobile-file-system/mobile-file-system.ts","../src/plugins/notifications/notifications.ts","../src/plugins/storage/cache.ts","../src/plugins/offline/offline-manager.ts","../src/plugins/page/page.ts","../src/plugins/print/print.ts","../src/plugins/qr-reader/qr-reader.ts","../src/plugins/realm/realm.ts","../src/plugins/storage/secure-storage.ts","../src/plugins/shake/shake.ts","../src/plugins/vibration/vibration.ts","../src/plugins/webview/webview.ts","../src/appworks.ts"],"sourcesContent":["/**\n * Collection of utility functions\n */\nimport {AWProxy} from './proxy';\n\nexport function noop() {\n}\n\nexport function isFunction(functionToCheck) {\n const getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\nexport function isDesktopEnv() {\n return AWProxy.isDesktopEnv();\n}\n\nexport function isMobileEnv() {\n return AWProxy.isMobileEnv();\n}\n","export abstract class AWPlugin {\n /**\n * Base plugin class. Constructor takes in a success function and error function to be executed upon\n * return from call to native layer\n * @param successHandler - the function to be executed when the native call succeeds. passes an object as arg\n * @param errorHandler - the function to be executed when the native call fails. passes an object as arg.\n */\n constructor(protected successHandler: any, protected errorHandler: any) {\n }\n}\n","export enum LocalFileSystem {\n PERSISTENT = 0,\n TEMPORARY = 1\n}\n","import {Acceleration, Accelerometer, AccelerometerOptions, WatchHandle} from \"../../src/plugins/device-motion/index\";\n\nexport class MockAccelerometer implements Accelerometer {\n getCurrentAcceleration(accelerometerSuccess: (acceleration: Acceleration) => void,\n accelerometerError: () => void,\n accelerometerOptions?: AccelerometerOptions): WatchHandle {\n return null;\n }\n\n watchAcceleration(accelerometerSuccess: (acceleration: Acceleration) => void,\n accelerometerError: () => void,\n accelerometerOptions?: AccelerometerOptions): WatchHandle {\n return null;\n }\n\n clearWatch(watchID: WatchHandle): void {\n\n }\n}\n","import {CameraInterface, CameraOptions} from \"../../src/plugins/camera/index\";\n\nexport class MockCamera implements CameraInterface {\n\n cleanup(\n onSuccess: () => void,\n onError: (message: string) => void): void {\n }\n\n getPicture(\n cameraSuccess: (data: string) => void,\n cameraError: (message: string) => void,\n cameraOptions?: CameraOptions): void {\n }\n}\n","import {\n AudioOptions,\n Capture,\n CaptureError,\n ConfigurationData,\n ImageOptions,\n MediaFile,\n VideoOptions\n} from \"../../src/plugins/media-transfer/index\";\n\nexport class MockCapture implements Capture {\n supportedAudioModes: ConfigurationData[];\n supportedImageModes: ConfigurationData[];\n supportedVideoModes: ConfigurationData[];\n\n captureAudio(onSuccess: (mediaFiles: MediaFile[]) => void,\n onError: (error: CaptureError) => void,\n options?: AudioOptions): void {\n\n }\n\n captureImage(onSuccess: (mediaFiles: MediaFile[]) => void,\n onError: (error: CaptureError) => void,\n options?: ImageOptions): void {\n\n }\n\n captureVideo(onSuccess: (mediaFiles: MediaFile[]) => void,\n onError: (error: CaptureError) => void,\n options?: VideoOptions): void {\n\n }\n}\n","import {Compass, CompassError, CompassHeading, CompassOptions} from \"../../src/plugins/device-orientation/index\";\n\nexport class MockCompass implements Compass {\n getCurrentHeading(\n onSuccess: (heading: CompassHeading) => void,\n onError: (error: CompassError) => void,\n options?: CompassOptions): void {\n }\n\n watchHeading(\n onSuccess: (heading: CompassHeading) => void,\n onError: (error: CompassError) => void,\n options?: CompassOptions): number {\n return null;\n }\n\n clearWatch(id: number): void {\n }\n}\n","import {ConnectionInterface} from \"../../src/plugins/network-information/index\";\n\nexport class MockConnection implements ConnectionInterface {\n type: string;\n\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void {\n\n }\n\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void {\n\n }\n}\n","import {Contact, ContactError, ContactFindOptions, ContactProperties, Contacts} from \"../../src/plugins/contacts/index\";\n\nexport class MockContacts implements Contacts {\n fieldType: any;\n\n constructor() {\n this.fieldType = {};\n }\n\n create(properties?: ContactProperties): Contact {\n return null;\n }\n\n find(fields: string[],\n onSuccess: (contacts: Contact[]) => void,\n onError?: (error: ContactError) => void,\n options?: ContactFindOptions): void {\n }\n\n pickContact(onSuccess: (contact: Contact) => void,\n onError: (error: ContactError) => void): void {\n }\n}\n","import {\n FileDownloadOptions,\n FileTransferError,\n FileTransferInterface,\n FileUploadOptions,\n FileUploadResult\n} from \"../../src/plugins/file-transfer/index\";\nimport {FileEntry} from \"../../src/plugins/file/index\";\n\nexport class MockFileTransfer implements FileTransferInterface {\n onprogress: (event: ProgressEvent) => void;\n\n upload(fileURL: string,\n server: string,\n successCallback: (result: FileUploadResult) => void,\n errorCallback: (error: FileTransferError) => void,\n options?: FileUploadOptions,\n trustAllHosts?: boolean): void {\n }\n\n download(source: string,\n target: string,\n successCallback: (fileEntry: FileEntry) => void,\n errorCallback: (error: FileTransferError) => void,\n trustAllHosts?: boolean,\n options?: FileDownloadOptions): void {\n }\n\n abort(): void {\n }\n}\n","import {Geolocation} from \"../../src/plugins/location/index\";\n\nexport class MockGeolocation implements Geolocation {\n clearWatch(watchId: number): void {\n }\n\n getCurrentPosition(successCallback: PositionCallback,\n errorCallback?: PositionErrorCallback,\n options?: PositionOptions): void {\n }\n\n watchPosition(successCallback: PositionCallback,\n errorCallback?: PositionErrorCallback,\n options?: PositionOptions): number {\n return null;\n }\n}\n","import {IosPlayOptions, MediaInterface} from \"../../src/plugins/media/index\";\n\nexport class MockMedia implements MediaInterface {\n position: number;\n duration: number;\n\n constructor(src, successHandler, errorHandler, statusChangeHandler) {\n\n }\n\n getCurrentPosition(mediaSuccess: (position: number) => void,\n mediaError?: (error: MediaError) => void): void {\n }\n\n getDuration(): number {\n return null;\n }\n\n play(iosPlayOptions?: IosPlayOptions): void {\n\n }\n\n pause(): void {\n\n }\n\n release(): void {\n\n }\n\n seekTo(position: number): void {\n\n }\n\n setVolume(volume: number): void {\n\n }\n\n startRecord(): void {\n\n }\n\n stopRecord(): void {\n\n }\n\n stop(): void {\n\n }\n}\n","import {Notification, NotificationPromptResult} from \"../../src/plugins/dialogs/index\";\n\nexport class MockNotification implements Notification {\n body: any = null;\n dir: any = null;\n icon: any = null;\n lang: any = null;\n onclick: any = null;\n onclose: any = null;\n onerror: any = null;\n onshow: any = null;\n permission: any = null;\n title: any = null;\n tag: any = null;\n close: any = null;\n addEventListener: any = (name: string) => {\n };\n removeEventListener: any = (name: string) => {\n };\n dispatchEvent: any = (name: string) => {\n };\n\n alert(message: string,\n alertCallback: () => void,\n title?: string,\n buttonName?: string): void {\n\n }\n\n beep(times: number): void {\n\n }\n\n confirm(message: string,\n confirmCallback: (choice: number) => void,\n title?: string,\n buttonLabels?: string[]): void {\n\n }\n\n prompt(message: string,\n promptCallback: (result: NotificationPromptResult) => void,\n title?: string,\n buttonLabels?: string[],\n defaultText?: string): void {\n\n }\n\n vibrate(): void {\n\n }\n\n vibrateWithPattern(): void {\n\n }\n\n cancelVibration(): void {\n\n }\n}\n","/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version 4.0.5\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n return typeof x === 'function' || typeof x === 'object' && x !== null;\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\nvar _isArray = undefined;\nif (!Array.isArray) {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n} else {\n _isArray = Array.isArray;\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = undefined;\nvar customSchedulerFn = undefined;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var r = require;\n var vertx = r('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = undefined;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var _arguments = arguments;\n\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n if (_state) {\n (function () {\n var callback = _arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n })();\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n _resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(16);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar GET_THEN_ERROR = new ErrorObject();\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n try {\n return promise.then;\n } catch (error) {\n GET_THEN_ERROR.error = error;\n return GET_THEN_ERROR;\n }\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n try {\n then.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n _resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n _reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n _reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n _reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return _resolve(promise, value);\n }, function (reason) {\n return _reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$) {\n if (maybeThenable.constructor === promise.constructor && then$$ === then && maybeThenable.constructor.resolve === resolve) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$ === GET_THEN_ERROR) {\n _reject(promise, GET_THEN_ERROR.error);\n } else if (then$$ === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$)) {\n handleForeignThenable(promise, maybeThenable, then$$);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction _resolve(promise, value) {\n if (promise === value) {\n _reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value, getThen(value));\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction _reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = undefined,\n callback = undefined,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction ErrorObject() {\n this.error = null;\n}\n\nvar TRY_CATCH_ERROR = new ErrorObject();\n\nfunction tryCatch(callback, detail) {\n try {\n return callback(detail);\n } catch (e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = undefined,\n error = undefined,\n succeeded = undefined,\n failed = undefined;\n\n if (hasCallback) {\n value = tryCatch(callback, detail);\n\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value = null;\n } else {\n succeeded = true;\n }\n\n if (promise === value) {\n _reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n succeeded = true;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n _resolve(promise, value);\n } else if (failed) {\n _reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n _reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n _resolve(promise, value);\n }, function rejectPromise(reason) {\n _reject(promise, reason);\n });\n } catch (e) {\n _reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this._input = input;\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate();\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n _reject(this.promise, validationError());\n }\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n};\n\nEnumerator.prototype._enumerate = function () {\n var length = this.length;\n var _input = this._input;\n\n for (var i = 0; this._state === PENDING && i < length; i++) {\n this._eachEntry(_input[i], i);\n }\n};\n\nEnumerator.prototype._eachEntry = function (entry, i) {\n var c = this._instanceConstructor;\n var resolve$$ = c.resolve;\n\n if (resolve$$ === resolve) {\n var _then = getThen(entry);\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise) {\n var promise = new c(noop);\n handleMaybeThenable(promise, entry, _then);\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$) {\n return resolve$$(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$(entry), i);\n }\n};\n\nEnumerator.prototype._settledAt = function (state, i, value) {\n var promise = this.promise;\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n _reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n};\n\nEnumerator.prototype._willSettleAt = function (promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n};\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n _reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {function} resolver\n Useful for tooling.\n @constructor\n*/\nfunction Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n}\n\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = resolve;\nPromise.reject = reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;\n\nPromise.prototype = {\n constructor: Promise,\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n \n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n \n Chaining\n --------\n \n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n \n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n \n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n \n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n \n Assimilation\n ------------\n \n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n \n If the assimliated promise rejects, then the downstream promise will also reject.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n \n Simple Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let result;\n \n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n \n Advanced Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let author, books;\n \n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n \n function foundBooks(books) {\n \n }\n \n function failure(reason) {\n \n }\n \n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n \n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n then: then,\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n \n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n \n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n \n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n \n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n 'catch': function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nfunction polyfill() {\n var local = undefined;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise;\n}\n\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\n\nreturn Promise;\n\n})));\n//# sourceMappingURL=es6-promise.map","import {PersistentStorage} from \"../../src/plugins/storage/index\";\n\nexport class PersistentStorageMock implements PersistentStorage {\n\n setExcludedKeys(_excludedKeys: string[]) {\n }\n\n persistLocalStorage(): Promise {\n return Promise.resolve();\n }\n\n loadPersistentData(): Promise {\n return Promise.resolve();\n }\n\n migrateCache(): Promise {\n return Promise.resolve();\n }\n}\n","export class MockVibrate {\n vibrate(time: number): void {\n }\n}\n","import {AWProxy} from '../../common/proxy';\nimport {AsyncStorage, PersistentStorage} from './index';\n\nexport class DesktopStorage implements PersistentStorage {\n\n private static readonly PLUGIN_NOT_FOUND: Error = new Error('Unable to resolve AWStorage desktop plugin');\n private desktopStorage: AsyncStorage;\n\n constructor(desktopPlugin: AsyncStorage) {\n this.desktopStorage = desktopPlugin;\n }\n\n persistLocalStorage(excludedKeys: string[]): Promise {\n if (this.desktopStorage === null) {\n return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND);\n }\n\n return new Promise((resolve, reject) => {\n let i,\n data = [],\n key,\n value;\n\n const storage = AWProxy.storage();\n for (i = 0; i < storage.length; i += 1) {\n key = storage.key(i);\n value = storage.getItem(key);\n if (excludedKeys.indexOf(key) === -1) {\n data.push({key: key, value: value});\n }\n }\n\n const setter = obj => this.desktopStorage.setItem(obj.key, obj.value);\n Promise.all(data.map(setter)).then(resolve, reject);\n });\n }\n\n loadPersistentData(): Promise {\n if (this.desktopStorage === null) {\n return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND);\n }\n return new Promise((resolve, reject) => {\n try {\n // get data is actually synchronous\n const data = this.desktopStorage.getData();\n const storage = AWProxy.storage();\n for (let key in data) {\n if (data.hasOwnProperty(key)) {\n storage.setItem(key, data[key]);\n }\n }\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n }\n\n migrateCache(excludedKeys: string[]): Promise {\n if (this.desktopStorage === null) {\n return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND);\n }\n\n return Promise.resolve(null);\n }\n}\n","import {AWProxy} from '../../common/proxy';\nimport {PersistentStorage} from './index';\n\n/**\n * The mobile environment implementation of persistent storage.\n */\nexport class OnDeviceStorage implements PersistentStorage {\n\n persistLocalStorage(excludedKeys: string[]): Promise {\n let i,\n data = {},\n key,\n value;\n\n const storage = AWProxy.storage()['storage'];\n for (i = 0; i < Object.keys(storage).length; i += 1) {\n key = Object.keys(storage)[i];\n value = storage[key];\n if (excludedKeys.indexOf(key) === -1) {\n data[key] = value;\n }\n }\n return new Promise((resolve, reject) => {\n this.writeDataToPersistentStorage(JSON.stringify(data)).then(resolve, reject);\n });\n }\n\n loadPersistentData(): Promise {\n return new Promise((resolve, reject) => {\n this.readDataFromPersistentStorage().then(\n (json) => {\n let data;\n if (json) {\n data = JSON.parse(json);\n for (let item in data) {\n if (data.hasOwnProperty(item)) {\n AWProxy.storage().setItem(item, data[item]);\n }\n }\n resolve();\n }\n }, reject);\n });\n }\n\n migrateCache(excludedKeys: string[]): Promise {\n return new Promise((resolve, reject) => {\n this.readDataAWCacheFile().then(\n (json) => {\n let data;\n if (json && json !== '') {\n data = JSON.parse(json);\n for (let item in data) {\n if (data.hasOwnProperty(item)) {\n AWProxy.storage().setItem(item, data[item]);\n }\n }\n AWProxy.persistentStorage().persistLocalStorage(excludedKeys)\n .then(\n () => this.deleteAWCacheFile().then(resolve, reject),\n reject);\n }\n resolve();\n }, (error) => {\n resolve();\n });\n });\n }\n\n private readDataAWCacheFile(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.requestFileSystem(AWProxy.localFileSystem().PERSISTENT, 0, gotFS, reject);\n\n function gotFS(fileSystem: any) {\n fileSystem.root.getFile('appworksjs.cache.json', {\n create: false,\n exclusive: false\n }, gotFileEntry, reject);\n }\n\n function gotFileEntry(entry: any) {\n entry.file(gotFile, reject);\n }\n\n function gotFile(file: any) {\n readAsText(file);\n }\n\n function readAsText(file: any) {\n let reader = new FileReader();\n reader.onloadend = function (evt) {\n console.log(evt);\n resolve((evt.target).result);\n };\n reader.readAsText(file);\n }\n });\n }\n\n private deleteAWCacheFile(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.requestFileSystem(AWProxy.localFileSystem().PERSISTENT, 0, gotFS, reject);\n\n function gotFS(fileSystem) {\n fileSystem.root.getFile(\n 'appworksjs.cache.json',\n {create: false, exclusive: false},\n gotFileEntry,\n reject);\n }\n\n function gotFileEntry(fileEntry) {\n fileEntry.remove(resolve, reject);\n }\n });\n }\n\n private readDataFromPersistentStorage(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n resolve,\n reject,\n 'AWCache',\n 'getAllCacheData',\n []\n );\n });\n }\n\n private writeDataToPersistentStorage(data): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n resolve,\n reject,\n 'AWCache',\n 'setAllCacheData',\n [data]\n );\n });\n }\n\n}\n","import {Storage} from \"../../src/plugins/storage/index\";\n\nexport class MockLocalStorage implements Storage {\n length: number;\n\n [key: string]: any;\n\n [index: number]: string;\n\n // allow tests to set a value if they need to\n constructor(len?: number) {\n this.length = isNaN(len) ? 0 : len;\n }\n\n getItem(key: string): any {\n return null;\n }\n\n setItem(key: string, value: string): void {\n }\n\n removeItem(key: string): void {\n }\n\n clear(): void {\n }\n\n key(index: number): string {\n return null;\n }\n\n}\n","import {MockLocalStorage} from '../../../test/mock/local-storage';\nimport {Storage} from './index';\n\n/**\n * Web local storage wrapper that hooks into the native persistent layer on mobile and desktop\n * The local and persistent storage are kept in, sync with update being flushed, and the local web\n * storage always acting as the reference.\n */\nexport class AWStorage implements Storage {\n\n [key: string]: any;\n\n [index: number]: string;\n\n /**\n * Storage implementation.\n */\n private storage: Storage;\n private isMobileEnv: boolean;\n\n constructor(isMobileEnv: boolean) {\n this.isMobileEnv = isMobileEnv;\n // resolve the local storage or fall back onto a mock impl\n if (this.isMobileEnv) {\n if (typeof window !== 'undefined') {\n if (typeof window['awcache'] === 'undefined') {\n window['awcache'] = {};\n }\n this.storage = window['awcache'];\n } else {\n this.storage = new MockLocalStorage();\n }\n } else {\n this.storage = (typeof window !== 'undefined') ?\n window.localStorage : new MockLocalStorage();\n }\n }\n\n get length(): number {\n return this.storage ? this.storage.length : -1;\n }\n\n clear(): void {\n if (this.isMobileEnv) {\n let keys = Object.keys(this.storage);\n for (let key of keys) {\n this.removeItem(key);\n }\n } else {\n this.storage.clear();\n }\n }\n\n getItem(key: string): any {\n if (this.isMobileEnv) {\n return this.storage[key];\n } else {\n return this.storage.getItem(key);\n }\n }\n\n key(index: number): string {\n return this.storage.key(index);\n }\n\n removeItem(key: string): void {\n if (this.isMobileEnv) {\n delete this.storage[key];\n } else {\n return this.storage.removeItem(key);\n }\n }\n\n setItem(key: string, data: any): void {\n if (this.isMobileEnv) {\n return this.storage[key] = data;\n } else {\n return this.storage.setItem(key, data);\n }\n }\n\n}\n","import {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {DesktopWebviewInterface, InAppBrowserEvent} from './index';\n\nconst DesktopWebviewSequenceStore = {\n seqNo: 0\n};\n\nexport class DesktopWebview implements DesktopWebviewInterface {\n\n private id: number;\n\n constructor() {\n this.id = DesktopWebviewSequenceStore.seqNo++;\n }\n\n addEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'addEventListener',\n [this.id, type, callback]\n );\n }\n\n removeEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'removeEventListener',\n [this.id, type, callback]\n );\n }\n\n close(): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'close',\n [this.id]\n );\n }\n\n show(): void {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'show',\n [this.id]\n );\n }\n\n open(url: string, target?: string, options?: any): DesktopWebview {\n AWProxy.exec(\n noop,\n noop,\n 'AWWebView',\n 'open',\n [this.id, url, target, options]\n );\n return this;\n }\n\n executeScript(script: any, callback: (result: any) => void): void {\n AWProxy.exec(\n callback,\n noop,\n 'AWWebView',\n 'executeScript',\n [this.id, script]\n );\n }\n\n insertCSS(css: any, callback: () => void): void {\n AWProxy.exec(\n callback,\n noop,\n 'AWWebView',\n 'insertCSS',\n [this.id, css]\n );\n }\n}\n","import {MockAccelerometer} from '../../test/mock/accelerometer';\nimport {MockCamera} from '../../test/mock/camera';\nimport {MockCapture} from '../../test/mock/capture';\nimport {MockCompass} from '../../test/mock/compass';\nimport {MockConnection} from '../../test/mock/connection';\nimport {MockContacts} from '../../test/mock/contacts';\nimport {MockFileTransfer} from '../../test/mock/file-transfer';\nimport {MockGeolocation} from '../../test/mock/geolocation';\nimport {MockMedia} from '../../test/mock/media';\nimport {MockNotification} from '../../test/mock/notifications';\nimport {PersistentStorageMock} from '../../test/mock/persistent-storage';\nimport {MockVibrate} from '../../test/mock/vibrate';\nimport {CameraInterface} from '../plugins/camera/index';\nimport {Contacts} from '../plugins/contacts/index';\nimport {Accelerometer} from '../plugins/device-motion/index';\nimport {Compass} from '../plugins/device-orientation/index';\nimport {Device} from '../plugins/device/index';\nimport {Notification} from '../plugins/dialogs/index';\nimport {FileTransferInterface} from '../plugins/file-transfer/index';\nimport {FileError, FileSystem} from '../plugins/file/index';\nimport {LocalFileSystem} from '../plugins/file/local-file-system';\nimport {MediaInterface} from '../plugins/media/index';\nimport {ConnectionInterface} from '../plugins/network-information/index';\nimport {DesktopStorage} from '../plugins/storage/desktop-storage';\nimport {PersistentStorage} from '../plugins/storage/index';\nimport {OnDeviceStorage} from '../plugins/storage/on-device-storage';\nimport {AWStorage} from '../plugins/storage/storage';\nimport {DesktopWebview} from '../plugins/webview/desktop-webview';\nimport {isFunction, noop} from './util';\n\ndeclare const Media: {\n new(src: string,\n mediaSuccess: () => void,\n mediaError?: (error: MediaError) => any,\n mediaStatus?: (status: number) => void): MediaInterface;\n // Media statuses\n MEDIA_NONE: number;\n MEDIA_STARTING: number;\n MEDIA_RUNNING: number;\n MEDIA_PAUSED: number;\n MEDIA_STOPPED: number\n};\ndeclare const FileTransfer: any;\ndeclare const Camera: {\n // Camera constants, defined in Camera plugin\n DestinationType: {\n DATA_URL: number;\n FILE_URI: number;\n NATIVE_URI: number\n }\n Direction: {\n BACK: number;\n FRONT: number;\n }\n EncodingType: {\n JPEG: number;\n PNG: number;\n }\n MediaType: {\n PICTURE: number;\n VIDEO: number;\n ALLMEDIA: number;\n }\n PictureSourceType: {\n PHOTOLIBRARY: number;\n CAMERA: number;\n SAVEDPHOTOALBUM: number;\n }\n // Used only on iOS\n PopoverArrowDirection: {\n ARROW_UP: number;\n ARROW_DOWN: number;\n ARROW_LEFT: number;\n ARROW_RIGHT: number;\n ARROW_ANY: number;\n }\n};\n\ndeclare const __aw_plugin_proxy;\ndeclare const cordova: any;\ndeclare const navigator: any;\ndeclare const device: any;\ndeclare const window: any;\ndeclare const Connection: any;\n\nconst callbackQueue: (() => any)[] = [];\nlet deviceReady: boolean = false;\n\nsetupDeviceInitializationForMobile();\n\nexport class AWProxy {\n\n static exec(successHandler: any, errorHandler: any, name: string, method: string, args: any[]): void {\n try {\n if (AWProxy.isDesktopEnv()) {\n AWProxy.execDesktop(successHandler, errorHandler, name, method, args);\n } else {\n AWProxy.execMobile(successHandler, errorHandler, name, method, args);\n }\n } catch (err) {\n console.error('No proxy objects defined - tried [cordova, __aw_plugin_proxy]', err);\n if (isFunction(errorHandler)) {\n errorHandler(err);\n }\n }\n }\n\n static accelerometer(): Accelerometer {\n const _accelerometer = typeof 'navigator' !== undefined ? navigator.accelerometer : new MockAccelerometer();\n return _accelerometer;\n }\n\n static camera(): CameraInterface {\n const _camera = typeof navigator !== 'undefined' ? navigator.camera : new MockCamera();\n return _camera;\n }\n\n static Camera(): any {\n const _Camera = (typeof Camera !== 'undefined') ? Camera : {\n DestinationType: {\n DATA_URL: null,\n FILE_URI: null,\n NATIVE_URI: null,\n },\n Direction: {\n BACK: null,\n FRONT: null,\n },\n EncodingType: {\n JPEG: null,\n PNG: null,\n },\n MediaType: {\n PICTURE: null,\n VIDEO: null,\n ALLMEDIA: null,\n },\n PictureSourceType: {\n PHOTOLIBRARY: null,\n CAMERA: null,\n SAVEDPHOTOALBUM: null,\n },\n // Used only on iOS\n PopoverArrowDirection: {\n ARROW_UP: null,\n ARROW_DOWN: null,\n ARROW_LEFT: null,\n ARROW_RIGHT: null,\n ARROW_ANY: null\n }\n };\n return _Camera;\n }\n\n static compass(): Compass {\n const _Compass = typeof navigator !== 'undefined' ? navigator.compass : new MockCompass();\n return _Compass;\n }\n\n static connection(): ConnectionInterface {\n const _connection = typeof navigator !== 'undefined' ? navigator.connection : new MockConnection();\n return _connection;\n }\n\n static Connection(): any {\n const _Connection = (typeof Connection !== 'undefined') ? Connection : {\n UNKNOWN: null,\n ETHERNET: null,\n WIFI: null,\n CELL_2G: null,\n CELL_3G: null,\n CELL_4G: null,\n CELL: null,\n NONE: null\n };\n return _Connection;\n }\n\n static contacts(): Contacts {\n const _contacts = typeof navigator !== 'undefined' ? navigator.contacts : new MockContacts();\n return _contacts;\n }\n\n static device(): Device {\n const _device: Device = (typeof device !== 'undefined') ? device : {\n cordova: null,\n available: true,\n model: null,\n platform: null,\n uuid: null,\n version: null,\n manufacturer: null,\n isVirtual: null,\n serial: null,\n capture: null\n };\n\n if (typeof navigator !== 'undefined' && navigator.device && navigator.device.capture) {\n _device.capture = navigator.device.capture;\n } else {\n _device.capture = new MockCapture();\n }\n return _device;\n }\n\n static document(): any {\n const _document = (typeof document !== 'undefined') ? document : {\n addEventListener: noop\n };\n return _document;\n }\n\n static file(): any {\n if (typeof cordova !== 'undefined') {\n return cordova.file;\n } else {\n return {\n documentsDirectory: ''\n };\n }\n }\n\n static filetransfer(): FileTransferInterface {\n return AWProxy.doGetFileTransfer();\n }\n\n // alias name\n static fileTransfer(): FileTransferInterface {\n return AWProxy.doGetFileTransfer();\n }\n\n static doGetFileTransfer(): FileTransferInterface {\n if (AWProxy.isDesktopEnv()) {\n const plugin = AWProxy.getDesktopPlugin('AWFileTransfer');\n return (plugin !== null) ? plugin : new MockFileTransfer();\n }\n return (typeof FileTransfer !== 'undefined') ? new FileTransfer() : new MockFileTransfer();\n }\n\n static geolocation(): Geolocation {\n const _geolocation = (typeof navigator !== 'undefined') ? navigator.geolocation : new MockGeolocation();\n return _geolocation;\n }\n\n static localFileSystem(): any {\n return LocalFileSystem;\n }\n\n static media(src, successHandler, errorHandler, statusChangeHandler): MediaInterface {\n if (typeof Media !== 'undefined') {\n return new Media(src, successHandler, errorHandler, statusChangeHandler);\n } else {\n return new MockMedia(src, successHandler, errorHandler, statusChangeHandler);\n }\n }\n\n static notification(): Notification {\n const _notification = (typeof navigator !== 'undefined') ? navigator.notification : new MockNotification();\n return _notification;\n }\n\n static requestFileSystem(type: LocalFileSystem,\n size: number,\n successCallback: (fileSystem: FileSystem) => void,\n errorCallback?: (fileError: FileError) => void): void {\n if (window.requestFileSystem) {\n return window.requestFileSystem(type, size, successCallback, errorCallback);\n }\n }\n\n static vibrate(time: number): void {\n if (typeof navigator !== 'undefined' && navigator.vibrate) {\n const _vibrate = navigator.vibrate(time);\n return _vibrate;\n } else {\n return new MockVibrate().vibrate(time);\n }\n }\n\n static webview(): any {\n if (typeof cordova !== 'undefined') {\n return (cordova as any).InAppBrowser;\n } else {\n return new DesktopWebview();\n }\n }\n\n static storage(): Storage {\n return new AWStorage(AWProxy.isMobileEnv());\n }\n\n static persistentStorage(): PersistentStorage {\n const desktopPlugin = AWProxy.getDesktopPlugin('AWStorage');\n return desktopPlugin !== null ?\n new DesktopStorage(desktopPlugin) : (AWProxy.isMobileEnv()) ?\n new OnDeviceStorage() : new PersistentStorageMock();\n }\n\n static isDesktopEnv(): boolean {\n return typeof __aw_plugin_proxy !== 'undefined';\n }\n\n static isMobileEnv(): boolean {\n return typeof cordova !== 'undefined';\n }\n\n static getDesktopPlugin(pluginName: string): any {\n if (!AWProxy.isDesktopEnv()) return null;\n // the proxy exposed by desktop has a method to allow retrieval of plugin instances\n return __aw_plugin_proxy.getPlugin(pluginName);\n }\n\n private static execMobile(successHandler: any, errorHandler: any, name: string, method: string, args: any[]) {\n if (deviceReady) {\n cordova.exec(successHandler, errorHandler, name, method, args);\n } else {\n callbackQueue.push(() => {\n AWProxy.exec(successHandler, errorHandler, name, method, args);\n });\n }\n }\n\n private static execDesktop(successHandler: any, errorHandler: any, name: string, method: string, args: any[]) {\n __aw_plugin_proxy.exec(successHandler, errorHandler, name, method, args);\n }\n}\n\nfunction setupDeviceInitializationForMobile() {\n try {\n document.addEventListener('deviceready', () => {\n deviceReady = true;\n callbackQueue.forEach((callback) => {\n callback();\n });\n });\n } catch (e) {\n // unsupported environment\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAccelerometer extends AWPlugin {\n getCurrentAcceleration() {\n return AWProxy.accelerometer().getCurrentAcceleration(\n (() => this.successHandler)(),\n (() => this.errorHandler)()\n );\n }\n\n watchAcceleration(options?: any): any {\n return AWProxy.accelerometer().watchAcceleration(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n clearWatch(watchId: number) {\n return AWProxy.accelerometer().clearWatch(watchId);\n }\n}\n\n\n\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAnonymous extends AWPlugin {\n isAnonymousMode(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAnonymous',\n 'isAnonymousMode',\n []\n );\n }\n\n getAnonymousUrl(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAnonymous',\n 'getAnonymousUrl',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAppManager extends AWPlugin {\n closeActiveApp() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'closeActiveApp',\n []\n );\n }\n getAppName() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'getAppName',\n []\n );\n }\n getAppVersion(success, error) {\n AWProxy.exec(\n success,\n error,\n 'AWAppManager',\n 'getAppVersion',\n []\n );\n }\n isFirstRun(success, error) {\n AWProxy.exec(\n success,\n error,\n 'AWAppManager',\n 'isFirstRun',\n []\n );\n }\n setAppHasRun(success, error) {\n AWProxy.exec(\n success,\n error,\n 'AWAppManager',\n 'setAppHasRun',\n []\n );\n }\n /* Deprecated, will be removed in the next version */\n resetShouldClearCache() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'resetShouldClearCache',\n []\n );\n }\n /* Deprecated, will be removed in the next version */\n shouldClearCache(success) {\n AWProxy.exec(\n success,\n (() => this.errorHandler)(),\n 'AWAppManager',\n 'shouldClearCache',\n []\n );\n }\n}\n\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWAuth extends AWPlugin {\n authenticate(force?: boolean) {\n force = !!force;\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAuth',\n 'authenticate',\n [force.toString()]\n );\n }\n\n /**\n * Marked for depreciation\n * Use authenticate(boolean?), which will get the auth object if the session is valid, else it will refresh the auth object and return that.\n */\n getAuthResponse() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWAuth',\n 'authobject',\n []\n );\n }\n\n gateway(successHandler: any, errorHandler?: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAuth',\n 'gateway',\n []\n );\n }\n\n online(successHandler: any, errorHandler?: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAuth',\n 'online',\n []\n );\n }\n\n otdsssoticket(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWAuth',\n 'otdsssoticket',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {AWCalendarInterface, CalendarArgs, CalendarCreateOptions, CalendarOptions} from './index';\n\nexport class AWCalendar extends AWPlugin implements AWCalendarInterface {\n\n constructor() {\n super(noop, noop);\n }\n\n static getCalendarOptions(): CalendarOptions {\n return {\n firstReminderMinutes: 60,\n secondReminderMinutes: null,\n recurrence: null, // options are: 'daily', 'weekly', 'monthly', 'yearly'\n recurrenceInterval: 1, // only used when recurrence is set\n recurrenceWeekstart: 'MO',\n recurrenceByDay: null,\n recurrenceByMonthDay: null,\n recurrenceEndDate: null,\n recurrenceCount: null,\n calendarName: null,\n calendarId: null,\n url: null\n };\n }\n\n hasReadPermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'hasReadPermission',\n []\n );\n });\n }\n\n requestReadPermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'requestReadPermission',\n []\n );\n });\n }\n\n hasWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'hasWritePermission',\n []\n );\n });\n }\n\n requestWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'requestWritePermission',\n []\n );\n });\n }\n\n hasReadWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'hasReadWritePermission',\n []\n );\n });\n }\n\n requestReadWritePermission(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'requestReadWritePermission',\n []\n );\n });\n }\n\n createCalendar(options: CalendarCreateOptions = {\n calendarName: null,\n calendarColor: null\n }, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'createCalendar',\n [options]\n );\n });\n }\n\n deleteCalendar(calendarName: string, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'deleteCalendar',\n [{calendarName: calendarName} as CalendarArgs]\n );\n });\n }\n\n openCalendar(date: Date, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'openCalendar',\n [{date: date.getTime()} as CalendarArgs]\n );\n });\n }\n\n createEventWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'createEventWithOptions',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n options: options\n } as CalendarArgs]\n );\n });\n }\n\n createEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.createEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n createEventInteractivelyWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'createEventInteractively',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n options: options\n } as CalendarArgs]\n );\n });\n }\n\n createEventInteractively(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.createEventInteractivelyWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n findEventWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'findEventWithOptions',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n options: options\n } as CalendarArgs]\n );\n });\n }\n\n findEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.findEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n findAllEventsInNamedCalendar(calendarName: string, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'findAllEventsInNamedCalendar',\n [{calendarName: calendarName} as CalendarArgs]\n );\n });\n }\n\n deleteEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'deleteEvent',\n [{\n title: title,\n location: location,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n } as CalendarArgs]\n );\n });\n }\n\n deleteEventFromNamedCalendar(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n calendarName: string,\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'deleteEventFromNamedCalendar',\n [{\n title: title,\n location: location,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n calendarName: calendarName\n } as CalendarArgs]\n );\n });\n }\n\n modifyEventWithOptions(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n newTitle: string,\n newLocation: string,\n newNotes: string,\n newStartDate: Date,\n newEndDate: Date,\n options: CalendarOptions = AWCalendar.getCalendarOptions(),\n newOptions: CalendarOptions = AWCalendar.getCalendarOptions(),\n successHandler?: any,\n errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'modifyEventWithOptions',\n [{\n title: title,\n location: location,\n notes: notes,\n startTime: startDate.getTime(),\n endTime: endDate.getTime(),\n newTitle: newTitle,\n newLocation: newLocation,\n newNotes: newNotes,\n newStartTime: newStartDate.getTime(),\n newEndDate: newEndDate.getTime(),\n options: options,\n newOptions: newOptions\n } as CalendarArgs]\n );\n });\n }\n\n modifyEvent(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n newTitle: string,\n newLocation: string,\n newNotes: string,\n newStartDate: Date,\n newEndDate: Date,\n successHandler?: any,\n errorHandler?: any) {\n return this.modifyEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n newTitle,\n newLocation,\n newNotes,\n newStartDate,\n newEndDate,\n AWCalendar.getCalendarOptions(),\n AWCalendar.getCalendarOptions(),\n successHandler,\n errorHandler\n );\n }\n\n modifyEventInNamedCalendar(title: string,\n location: string,\n notes: string,\n startDate: Date,\n endDate: Date,\n newTitle: string,\n newLocation: string,\n newNotes: string,\n newStartDate: Date,\n newEndDate: Date,\n calendarName: string,\n successHandler?: any,\n errorHandler?: any) {\n\n const options = AWCalendar.getCalendarOptions();\n options.calendarName = calendarName;\n\n return this.modifyEventWithOptions(\n title,\n location,\n notes,\n startDate,\n endDate,\n newTitle,\n newLocation,\n newNotes,\n newStartDate,\n newEndDate,\n options,\n successHandler,\n errorHandler\n );\n }\n\n listCalendars(successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'listCalendars',\n []\n );\n });\n }\n\n listEventsInRange(startDate: Date, endDate: Date, successHandler?: any, errorHandler?: any) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n successHandler || resolve,\n errorHandler || reject,\n 'AWCalendar',\n 'listEventsInRange',\n [{\n startTime: startDate.getTime(),\n endTime: endDate.getTime()\n } as CalendarArgs]\n );\n });\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {CameraOptions} from './index';\n\nexport class AWCamera extends AWPlugin {\n cleanup(onSuccess: () => void,\n onError: (message: string) => void) {\n return AWProxy.camera().cleanup(onSuccess, onError);\n }\n\n getPicture(cameraSuccess: (data: string) => void,\n cameraError: (message: string) => void,\n cameraOptions?: CameraOptions) {\n return AWProxy.camera().getPicture(cameraSuccess, cameraError, cameraOptions);\n }\n\n openGallery(options?: any) {\n options = options || {\n destinationType: AWProxy.Camera().DestinationType.FILE_URI\n };\n options.sourceType = AWProxy.Camera().PictureSourceType.PHOTOLIBRARY;\n return this.getPicture((() => this.successHandler)(), (() => this.errorHandler)(), options);\n }\n\n takePicture(options?: any) {\n options = options || {\n destinationType: AWProxy.Camera().DestinationType.FILE_URI,\n encodingType: AWProxy.Camera().EncodingType.JPEG,\n mediaType: AWProxy.Camera().MediaType.ALLMEDIA,\n correctOrientation: true,\n saveToPhotoAlbum: true\n };\n options.sourceType = AWProxy.Camera().PictureSourceType.CAMERA;\n return this.getPicture((() => this.successHandler)(), (() => this.errorHandler)(), options);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWComponent extends AWPlugin {\n open(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'open',\n args || []\n );\n }\n\n list(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'list',\n args || []\n );\n }\n\n check(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'check',\n args || []\n );\n }\n\n close(successHandler: any, errorHandler?: any, args?: any[]) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWComponent',\n 'close',\n args || []\n );\n }\n\n registerAppClose(successHandler: any) {\n AWProxy.exec(\n successHandler,\n (() => this.errorHandler)(),\n 'AWComponent',\n 'registerAppClose',\n []\n );\n }\n\n closeApp() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWComponent',\n 'closeApp',\n []\n );\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWContacts extends AWPlugin {\n\n create(contact: any): any {\n return AWProxy.contacts().create(contact);\n }\n\n find(fields: any, options?: any) {\n return AWProxy.contacts().find(\n fields,\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n pickContact() {\n return AWProxy.contacts().pickContact((() => this.successHandler)(), (() => this.errorHandler)());\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWCompass extends AWPlugin {\n getCurrentHeading() {\n return AWProxy.compass().getCurrentHeading(\n (() => this.successHandler)(),\n (() => this.errorHandler)()\n );\n }\n\n watchHeading(options?: any) {\n return AWProxy.compass().watchHeading(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n clearWatch(watchId: number) {\n return AWProxy.compass().clearWatch(watchId);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {Capture} from '../media-transfer/index';\n\nexport class AWDevice extends AWPlugin {\n\n public cordova: any;\n public model: any;\n public platform: any;\n public uuid: any;\n public version: any;\n public manufacturer: any;\n public capture: Capture;\n\n constructor() {\n super(() => {\n }, () => {\n });\n this.cordova = AWProxy.device().cordova;\n this.model = AWProxy.device().model;\n this.platform = AWProxy.device().platform;\n this.uuid = AWProxy.device().uuid;\n this.version = AWProxy.device().version;\n this.manufacturer = AWProxy.device().manufacturer;\n this.capture = AWProxy.device().capture;\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Scanner extends AWPlugin {\n scanDocument(returnType: Number, successHandler: Function, errorHandler: Function) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWScanner',\n 'scanDocument',\n [returnType]\n );\n }\n}\n\nexport class AWScanner extends Scanner {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {FileTransferInterface} from './index';\n\nexport class AWFileTransfer extends AWPlugin {\n\n public onprogress: any;\n private fileTransfer: FileTransferInterface;\n\n constructor(successHandler: any, errorHandler?: any) {\n super(successHandler, errorHandler);\n this.fileTransfer = AWProxy.filetransfer();\n this.onprogress = null;\n }\n\n abort() {\n this.fileTransfer.abort();\n }\n\n download(url: string, target: string, options?: any, shared?: boolean) {\n\n let successHandler = this.successHandler,\n errorHandler = this.errorHandler;\n\n options = options || {};\n\n if (shared && !AWProxy.isDesktopEnv()) {\n AWProxy.exec(\n gotSharedContainerUrl,\n (() => this.errorHandler)(),\n 'AWSharedDocumentProvider',\n 'containerForCurrentApp',\n []\n );\n } else {\n this.fileTransfer.download(\n encodeURI(url),\n this.toEnvFilePath(target),\n successHandler,\n errorHandler,\n false,\n options\n );\n }\n return this.fileTransfer;\n\n function gotSharedContainerUrl(containerUrl?: string) {\n AWProxy.filetransfer().download(\n encodeURI(url),\n containerUrl + '/' + target,\n successHandler,\n errorHandler,\n false,\n options\n );\n }\n }\n\n progressHandler(handler: any) {\n this.fileTransfer.onprogress = handler;\n }\n\n upload(source, url, options, shared) {\n\n let successHandler = this.successHandler,\n errorHandler = this.errorHandler;\n\n options = options || {};\n\n if (shared && !AWProxy.isDesktopEnv()) {\n AWProxy.exec(\n gotSharedContainerUrl,\n (() => this.errorHandler)(),\n 'AWSharedDocumentProvider',\n 'containerForCurrentApp',\n []\n );\n } else {\n this.fileTransfer.upload(\n this.toEnvFilePath(source),\n encodeURI(url),\n successHandler,\n errorHandler,\n options,\n false\n );\n }\n\n return this.fileTransfer;\n\n function gotSharedContainerUrl(containerUrl?: string) {\n AWProxy.filetransfer().upload(\n // valid use of slash here as shared container is a mobile only concept\n containerUrl + '/' + source,\n encodeURI(url),\n successHandler,\n errorHandler,\n options,\n false\n );\n }\n }\n\n toEnvFilePath(fileUrl: string): string {\n // use a path relative to the Cordova defined sandbox in a mobile environment\n return AWProxy.isDesktopEnv() ? fileUrl : AWProxy.file().documentsDirectory + '/' + fileUrl;\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWFileChooser extends AWPlugin {\n selectAndUpload(action: string) {\n let args = [action];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFileChooser',\n 'open',\n args\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {DesktopHostFileSystem, FileDetails, FileDialogOptions, SaveDialogOptions} from './index';\n\nexport class AWFileSystem extends AWPlugin implements DesktopHostFileSystem {\n\n desktopEnvError: Error = new Error('This method is only available in the AppWorks Desktop environment');\n\n constructor() {\n super(noop, noop);\n }\n\n getPath(name: string,\n successCallback: (result: string) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'getPath',\n [name]\n );\n }\n\n exists(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'exists',\n [path]\n );\n }\n\n isDir(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'isDir',\n [path]\n );\n }\n\n isOpen(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'isOpen',\n [path]\n );\n }\n\n setReadOnly(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'setReadOnly',\n [path]\n );\n }\n\n createFile(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void,\n data?: any,\n append?: boolean): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'createFile',\n [path, data, append]\n );\n }\n\n readFile(path: string,\n successCallback: (result: any) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'readFile',\n [path]\n );\n }\n\n createDirectory(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'createDirectory',\n [path]\n );\n }\n\n copy(from: string, to: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'copy',\n [from, to]\n );\n }\n\n open(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'open',\n [path]\n );\n }\n\n reveal(path: string,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'reveal',\n [path]\n );\n }\n\n updateLastModifiedDate(path: string,\n date: Date,\n successCallback: (result: boolean) => void,\n errorCallback?: (result: Error) => void ): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'updateLastModifiedDate',\n [path, date]\n );\n }\n\n getDetails(path: string,\n successCallback: (result: FileDetails) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'getDetails',\n [path]\n );\n }\n\n listDirContents(path: string,\n successCallback: (result: FileDetails[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'listDirContents',\n [path]\n );\n }\n\n showSaveDialog(opts: SaveDialogOptions,\n successCallback: (result: string) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'showSaveDialog',\n [opts]\n );\n }\n\n showDirSelector(opts: FileDialogOptions,\n successCallback: (result: string[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'showDirSelector',\n [opts]\n );\n }\n\n showFileSelector(opts: FileDialogOptions,\n successCallback: (result: string[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'showFileSelector',\n [opts]\n );\n }\n\n onFileOpen(openFileCallback: (filePath: string) => void,\n successCallback: (result: string[]) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'onFileOpen',\n [openFileCallback]\n );\n }\n\n remove(path: string,\n successCallback: (result: FileDetails) => void,\n errorCallback?: (result: Error) => void): void {\n this.validateEnv();\n AWProxy.exec(\n successCallback,\n errorCallback,\n 'AWFileSystem',\n 'remove',\n [path]\n );\n }\n\n /**\n * The methods of this class should only be called from within an AppWorks desktop\n * environment.\n */\n validateEnv(): void {\n if (!AWProxy.isDesktopEnv()) {\n throw this.desktopEnvError;\n }\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWFinder extends AWPlugin {\n open(path: string, filename: string) {\n let args = [path, filename];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'open',\n args\n );\n }\n\n openIn(filename: string) {\n return this.openDirect(filename);\n }\n\n list(path: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'list',\n [path]\n );\n }\n\n share(filename: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'share',\n [filename]\n );\n }\n\n private openDirect(filename: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWFinder',\n 'openDirect',\n [filename]\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWGlobalization extends AWPlugin {\n constructor() {\n super(noop, noop);\n }\n\n getPreferredLanguage(successFn: Function, errorFn?: Function) {\n AWProxy.exec(\n successFn,\n errorFn,\n 'AWGlobalization',\n 'getPreferredLanguage',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWHeaderBar extends AWPlugin {\n\n static readonly ButtonName = {LeftOne: 0, LeftTwo: 1, RightOne: 2, RightTwo: 3};\n static readonly ButtonImage = {\n Hamburger: 0,\n Back: 1,\n Settings: 2,\n Appmenu: 3,\n None: 5,\n Dots: 6,\n Search: 7,\n AppmenuHighlight: 8,\n Close: 9,\n DismissAll: 10,\n Edit: 11\n };\n\n /**\n * @deprecated\n * @type {{LeftOne: number; LeftTwo: number; RightOne: number; RightTwo: number}}\n */\n ButtonName = {LeftOne: 0, LeftTwo: 1, RightOne: 2, RightTwo: 3};\n /**\n * @deprecated\n * @type {{Hamburger: number; Back: number; Settings: number; Appmenu: number; None: number; Dots: number; Search: number, AppmenuHighlight: number, Close: number, DismissAll: number, Edit: number}}\n */\n ButtonImage = {\n Hamburger: 0,\n Back: 1,\n Settings: 2,\n Appmenu: 3,\n None: 5,\n Dots: 6,\n Search: 7,\n AppmenuHighlight: 8,\n Close: 9,\n DismissAll: 10,\n Edit: 11\n };\n\n private callback: any;\n\n setHeader(config: any) {\n if (config && config.callback) {\n this.callback = config.callback;\n config.callback = true;\n } else {\n this.callback = null;\n }\n AWProxy.exec(\n (() => this.callback)(),\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'setHeader',\n [config]\n );\n }\n\n getHeader() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'getHeader',\n []\n );\n }\n\n setHeaderButtons(callback: Function, config: any) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'setHeaderButtons',\n [config]\n );\n }\n\n maskHeader(shouldMaskHeader: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWHeaderBar',\n 'maskHeader',\n [shouldMaskHeader]\n );\n }\n}\n\n// alias\nexport class AWHeader extends AWHeaderBar {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWKeyboard extends AWPlugin {\n constructor() {\n super(noop, noop);\n }\n\n hideKeyboardAccessoryBar(hide: boolean) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'hideKeyboardAccessoryBar',\n [hide.toString()]\n );\n }\n\n close() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'close',\n []\n );\n }\n\n show() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'show',\n []\n );\n }\n\n disableScroll(disable: boolean) {\n disable = !!disable;\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWKeyboard',\n 'disableScroll',\n [disable.toString()]\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWLauncher extends AWPlugin {\n\n constructor(successHandler?: any, errorHandler?: any) {\n super(successHandler || noop, errorHandler || noop);\n }\n\n getLaunchData(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWLauncher',\n 'getLaunchData',\n []\n );\n }\n\n getLaunchURL(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWLauncher',\n 'getLaunchURL',\n []\n );\n }\n\n clearLaunchData() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'clearLaunchData',\n []\n );\n }\n\n clearLaunchURL() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'clearLaunchURL',\n []\n );\n }\n registerListener(successHandler: any) {\n AWProxy.exec(\n successHandler,\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'registerListener',\n []\n );\n }\n getCustomScheme(successHandler: any) {\n AWProxy.exec(\n successHandler,\n (() => this.errorHandler)(),\n 'AWLauncher',\n 'getCustomScheme',\n []\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWLocation extends AWPlugin {\n getCurrentPosition(options?: any) {\n return AWProxy.geolocation().getCurrentPosition(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n watchPosition(options?: any) {\n return AWProxy.geolocation().watchPosition(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n clearWatch(watchId: number) {\n AWProxy.geolocation().clearWatch(watchId);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {Capture} from './index';\n\nexport class AWMediaCapture extends AWPlugin implements Capture {\n\n supportedAudioModes: any;\n supportedImageModes: any;\n supportedVideoModes: any;\n\n constructor(successHandler: any, errorHandler?: any) {\n super(successHandler, errorHandler);\n this.supportedAudioModes = AWProxy.device().capture.supportedAudioModes;\n this.supportedImageModes = AWProxy.device().capture.supportedImageModes;\n this.supportedVideoModes = AWProxy.device().capture.supportedVideoModes;\n }\n\n captureAudio(options?: any) {\n AWProxy.device().capture.captureAudio(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n captureImage(options?: any) {\n AWProxy.device().capture.captureImage(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n\n captureVideo(options?: any) {\n AWProxy.device().capture.captureVideo(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n options\n );\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWMedia extends AWPlugin {\n\n media: any;\n src: string;\n position: any;\n duration: number;\n\n constructor(src: string, successHandler: any, errorHandler?: any, statusChangeHandler?: any) {\n super(successHandler, errorHandler);\n this.media = AWProxy.media(src, successHandler, errorHandler, statusChangeHandler);\n this.src = src;\n this.position = this.media.position;\n this.duration = this.media.duration;\n }\n\n getCurrentPosition(successHandler: any, errorHandler?: any) {\n return this.media.getCurrentPosition(successHandler, errorHandler);\n }\n\n getDuration() {\n return this.media.getDuration();\n }\n\n pause() {\n return this.media.pause();\n }\n\n play() {\n return this.media.play();\n }\n\n release() {\n return this.media.release();\n }\n\n seekTo(value: number) {\n return this.media.seekTo(value);\n }\n\n setVolume(value: number) {\n return this.media.setVolume(value);\n }\n\n startRecord() {\n return this.media.startRecord();\n }\n\n stop() {\n return this.media.stop();\n }\n\n stopRecord() {\n return this.media.stopRecord();\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {MenuSection} from './index';\n\nexport class AWMenu extends AWPlugin {\n push(items: any) {\n let args = [items];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWMenu',\n 'push',\n args\n );\n }\n\n setMenu(menuSections: MenuSection[]) {\n return new Promise((resolve, reject) => {\n AWProxy.exec(\n resolve,\n reject,\n 'AWMenu',\n 'setMenu',\n [menuSections]\n );\n });\n }\n\n didOpenMenuItem(callback: any) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWMenu',\n 'receive',\n []\n );\n }\n\n openListener(listener: any) {\n AWProxy.exec(\n listener,\n (() => this.errorHandler)(),\n 'AWMenu',\n 'receive',\n []\n );\n }\n\n showMenu(shouldShowMenu: boolean) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWMenu',\n 'showMenu',\n [shouldShowMenu]\n );\n }\n\n didTapMenuItem(listener: any) {\n return this.openListener(listener);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWMobileFileSystem extends AWPlugin {\n // File listing\n list(directory: string, shared: boolean, success: any, error: any) {\n let args = [directory, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'list',\n args\n );\n }\n\n // Imports\n listImports(success: any, error: any) {\n let args = [];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'listImports',\n args\n );\n }\n\n moveImport(source: string, destination: string, desintationShared: boolean, success: any, error: any) {\n let args = [source, destination, desintationShared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'moveImport',\n args\n );\n }\n\n // File IO\n exists(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'exists',\n args\n );\n }\n\n isOpen(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'isOpen',\n args\n );\n }\n\n rename(source: string, destination: string, shared: boolean, success: any, error: any) {\n let args = [source, destination, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'rename',\n args\n );\n }\n\n copy(source: string, sourceShared: boolean, destination: string, destinationShared: boolean, success: any, error: any) {\n let args = [source, sourceShared, destination, destinationShared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'copy',\n args\n );\n }\n\n move(source: string, sourceShared: boolean, destination: string, destinationShared: boolean, success: any, error: any) {\n let args = [source, sourceShared, destination, destinationShared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'move',\n args\n );\n }\n\n remove(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'remove',\n args\n );\n }\n\n removeDirectory(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'removeDirectory',\n args\n );\n }\n\n readFile(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'read',\n args\n );\n }\n\n // File sharing\n open(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'open',\n args\n );\n }\n\n edit(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'edit',\n args\n );\n }\n\n share(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'share',\n args\n );\n }\n\n quicklook(source: string, shared: boolean, success: any, error: any) {\n let args = [source, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'quicklook',\n args\n );\n }\n\n // File transfer\n download(source: string, destination: string, headers: any, shared: boolean, success: any, error: any) {\n let args = [source, destination, headers, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'download',\n args\n );\n }\n\n upload(source: string, destination: string, fileParameterName: string, formData: any, headers: any, shared: boolean, success: any, error: any) {\n let args = [source, destination, fileParameterName, formData, headers, shared];\n AWProxy.exec(\n success,\n error,\n 'AWMobileFileSystem',\n 'upload',\n args\n );\n }\n}\n","import { AWPlugin } from \"../../common/plugin\";\nimport { AWProxy } from \"../../common/proxy\";\nimport { noop } from \"../../common/util\";\n\nexport class AWNotificationManager extends AWPlugin {\n\n constructor() {\n super(noop, noop);\n }\n\n createClientNotification(identifier: string, title: string, subtitle: string, seconds: string, success: any, error: any) {\n AWProxy.exec(\n success,\n error,\n 'AWNotificationManager',\n 'createClientNotification',\n [identifier, title, subtitle, seconds]\n );\n }\n\n didTapNotificationFromActivityView(handler: any, errorHandler: any, includeSeqNo: boolean) {\n this.openListener(handler, errorHandler, includeSeqNo);\n }\n\n disablePushNotifications() {\n AWProxy.exec(\n null,\n null,\n \"AWNotificationManager\",\n \"disablePushNotifications\",\n []\n );\n }\n\n enablePushNotifications(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"enablePushNotifications\",\n AWProxy.isDesktopEnv() ? [handler, includeSeqNo] : [includeSeqNo]\n );\n }\n\n getNotifications(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"getPushNotifications\",\n [includeSeqNo]\n );\n }\n\n getOpeningNotification(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"getOpeningNotification\",\n [includeSeqNo]\n );\n }\n\n notificationDidLaunchApp(handler: any, errorHandler: any, includeSeqNo: boolean) {\n this.getOpeningNotification(handler, errorHandler, includeSeqNo);\n }\n\n openListener(handler: any, errorHandler: any, includeSeqNo: boolean) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"openListener\",\n AWProxy.isDesktopEnv() ? [handler, includeSeqNo] : [includeSeqNo]\n );\n }\n\n\n registerForTopic(topicName: string) {\n AWProxy.exec(\n null,\n null,\n \"AWNotificationManager\",\n \"registerForTopic\",\n [topicName]\n );\n }\n\n removeAllClientNotifications(success: any, error: any) {\n AWProxy.exec(\n success,\n error,\n 'AWNotificationManager',\n 'removeAllClientNotifications',\n []\n );\n }\n\n removeClientNotification(identifier: string, success: any, error: any) {\n AWProxy.exec(\n success,\n error,\n 'AWNotificationManager',\n 'removeClientNotification',\n [identifier]\n );\n }\n\n removeNotification(seqNo: string, handler: any, errorHandler?: any) {\n AWProxy.exec(\n handler,\n errorHandler,\n \"AWNotificationManager\",\n \"removeNotification\",\n [seqNo]\n );\n }\n\n unregisterFromTopic(topicName: string) {\n AWProxy.exec(\n null,\n null,\n \"AWNotificationManager\",\n \"unregisterFromTopic\",\n [topicName]\n );\n }\n\n alert(message: string, alertCallback: any, title?: string, buttonName?: string) {\n AWProxy.notification().alert(message, alertCallback, title, buttonName);\n }\n\n beep(times: number) {\n AWProxy.notification().beep(times);\n }\n\n confirm(message: string, confirmCallback: any, title?: string, buttonLabels?: string[]) {\n AWProxy.notification().confirm(message, confirmCallback, title, buttonLabels);\n }\n\n prompt(message: string, promptCallback: any, title?: string, buttonLabels?: string[], defaultText?: string) {\n AWProxy.notification().prompt(message, promptCallback, title, buttonLabels, defaultText);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWCache extends AWPlugin {\n\n private options: any;\n private excludedKeys: string[] = [];\n\n constructor(options?: any) {\n super(noop, noop);\n this.options = options || {usePersistentStorage: false};\n console.log(\"AWCache instantiate, don't forget to call preloadCache().then(function(){}, function(err){})\");\n }\n\n setExcludedKeys(_excludedKeys: string[]) {\n this.excludedKeys = _excludedKeys;\n }\n\n setItem(key: string, value: any): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.storage().setItem(key, value);\n if (this.usePersistentStorage()) {\n AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys)\n .then(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n\n getItem(key: string): any {\n let item = AWProxy.storage().getItem(key);\n return (typeof item === 'undefined' ? '' : item);\n }\n\n removeItem(key: string): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.storage().removeItem(key);\n if (this.usePersistentStorage()) {\n AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys)\n .then(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n\n clear(): Promise {\n return new Promise((resolve, reject) => {\n AWProxy.storage().clear();\n if (this.usePersistentStorage()) {\n AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys)\n .then(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n\n preloadCache(): Promise {\n return new Promise((resolve, reject) => {\n if (this.usePersistentStorage()) {\n this.migrateCache(this.excludedKeys).then(() => {\n AWProxy.persistentStorage().loadPersistentData()\n .then(\n () => {\n console.log('AWCache: Successfully loaded persistent data into local storage');\n resolve();\n },\n err => {\n let error = `AWCache: Failed to load persistent data into local storage - ${err.toString()}`\n console.error(error);\n reject(error);\n }\n );\n }, reject);\n } else {\n resolve();\n }\n });\n }\n\n migrateCache(excludedKeys: string[]): Promise {\n return new Promise((resolve, reject) => {\n AWProxy\n .persistentStorage()\n .migrateCache(excludedKeys)\n .then(resolve);\n });\n }\n\n private usePersistentStorage(): boolean {\n return this.options.usePersistentStorage;\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {AWCache} from '../storage/cache';\n\nexport class AWOfflineManager extends AWPlugin {\n\n status: string;\n online: boolean;\n offline: boolean;\n cache: any;\n queue: any[];\n cacheKey: string;\n options: any;\n\n constructor(options?: any) {\n super(noop, noop);\n\n let document;\n this.cacheKey = '__appworksjs.deferredQueue';\n this.cache = new AWCache();\n this.options = options || {preserveEvents: false};\n\n document = AWProxy.document();\n // process deferred queue when network status changes\n document.addEventListener('online', () => {\n this.processDeferredQueue();\n });\n\n const queue = this.cache.getItem(this.cacheKey);\n if (queue) {\n this.queue = JSON.parse(queue);\n } else {\n this.queue = [];\n this.saveQueue();\n }\n // process the deferred queue upon object instantiation if we are currently online\n if (this.networkStatus().online) {\n this.processDeferredQueue();\n }\n }\n\n defer(eventName: string, args: any) {\n this.queue.push({\n event: eventName,\n args: JSON.stringify(args)\n });\n this.saveQueue();\n return (this.queue.length - 1);\n }\n\n cancel(id: number) {\n if (id > -1) {\n this.queue.splice(id, 1);\n this.saveQueue();\n }\n }\n\n networkStatus(): any {\n return {\n online: AWProxy.connection().type !== AWProxy.Connection().NONE,\n offline: AWProxy.connection().type === AWProxy.Connection().NONE,\n connection: AWProxy.connection()\n };\n }\n\n private saveQueue() {\n this.cache.setItem(this.cacheKey, JSON.stringify(this.queue));\n }\n\n private processDeferredQueue() {\n let self = this;\n\n setTimeout(function () {\n self.queue.forEach(function (deferred) {\n self.dispatchEvent(deferred);\n });\n if (!self.options.preserveEvents) {\n self.queue = [];\n self.saveQueue();\n }\n }, 5000);\n }\n\n private dispatchEvent(data?: any) {\n let event = new CustomEvent(data.event, {detail: data.args});\n document.dispatchEvent(event);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class AWPage extends AWPlugin {\n setPageUrl(url: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'setPageUrl',\n [url]\n );\n }\n\n openModalAppWebView(url: string, title: string, closeTitle: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'showModalAppWebView',\n [url, title, closeTitle]\n );\n }\n\n openModalExternalWebView(url: string, title: string, closeTitle: string, options?: object) {\n if (typeof options === 'undefined' || !options) {\n options = {};\n }\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'showModalExternalWebView',\n [url, title, closeTitle, options]\n );\n }\n\n setActionButtonCallback(callback: any, actionTitle: string) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWPage',\n 'setModalAppWebViewActionCallback',\n [actionTitle]\n );\n }\n\n closeModalAppWebView() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPage',\n 'closeModalAppWebView',\n []\n );\n }\n\n video(success: any, error: any, url: string) {\n AWProxy.exec(\n success,\n error,\n 'AWPage',\n 'video',\n [url]\n );\n }\n\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Print extends AWPlugin {\n print(options?: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPrint',\n 'print',\n [options]\n );\n }\n\n getPrinters() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPrint',\n 'getPrinters',\n []\n );\n }\n\n printToPDF(options?: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWPrint',\n 'printToPDF',\n [options]\n );\n }\n}\n\nexport class AWPrint extends Print {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class QRReader extends AWPlugin {\n scan() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWQRCodeReader',\n 'scan',\n []\n );\n }\n\n rename() {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWQRCodeReader',\n 'rename',\n []\n );\n }\n\n barcode(multiple?: boolean, timeout?: number, finishTitle?: string, cancelTitle?: string) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWQRCodeReader',\n 'barcode',\n [multiple, timeout, finishTitle, cancelTitle]\n );\n }\n}\n\nexport class AWQRReader extends QRReader {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Realm extends AWPlugin {\n FIELD_OBJECT_NAME = 'name';\n FIELD_OBJECT_TYPE = 'type';\n FIELD_OBJECT_PRIMARYKEY = 'key';\n FIELD_OBJECT_INDEX = 'index';\n FIELD_OBJECT_RELATIONSHIP = 'relationship';\n\n OBJECT_DESCRIPTION_NAME = 'name';\n OBJECT_DESCRIPTION_TYPE = 'type';\n OBJECT_DESCRIPTION_FIELDS = 'fields';\n OBJECT_DESCRIPTION_KEY = 'key';\n OBJECT_DESCRIPTION_INDEX = 'index';\n\n FIELD_TYPE_STRING = 'STRING';\n FIELD_TYPE_INTEGER = 'INTEGER';\n FIELD_TYPE_BOOLEAN = 'BOOLEAN';\n FIELD_TYPE_LONG = 'LONG';\n FIELD_TYPE_SHORT = 'SHORT';\n FIELD_TYPE_DOUBLE = 'DOUBLE';\n FIELD_TYPE_FLOAT = 'FLOAT';\n FIELD_TYPE_BINARY = 'BINARY';\n FIELD_TYPE_BYTE = 'BYTE';\n FIELD_TYPE_OBJECT = 'OBJECT';\n FIELD_TYPE_LIST = 'LIST';\n FIELD_TYPE_DATE = 'DATE';\n\n QUERY_OBJECT_NAME = 'object';\n QUERY_TYPE = 'type';\n QUERY_FIELD = 'field';\n QUERY_SORT = 'sort';\n QUERY_SORT_ASC = 'asc';\n QUERY_SORT_DESC = 'desc';\n\n QUERY_VALUE = 'value';\n QUERY_VALUE_2 = 'value2';\n\n QUERY_TYPE_BEGIN_GROUP = 'beginGroup';\n QUERY_TYPE_END_GROUP = 'endGroup';\n QUERY_TYPE_AND = 'and';\n QUERY_TYPE_OR = 'or';\n\n QUERY_TYPE_EQUAL_TO = 'equalTo';\n QUERY_TYPE_NOT_EQUAL_TO = 'notEqualTo';\n QUERY_TYPE_BEGINS_WITH = 'beginsWith';\n QUERY_TYPE_ENDS_WITH = 'endsWith';\n QUERY_TYPE_CONTAINS = 'contains';\n QUERY_TYPE_BETWEEN = 'between';\n QUERY_TYPE_GREATER_THAN = 'greaterThan';\n QUERY_TYPE_GREATER_THAN_OR_EQUAL_TO = 'greaterThanOrEqualTo';\n QUERY_TYPE_LESS_THAN = 'lessThan';\n QUERY_TYPE_LESS_THAN_OR_EQUAL_TO = 'lessThanOrEqualTo';\n QUERY_TYPE_LIKE = 'like';\n QUERY_TYPE_IN = 'in';\n queryBuilder = {\n arr: [],\n subArray: [],\n inSubArray: false,\n addToArray: function (obj: object, isSubArray: boolean) {\n if (isSubArray) {\n this.subArray.push(obj);\n } else {\n this.arr.push(obj);\n }\n },\n equalTo: function (field: string, value: any) {\n let obj = {\n 'type': 'equalTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n notEqualTo: function (field: string, value: any) {\n let obj = {\n 'type': 'notEqualTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n beginsWith: function (field: string, value: any) {\n let obj = {\n 'type': 'beginsWith',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n endsWith: function (field: string, value: any) {\n let obj = {\n 'type': 'endsWith',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n contains: function (field: string, value: any) {\n let obj = {\n 'type': 'contains',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n between: function (field: string, value: any, value2: any) {\n let obj = {\n 'type': 'between',\n 'field': field,\n 'value': value,\n 'value2': value2\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n greaterThan: function (field: string, value: any) {\n let obj = {\n 'type': 'greaterThan',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n greaterThanOrEqualTo: function (field: string, value: any) {\n let obj = {\n 'type': 'greaterThanOrEqualTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n lessThan: function (field: string, value: any) {\n let obj = {\n 'type': 'lessThan',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n lessThanOrEqualTo: function (field: string, value: any) {\n let obj = {\n 'type': 'lessThanOrEqualTo',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n like: function (field: string, value: any) {\n let obj = {\n 'type': 'like',\n 'field': field,\n 'value': value\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n and: function () {\n let obj = {\n 'type': 'and'\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n or: function () {\n let obj = {\n 'type': 'or'\n };\n this.addToArray(obj, this.inSubArray);\n return this;\n },\n beginGroup: function () {\n this.subArray = [];\n this.inSubArray = true;\n return this;\n },\n endGroup: function () {\n this.arr.push(this.subArray);\n this.inSubArray = false;\n return this;\n },\n done: function () {\n let tempArray = this.arr;\n this.clear();\n return tempArray;\n },\n clear: function () {\n this.inSubArray = false;\n this.subArray = [];\n this.arr = [];\n }\n };\n\n startRealm(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'start_realm',\n []\n );\n }\n\n getAllObjectNames(successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'get_all_object_names',\n []\n );\n }\n\n objectExists(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'object_exists',\n [objectName]\n );\n }\n\n createObject(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'create_object',\n [objectName]\n );\n }\n\n addField(objectName: string, field: object, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'add_field',\n [objectName, field]\n );\n }\n\n addFields(objectName: string, field: Array, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'add_fields',\n [objectName, field]\n );\n }\n\n describeObject(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'describe_object',\n [objectName]\n );\n }\n\n objectHasField(objectName: string, fieldName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'object_has_field',\n [objectName, fieldName]\n );\n }\n\n getFieldType(objectName: string, fieldName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'get_field_type',\n [objectName, fieldName]\n );\n }\n\n insert(objectName: string, dataObject: object, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'insert',\n [objectName, dataObject]\n );\n }\n\n update(objectName: string, dataObject: object, queryArray: Array, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'update',\n [objectName, dataObject, queryArray]\n );\n }\n\n select(objectName: string, queryArray: Array, sort: object, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'select',\n [objectName, queryArray, sort]\n );\n }\n\n remove(objectName: string, queryArray: Array, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'remove',\n [objectName, queryArray]\n );\n }\n\n removeAll(objectName: string, successHandler: any, errorHandler: any) {\n AWProxy.exec(\n successHandler,\n errorHandler,\n 'AWRealm',\n 'remove_all',\n [objectName]\n );\n }\n}\n\nexport class AWRealm extends Realm {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class SecureStorage extends AWPlugin {\n\n static idCounter = 0;\n seqNo: number;\n onprogress: any;\n\n constructor(successHandler: any, errorHandler?: any) {\n super(successHandler, errorHandler);\n this.seqNo = ++SecureStorage.idCounter;\n this.onprogress = null;\n }\n\n store(url: string, target: string, options?: any, encodeUri = true) {\n let args = [encodeUri ? encodeURI(url) : url, target, false, this.seqNo, options && options.headers],\n completionHandler = () => this.successHandler,\n progressHandler = this.onprogress,\n progress;\n\n function newProgressEvent(result: any) {\n let pe = new ProgressEvent(null);\n (pe as any).lengthComputable = result.lengthComputable;\n (pe as any).loaded = result.loaded;\n (pe as any).total = result.total;\n return pe;\n }\n\n progress = function (result) {\n if (typeof result.lengthComputable !== 'undefined') {\n if (progressHandler) {\n progressHandler(newProgressEvent(result));\n }\n } else {\n if (completionHandler) {\n completionHandler()(result);\n }\n }\n };\n AWProxy.exec(\n progress,\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'store',\n args\n );\n }\n\n retrieve(filename: string, options?: any) {\n let args = [filename, options];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'retrieve',\n args\n );\n }\n\n remove(target: string) {\n let args = [target];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'removeFile',\n args\n );\n }\n\n fileExistsAtPath(target: string) {\n let args = [target];\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWSecureStorage',\n 'fileExistsAtPath',\n args\n );\n }\n}\n\nexport class AWSecureStorage extends SecureStorage {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\n\nexport class Shake extends AWPlugin {\n enableShake(callback: any) {\n AWProxy.exec(\n callback,\n (() => this.errorHandler)(),\n 'AWShake',\n 'enableShake',\n []\n );\n }\n\n disableShake(callback: any) {\n AWProxy.exec(\n (() => this.successHandler)(),\n (() => this.errorHandler)(),\n 'AWShake',\n 'disableShake',\n []\n );\n }\n}\n\nexport class AWShake extends Shake {\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\n\nexport class AWVibration extends AWPlugin {\n\n constructor() {\n super(noop, noop);\n }\n\n vibrate(time: number) {\n return AWProxy.vibrate(time);\n }\n}\n","import {AWPlugin} from '../../common/plugin';\nimport {AWProxy} from '../../common/proxy';\nimport {noop} from '../../common/util';\nimport {InAppBrowser, InAppBrowserEvent} from './index';\n\nexport class AWWebView extends AWPlugin {\n\n constructor() {\n super(noop, noop);\n }\n\n open(url: string, target?: string, options?: any): InAppBrowser {\n return AWProxy.webview().open(url, target, options);\n }\n\n addEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.webview().addEventListener(type, callback);\n }\n\n removeEventListener(type: string, callback: (event: InAppBrowserEvent) => void): void {\n AWProxy.webview().removeEventListener(type, callback);\n }\n\n show(): void {\n AWProxy.webview().show();\n }\n\n close(): void {\n AWProxy.webview().close();\n }\n\n executeScript(script: string, callback: (result: any) => void): void {\n AWProxy.webview().executeScript(script, callback);\n }\n\n insertCSS(script: string, callback: (result: any) => void): void {\n AWProxy.webview().insertCSS(script, callback);\n }\n}\n","import {AWAccelerometer as _AWAccelerometer} from './plugins/accelerometer/accelerometer';\nimport {AWAnonymous as _AWAnonymous} from './plugins/anonymous/anonymous';\nimport {AWAppManager as _AWAppManager} from './plugins/app-manager/app-manager';\nimport {AWAuth as _AWAuth} from './plugins/auth/auth';\nimport {AWCalendar as _AWCalendar} from './plugins/calendar/calendar';\nimport {AWCamera as _AWCamera} from './plugins/camera/camera';\nimport {AWComponent as _AWComponent} from './plugins/component/component';\nimport {AWContacts as _AWContacts} from './plugins/contacts/contacts';\nimport {AWCompass as _AWCompass} from './plugins/device-orientation/compass';\nimport {AWDevice as _AWDevice} from './plugins/device/device';\nimport {AWScanner as _AWScanner} from './plugins/document-scanner/scanner';\nimport {AWFileTransfer as _AWFileTransfer} from './plugins/file-transfer/file-transfer';\nimport {AWFileChooser as _AWFileChooser} from './plugins/file/file-chooser';\nimport {AWFileSystem as _AWFileSystem} from './plugins/file/file-system';\nimport {AWFinder as _AWFinder} from './plugins/finder/finder';\nimport {AWGlobalization as _AWGlobalization} from './plugins/globalization/globalization';\nimport {AWHeaderBar as _AWHeaderBar} from './plugins/header/header';\nimport {AWKeyboard as _AWKeyboard} from './plugins/keyboard/keyboard';\nimport {AWLauncher as _AWLauncher} from './plugins/launcher/launcher';\nimport {AWLocation as _AWLocation} from './plugins/location/location';\nimport {AWMediaCapture as _AWMediaCapture} from './plugins/media-transfer/media-capture';\nimport {AWMedia as _AWMedia} from './plugins/media/media';\nimport {AWMenu as _AWMenu} from './plugins/menu/menu';\nimport {AWMobileFileSystem as _AWMobileFileSystem} from './plugins/mobile-file-system/mobile-file-system';\nimport {AWNotificationManager as _AWNotificationManager} from './plugins/notifications/notifications';\nimport {AWOfflineManager as _AWOfflineManager} from './plugins/offline/offline-manager';\nimport {AWPage as _AWPage} from './plugins/page/page';\nimport {AWPrint as _AWPrint} from './plugins/print/print';\nimport {AWQRReader as _AWQRReader} from './plugins/qr-reader/qr-reader';\nimport {AWRealm as _AWRealm} from './plugins/realm/realm';\nimport {AWCache as _AWCache} from './plugins/storage/cache';\nimport {AWSecureStorage as _AWSecureStorage} from './plugins/storage/secure-storage';\nimport {AWShake as _AWShake} from './plugins/shake/shake';\nimport {AWVibration as _AWVibration} from './plugins/vibration/vibration';\nimport {AWWebView as _AWWebView} from './plugins/webview/webview';\n\n// Accelerometer plugin and alias -- [mobile]\nexport const Accelerometer = _AWAccelerometer;\nexport const AWAccelerometer = _AWAccelerometer;\n// Anonymous plugin and alias -- [mobile]\nexport const Anonymous = _AWAnonymous;\nexport const AWAnonymous = _AWAnonymous;\n// AppManager plugin and alias -- [mobile]\nexport const AppManager = _AWAppManager;\nexport const AWAppManager = _AWAppManager;\n// Auth plugin and alias -- [desktop/mobile]\nexport const Auth = _AWAuth;\nexport const AWAuth = _AWAuth;\n// Cache plugin and alias -- [desktop/mobile]\nexport const Cache = _AWCache;\nexport const AWCache = _AWCache;\n// Calendar plugin and alias -- [desktop/mobile]\nexport const Calendar = _AWCalendar;\nexport const AWCalendar = _AWCalendar;\n// Camera plugin and alias -- [mobile]\nexport const Camera = _AWCamera;\nexport const AWCamera = _AWCamera;\n// Compass plugin and alias -- [mobile]\nexport const Compass = _AWCompass;\nexport const AWCompass = _AWCompass;\n// Component plugin and alias -- [mobile]\nexport const Component = _AWComponent;\nexport const AWComponent = _AWComponent;\n// Contacts plugin and alias -- [mobile]\nexport const Contacts = _AWContacts;\nexport const AWContacts = _AWContacts;\n// Device plugin and alias -- [desktop/mobile]\nexport const Device = _AWDevice;\nexport const AWDevice = _AWDevice;\n// FileChooser plugin and alias -- [mobile]\nexport const FileChooser = _AWFileChooser;\nexport const AWFileChooser = _AWFileChooser;\n// FileTransfer plugin and alias -- [desktop/mobile]\nexport const FileTransfer = _AWFileTransfer;\nexport const AWFileTransfer = _AWFileTransfer;\n// Finder plugin and alias -- [mobile]\nexport const Finder = _AWFinder;\nexport const AWFinder = _AWFinder;\n// Globalization plugin and alias -- [mobile]\nexport const Globalization = _AWGlobalization;\nexport const AWGlobalization = _AWGlobalization;\n// Header plugin and alias -- [mobile]\nexport const HeaderBar = _AWHeaderBar;\nexport const Header = _AWHeaderBar;\nexport const AWHeader = _AWHeaderBar;\nexport const AWHeaderBar = _AWHeaderBar;\n// Keyboard plugin and alias -- [mobile]\nexport const Keyboard = _AWKeyboard;\nexport const AWKeyboard = _AWKeyboard;\n// Location plugin and alias -- [mobile]\nexport const Location = _AWLocation;\nexport const AWLocation = _AWLocation;\n// Launcher plugin and alias -- [mobile]\nexport const Launcher = _AWLauncher;\nexport const AWLauncher = _AWLauncher;\n// Media plugin and alias -- [mobile]\nexport const Media = _AWMedia;\nexport const AWMedia = _AWMedia;\n// MediaCapture plugin and alias -- [mobile]\nexport const MediaCapture = _AWMediaCapture;\nexport const AWMediaCapture = _AWMediaCapture;\n// Menu plugin and alias -- [mobile]\nexport const Menu = _AWMenu;\nexport const AWMenu = _AWMenu;\nexport const AWHamburgerMenu = _AWMenu;\nexport const HamburgerMenu = _AWMenu;\n// MobileFileSystem plugin and alias -- [mobile]\nexport const MobileFileSystem = _AWMobileFileSystem;\nexport const AWMobileFileSystem = _AWMobileFileSystem;\n// NotificationManager plugin and alias -- [mobile]\nexport const NotificationManager = _AWNotificationManager;\nexport const AWNotificationManager = _AWNotificationManager;\n// OfflineManager plugin and alias -- [mobile]\nexport const OfflineManager = _AWOfflineManager;\nexport const AWOfflineManager = _AWOfflineManager;\n// Page plugin and alias -- [mobile]\nexport const Page = _AWPage;\nexport const AWPage = _AWPage;\n// Print plugin and alias --[desktop]\nexport const Print = _AWPrint;\nexport const AWPrint = _AWPrint;\n// QRReader plugin and alias -- [mobile]\nexport const QRReader = _AWQRReader;\nexport const AWQRReader = _AWQRReader;\n// Realm plugin and alias -- [mobile]\nexport const Realm = _AWRealm;\nexport const AWRealm = _AWRealm;\n// Scanner plugin and alias -- [mobile]\nexport const Scanner = _AWScanner;\nexport const AWScanner = _AWScanner;\n// SecureStorage plugin and alias -- [mobile]\nexport const SecureStorage = _AWSecureStorage;\nexport const AWSecureStorage = _AWSecureStorage;\n// Shake plugin and alias -- [mobile]\nexport const Shake = _AWShake;\nexport const AWShake = _AWShake;\n// Vibration plugin and alias -- [mobile]\nexport const Vibration = _AWVibration;\nexport const AWVibration = _AWVibration;\n// Webview plugin and alias -- [mobile]\nexport const WebView = _AWWebView;\nexport const AWWebView = _AWWebView;\n// FileSystem -- [desktop]\nexport const AWFileSystem = _AWFileSystem;\n"],"names":["functionToCheck","getType","toString","call","LocalFileSystem","successHandler","errorHandler","this","MockAccelerometer","accelerometerSuccess","accelerometerError","accelerometerOptions","watchID","MockCamera","onSuccess","onError","cameraSuccess","cameraError","cameraOptions","MockCapture","options","MockCompass","id","MockConnection","type","listener","useCapture","fieldType","MockContacts","properties","fields","MockFileTransfer","fileURL","server","successCallback","errorCallback","trustAllHosts","source","target","MockGeolocation","watchId","src","statusChangeHandler","MockMedia","mediaSuccess","mediaError","iosPlayOptions","position","volume","name","MockNotification","message","alertCallback","title","buttonName","times","confirmCallback","buttonLabels","promptCallback","defaultText","global","factory","module","objectOrFunction","x","isFunction","setScheduler","scheduleFn","customSchedulerFn","setAsap","asapFn","asap","useVertxTimer","vertxNext","flush","useSetTimeout","globalSetTimeout","setTimeout","i","len","callback","queue","undefined","then","onFulfillment","onRejection","_arguments","arguments","parent","child","constructor","noop","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","resolve","object","Constructor","promise","_resolve","selfFulfillment","TypeError","cannotReturnOwn","getThen","error","GET_THEN_ERROR","tryThen","value","fulfillmentHandler","rejectionHandler","e","handleForeignThenable","thenable","sealed","fulfill","reason","_reject","_label","handleOwnThenable","FULFILLED","REJECTED","handleMaybeThenable","maybeThenable","then$$","publishRejection","_onerror","publish","PENDING","_subscribers","length","subscribers","settled","detail","ErrorObject","tryCatch","TRY_CATCH_ERROR","hasCallback","succeeded","failed","initializePromise","resolver","nextId","Enumerator","input","_instanceConstructor","isArray","_input","_remaining","Array","_enumerate","validationError","Error","all","entries","race","reject","_","needsResolver","needsNew","Promise","polyfill","local","self","Function","P","promiseToString","Object","prototype","cast","_isArray","arg","scheduleFlush","browserWindow","window","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","process","isWorker","Uint8ClampedArray","importScripts","MessageChannel","nextTick","iterations","observer","node","document","createTextNode","observe","characterData","data","channel","port1","onmessage","port2","postMessage","require","r","vertx","runOnLoop","runOnContext","Math","random","substring","_eachEntry","entry","c","resolve$$","_then","_settledAt","_willSettleAt","state","enumerator","_setScheduler","_setAsap","_asap","catch","PersistentStorageMock","_excludedKeys","MockVibrate","time","desktopPlugin","desktopStorage","DesktopStorage","excludedKeys","PLUGIN_NOT_FOUND","key","storage","AWProxy","getItem","indexOf","push","setter","obj","_this","setItem","map","getData","hasOwnProperty","OnDeviceStorage","keys","writeDataToPersistentStorage","JSON","stringify","readDataFromPersistentStorage","json","parse","item","readDataAWCacheFile","persistentStorage","persistLocalStorage","deleteAWCacheFile","fileSystem","root","getFile","create","exclusive","gotFileEntry","file","gotFile","readAsText","reader","FileReader","onloadend","evt","console","log","result","requestFileSystem","localFileSystem","PERSISTENT","gotFS","fileEntry","remove","exec","isNaN","MockLocalStorage","index","isMobileEnv","localStorage","AWStorage","keys_1","_i","removeItem","clear","DesktopWebviewSequenceStore","seqNo","DesktopWebview","url","script","css","callbackQueue","deviceReady","addEventListener","forEach","method","args","isDesktopEnv","execDesktop","execMobile","err","navigator","accelerometer","camera","Camera","DestinationType","DATA_URL","FILE_URI","NATIVE_URI","Direction","BACK","FRONT","EncodingType","JPEG","PNG","MediaType","PICTURE","VIDEO","ALLMEDIA","PictureSourceType","PHOTOLIBRARY","CAMERA","SAVEDPHOTOALBUM","PopoverArrowDirection","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","ARROW_ANY","compass","connection","Connection","UNKNOWN","ETHERNET","WIFI","CELL_2G","CELL_3G","CELL_4G","CELL","NONE","contacts","_device","device","cordova","available","model","platform","uuid","version","manufacturer","isVirtual","serial","capture","documentsDirectory","doGetFileTransfer","plugin","getDesktopPlugin","FileTransfer","geolocation","Media","notification","size","vibrate","InAppBrowser","__aw_plugin_proxy","pluginName","getPlugin","__extends","AWAccelerometer","getCurrentAcceleration","watchAcceleration","clearWatch","AWPlugin","AWAnonymous","AWAppManager","success","AWAuth","force","_super","AWCalendar","firstReminderMinutes","secondReminderMinutes","recurrence","recurrenceInterval","recurrenceWeekstart","recurrenceByDay","recurrenceByMonthDay","recurrenceEndDate","recurrenceCount","calendarName","calendarId","calendarColor","date","getTime","location","notes","startDate","endDate","getCalendarOptions","startTime","endTime","createEventWithOptions","createEventInteractivelyWithOptions","findEventWithOptions","newTitle","newLocation","newNotes","newStartDate","newEndDate","newOptions","newStartTime","modifyEventWithOptions","AWCamera","cleanup","getPicture","destinationType","sourceType","encodingType","mediaType","correctOrientation","saveToPhotoAlbum","AWComponent","AWContacts","contact","find","pickContact","AWCompass","getCurrentHeading","watchHeading","Scanner","returnType","fileTransfer","filetransfer","onprogress","AWFileTransfer","abort","shared","containerUrl","download","encodeURI","gotSharedContainerUrl","toEnvFilePath","handler","upload","fileUrl","AWFileChooser","action","AWFileSystem","validateEnv","path","append","from","to","opts","openFileCallback","desktopEnvError","AWFinder","filename","openDirect","AWGlobalization","successFn","errorFn","LeftOne","LeftTwo","RightOne","RightTwo","Hamburger","Back","Settings","Appmenu","None","Dots","Search","AppmenuHighlight","Close","DismissAll","Edit","AWHeaderBar","config","shouldMaskHeader","AWKeyboard","hide","disable","AWLauncher","AWLocation","getCurrentPosition","watchPosition","supportedAudioModes","supportedImageModes","supportedVideoModes","AWMediaCapture","captureAudio","captureImage","captureVideo","media","duration","AWMedia","getDuration","pause","play","release","seekTo","setVolume","startRecord","stop","stopRecord","AWMenu","items","menuSections","shouldShowMenu","openListener","AWMobileFileSystem","directory","destination","desintationShared","sourceShared","destinationShared","headers","fileParameterName","formData","AWNotificationManager","identifier","subtitle","seconds","includeSeqNo","getOpeningNotification","topicName","alert","beep","confirm","prompt","usePersistentStorage","AWCache","migrateCache","loadPersistentData","cacheKey","cache","preserveEvents","processDeferredQueue","saveQueue","networkStatus","online","AWOfflineManager","eventName","event","splice","offline","deferred","dispatchEvent","CustomEvent","AWPage","closeTitle","actionTitle","Print","QRReader","multiple","timeout","finishTitle","cancelTitle","arr","subArray","inSubArray","addToArray","isSubArray","equalTo","field","notEqualTo","beginsWith","endsWith","contains","between","value2","greaterThan","greaterThanOrEqualTo","lessThan","lessThanOrEqualTo","like","and","or","beginGroup","endGroup","done","tempArray","Realm","objectName","fieldName","dataObject","queryArray","sort","SecureStorage","idCounter","encodeUri","pe","ProgressEvent","lengthComputable","loaded","total","progress","completionHandler","progressHandler","newProgressEvent","Shake","AWVibration","AWWebView","webview","open","removeEventListener","show","close","executeScript","insertCSS","Accelerometer","_AWAccelerometer","Anonymous","_AWAnonymous","AppManager","_AWAppManager","Auth","_AWAuth","Cache","_AWCache","Calendar","_AWCalendar","_AWCamera","Compass","_AWCompass","Component","_AWComponent","Contacts","_AWContacts","Device","_AWDevice","AWDevice","FileChooser","_AWFileChooser","_AWFileTransfer","Finder","_AWFinder","Globalization","_AWGlobalization","HeaderBar","_AWHeaderBar","Header","AWHeader","Keyboard","_AWKeyboard","Location","_AWLocation","Launcher","_AWLauncher","_AWMedia","MediaCapture","_AWMediaCapture","Menu","_AWMenu","AWHamburgerMenu","HamburgerMenu","MobileFileSystem","_AWMobileFileSystem","NotificationManager","_AWNotificationManager","OfflineManager","_AWOfflineManager","Page","_AWPage","_AWPrint","AWPrint","_AWQRReader","AWQRReader","_AWRealm","AWRealm","_AWScanner","AWScanner","_AWSecureStorage","AWSecureStorage","_AWShake","AWShake","Vibration","_AWVibration","WebView","_AWWebView","_AWFileSystem"],"mappings":"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A,SAASE,EACApa,EACAC,GACP5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,YACCma,KAILF,4BAAA,SAAgBE,EACApa,EACAC,GACd5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,mBACCma,KAILF,iBAAA,SAAKI,EAAcC,EACdva,EACAC,GACH5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,QACCqa,EAAMC,KAIXL,iBAAA,SAAKE,EACApa,EACAC,GACH5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,QACCma,KAILF,mBAAA,SAAOE,EACApa,EACAC,GACL5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,UACCma,KAILF,mCAAA,SAAuBE,EACAzD,EACA3W,EACAC,GACrB5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,0BACCma,EAAMzD,KAIXuD,uBAAA,SAAWE,EACApa,EACAC,GACT5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,cACCma,KAILF,4BAAA,SAAgBE,EACApa,EACAC,GACd5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,mBACCma,KAILF,2BAAA,SAAeM,EACAxa,EACAC,GACb5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,kBACCua,KAILN,4BAAA,SAAgBM,EACAxa,EACAC,GACd5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,mBACCua,KAILN,6BAAA,SAAiBM,EACAxa,EACAC,GACf5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,oBACCua,KAILN,uBAAA,SAAWO,EACAza,EACAC,GACT5B,KAAK8b,cACL5N,EAAQ8C,KACNrP,EACAC,EACA,eACA,cACCwa,KAILP,mBAAA,SAAOE,EACApa,EACAC,GACH5B,KAAK8b,cACL5N,EAAQ8C,KACJrP,EACAC,EACA,eACA,UACCma,KAQTF,wBAAA,WA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"} \ No newline at end of file diff --git a/src/plugins/storage/cache.d.ts b/src/plugins/storage/cache.d.ts index c64ced4..5e8aed2 100644 --- a/src/plugins/storage/cache.d.ts +++ b/src/plugins/storage/cache.d.ts @@ -4,11 +4,11 @@ export declare class AWCache extends AWPlugin { private excludedKeys; constructor(options?: any); setExcludedKeys(_excludedKeys: string[]): void; - setItem(key: string, value: any): Promise; + setItem(key: string, value: any): Promise; getItem(key: string): any; - removeItem(key: string): Promise; - clear(): Promise; - preloadCache(): Promise; + removeItem(key: string): Promise; + clear(): Promise; + preloadCache(): Promise; migrateCache(excludedKeys: string[]): Promise; private usePersistentStorage(); } diff --git a/src/plugins/storage/cache.js.map b/src/plugins/storage/cache.js.map index 71e7ab4..8747833 100644 --- a/src/plugins/storage/cache.js.map +++ b/src/plugins/storage/cache.js.map @@ -1 +1 @@ -{"version":3,"file":"cache.js","sourceRoot":"","sources":["cache.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"cache.js","sourceRoot":"","sources":["cache.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/plugins/storage/cache.ts b/src/plugins/storage/cache.ts index 515c957..d6f6282 100644 --- a/src/plugins/storage/cache.ts +++ b/src/plugins/storage/cache.ts @@ -17,8 +17,8 @@ export class AWCache extends AWPlugin { this.excludedKeys = _excludedKeys; } - setItem(key: string, value: any): Promise { - return new Promise((resolve, reject) => { + setItem(key: string, value: any): Promise { + return new Promise((resolve, reject) => { AWProxy.storage().setItem(key, value); if (this.usePersistentStorage()) { AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys) @@ -34,8 +34,8 @@ export class AWCache extends AWPlugin { return (typeof item === 'undefined' ? '' : item); } - removeItem(key: string): Promise { - return new Promise((resolve, reject) => { + removeItem(key: string): Promise { + return new Promise((resolve, reject) => { AWProxy.storage().removeItem(key); if (this.usePersistentStorage()) { AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys) @@ -46,8 +46,8 @@ export class AWCache extends AWPlugin { }); } - clear(): Promise { - return new Promise((resolve, reject) => { + clear(): Promise { + return new Promise((resolve, reject) => { AWProxy.storage().clear(); if (this.usePersistentStorage()) { AWProxy.persistentStorage().persistLocalStorage(this.excludedKeys) @@ -58,8 +58,8 @@ export class AWCache extends AWPlugin { }); } - preloadCache(): Promise { - return new Promise((resolve, reject) => { + preloadCache(): Promise { + return new Promise((resolve, reject) => { if (this.usePersistentStorage()) { this.migrateCache(this.excludedKeys).then(() => { AWProxy.persistentStorage().loadPersistentData() diff --git a/src/plugins/storage/desktop-storage.d.ts b/src/plugins/storage/desktop-storage.d.ts index 18bc964..d3e5a79 100644 --- a/src/plugins/storage/desktop-storage.d.ts +++ b/src/plugins/storage/desktop-storage.d.ts @@ -4,6 +4,6 @@ export declare class DesktopStorage implements PersistentStorage { private desktopStorage; constructor(desktopPlugin: AsyncStorage); persistLocalStorage(excludedKeys: string[]): Promise; - loadPersistentData(): Promise; - migrateCache(excludedKeys: string[]): Promise; + loadPersistentData(): Promise; + migrateCache(excludedKeys: string[]): Promise; } diff --git a/src/plugins/storage/desktop-storage.js b/src/plugins/storage/desktop-storage.js index 0dcf4ac..22bcaf4 100644 --- a/src/plugins/storage/desktop-storage.js +++ b/src/plugins/storage/desktop-storage.js @@ -50,7 +50,7 @@ var DesktopStorage = (function () { if (this.desktopStorage === null) { return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND); } - return Promise.resolve(); + return Promise.resolve(null); }; return DesktopStorage; }()); diff --git a/src/plugins/storage/desktop-storage.js.map b/src/plugins/storage/desktop-storage.js.map index 9abea5f..53a3052 100644 --- a/src/plugins/storage/desktop-storage.js.map +++ b/src/plugins/storage/desktop-storage.js.map @@ -1 +1 @@ -{"version":3,"file":"desktop-storage.js","sourceRoot":"","sources":["desktop-storage.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"desktop-storage.js","sourceRoot":"","sources":["desktop-storage.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/plugins/storage/desktop-storage.ts b/src/plugins/storage/desktop-storage.ts index 444f162..ab457c8 100644 --- a/src/plugins/storage/desktop-storage.ts +++ b/src/plugins/storage/desktop-storage.ts @@ -35,11 +35,11 @@ export class DesktopStorage implements PersistentStorage { }); } - loadPersistentData(): Promise { + loadPersistentData(): Promise { if (this.desktopStorage === null) { return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND); } - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { try { // get data is actually synchronous const data = this.desktopStorage.getData(); @@ -56,11 +56,11 @@ export class DesktopStorage implements PersistentStorage { }); } - migrateCache(excludedKeys: string[]): Promise { + migrateCache(excludedKeys: string[]): Promise { if (this.desktopStorage === null) { return Promise.reject(DesktopStorage.PLUGIN_NOT_FOUND); } - return Promise.resolve(); + return Promise.resolve(null); } } diff --git a/src/plugins/storage/on-device-storage.d.ts b/src/plugins/storage/on-device-storage.d.ts index 60ec599..b8b26ec 100644 --- a/src/plugins/storage/on-device-storage.d.ts +++ b/src/plugins/storage/on-device-storage.d.ts @@ -4,8 +4,8 @@ import { PersistentStorage } from './index'; */ export declare class OnDeviceStorage implements PersistentStorage { persistLocalStorage(excludedKeys: string[]): Promise; - loadPersistentData(): Promise; - migrateCache(excludedKeys: string[]): Promise; + loadPersistentData(): Promise; + migrateCache(excludedKeys: string[]): Promise; private readDataAWCacheFile(); private deleteAWCacheFile(); private readDataFromPersistentStorage(); diff --git a/src/plugins/storage/on-device-storage.js.map b/src/plugins/storage/on-device-storage.js.map index ae55804..488f763 100644 --- a/src/plugins/storage/on-device-storage.js.map +++ b/src/plugins/storage/on-device-storage.js.map @@ -1 +1 @@ -{"version":3,"file":"on-device-storage.js","sourceRoot":"","sources":["on-device-storage.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"on-device-storage.js","sourceRoot":"","sources":["on-device-storage.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/plugins/storage/on-device-storage.ts b/src/plugins/storage/on-device-storage.ts index 89ad94e..ce0b570 100644 --- a/src/plugins/storage/on-device-storage.ts +++ b/src/plugins/storage/on-device-storage.ts @@ -25,8 +25,8 @@ export class OnDeviceStorage implements PersistentStorage { }); } - loadPersistentData(): Promise { - return new Promise((resolve, reject) => { + loadPersistentData(): Promise { + return new Promise((resolve, reject) => { this.readDataFromPersistentStorage().then( (json) => { let data; @@ -43,8 +43,8 @@ export class OnDeviceStorage implements PersistentStorage { }); } - migrateCache(excludedKeys: string[]): Promise { - return new Promise((resolve, reject) => { + migrateCache(excludedKeys: string[]): Promise { + return new Promise((resolve, reject) => { this.readDataAWCacheFile().then( (json) => { let data;