diff --git a/.editorconfig b/.editorconfig index 82da0b16e7..8ad8c6338d 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,15 +1,15 @@ -# http://editorconfig.org - -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true - -[*.md] -insert_final_newline = false +# http://editorconfig.org + +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false trim_trailing_whitespace = false \ No newline at end of file diff --git a/.gitignore b/.gitignore index 9d0d615983..3d3e7740b9 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ node_modules/ aot/ scripts/ionic-native-bower dist/ +src/plugins/**/ngx +*.d.ts +injectable-classes.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 625cada628..aab538743b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,48 @@ + +# [4.5.0](https://github.com/ionic-team/ionic-native/compare/v4.4.2...v4.5.0) (2017-12-08) + + +### Bug Fixes + +* **alipay:** add 'string' as an alternative type for 'pay()' input parameter; ([#2172](https://github.com/ionic-team/ionic-native/issues/2172)) ([d43fe72](https://github.com/ionic-team/ionic-native/commit/d43fe72)) +* **app-rate:** add simpleMode ([#2155](https://github.com/ionic-team/ionic-native/issues/2155)) ([9844274](https://github.com/ionic-team/ionic-native/commit/9844274)) +* **app-rate:** change openStoreInApp to inAppReview ([#2097](https://github.com/ionic-team/ionic-native/issues/2097)) ([d95ae68](https://github.com/ionic-team/ionic-native/commit/d95ae68)) +* **camera-preview:** add missing `tapToFocus` camera option ([#2046](https://github.com/ionic-team/ionic-native/issues/2046)) ([b9b781d](https://github.com/ionic-team/ionic-native/commit/b9b781d)) +* **deeplinks:** add options parameter([#1601](https://github.com/ionic-team/ionic-native/issues/1601)) ([#2141](https://github.com/ionic-team/ionic-native/issues/2141)) ([bb2291c](https://github.com/ionic-team/ionic-native/commit/bb2291c)) +* **ftp:** return observable (not promise) for upload and download method ([#2174](https://github.com/ionic-team/ionic-native/issues/2174)) ([5159367](https://github.com/ionic-team/ionic-native/commit/5159367)) +* **indexappcontent:** Return observable for onItemPressed ([#2006](https://github.com/ionic-team/ionic-native/issues/2006)) ([9a52110](https://github.com/ionic-team/ionic-native/commit/9a52110)) +* **mobile-accessibility:** change signature references to the correct names ([#2139](https://github.com/ionic-team/ionic-native/issues/2139)) ([b2c873c](https://github.com/ionic-team/ionic-native/commit/b2c873c)) +* **ms-adal:** add userInfo in the AuthenticationResult ([#2160](https://github.com/ionic-team/ionic-native/issues/2160)) ([c038c63](https://github.com/ionic-team/ionic-native/commit/c038c63)) +* **music-controls:** various fixes ([#2094](https://github.com/ionic-team/ionic-native/issues/2094)) ([afca876](https://github.com/ionic-team/ionic-native/commit/afca876)) +* **push:** add senderID to AndroidPushOptions ([#2060](https://github.com/ionic-team/ionic-native/issues/2060)) ([4694c42](https://github.com/ionic-team/ionic-native/commit/4694c42)) +* **web-intent:** fix false negative of plugin installation ([#2062](https://github.com/ionic-team/ionic-native/issues/2062)) ([ae94c71](https://github.com/ionic-team/ionic-native/commit/ae94c71)) + + +### Features + +* **android exoplayer:** add cordova-plugin-exoplayer ([#2180](https://github.com/ionic-team/ionic-native/issues/2180)) ([d06fa48](https://github.com/ionic-team/ionic-native/commit/d06fa48)) +* **android-fingerprint:** add getSigningCertificateFingerprint() method ([#2076](https://github.com/ionic-team/ionic-native/issues/2076)) ([bd5bcdc](https://github.com/ionic-team/ionic-native/commit/bd5bcdc)) +* **apple-pay:** add cordova-plugin-applepay ([#2081](https://github.com/ionic-team/ionic-native/issues/2081)) ([784f948](https://github.com/ionic-team/ionic-native/commit/784f948)) +* **apple-pay:** update for version 3 of the Apple Pay plugin. ([#2177](https://github.com/ionic-team/ionic-native/issues/2177)) ([bf41506](https://github.com/ionic-team/ionic-native/commit/bf41506)) +* **ble:** support startStateNotifications & stopStateNotifications ([#2085](https://github.com/ionic-team/ionic-native/issues/2085)) ([2a4bcee](https://github.com/ionic-team/ionic-native/commit/2a4bcee)) +* **braintree:** add support for cordova-plugin-braintree to [@ionic-native](https://github.com/ionic-native) ([#2073](https://github.com/ionic-team/ionic-native/issues/2073)) ([091ac7a](https://github.com/ionic-team/ionic-native/commit/091ac7a)) +* **call-number:** add isCallSupported method ([#2051](https://github.com/ionic-team/ionic-native/issues/2051)) ([6053296](https://github.com/ionic-team/ionic-native/commit/6053296)) +* **dns:** add cordova-plugin-dns plugin ([#2083](https://github.com/ionic-team/ionic-native/issues/2083)) ([212bd63](https://github.com/ionic-team/ionic-native/commit/212bd63)) +* **firebase:** add new Firebase phone verification methods ([#2157](https://github.com/ionic-team/ionic-native/issues/2157)) ([86181af](https://github.com/ionic-team/ionic-native/commit/86181af)) +* **GooglePlayGamesServices:** add plugin ([#1904](https://github.com/ionic-team/ionic-native/issues/1904)) ([03f5789](https://github.com/ionic-team/ionic-native/commit/03f5789)) +* **network-interface:** add plugin support ([#2063](https://github.com/ionic-team/ionic-native/issues/2063)) ([86b2a2c](https://github.com/ionic-team/ionic-native/commit/86b2a2c)) +* **nfc:** add interfaces and missing references to UriHelper and TextHelper ([#2104](https://github.com/ionic-team/ionic-native/issues/2104)) ([8b78644](https://github.com/ionic-team/ionic-native/commit/8b78644)) +* **nfc:** add support for iOS ([#2050](https://github.com/ionic-team/ionic-native/issues/2050)) ([9f72592](https://github.com/ionic-team/ionic-native/commit/9f72592)) +* **push:** add support for version 2.1.0 ([#2064](https://github.com/ionic-team/ionic-native/issues/2064)) ([c1ce5da](https://github.com/ionic-team/ionic-native/commit/c1ce5da)) +* **zeroconf:** add reInit() method ([#2144](https://github.com/ionic-team/ionic-native/issues/2144)) ([7255795](https://github.com/ionic-team/ionic-native/commit/7255795)) + + + + +## [4.4.2](https://github.com/ionic-team/ionic-native/compare/v4.4.1...v4.4.2) (2017-11-15) + + + ## [4.4.1](https://github.com/ionic-team/ionic-native/compare/v4.4.0...v4.4.1) (2017-11-13) diff --git a/LICENSE b/LICENSE index 623c70a833..bb777e9299 100644 --- a/LICENSE +++ b/LICENSE @@ -1,23 +1,23 @@ -Copyright 2015-present Drifty Co. -http://drifty.com/ - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright 2015-present Drifty Co. +http://drifty.com/ + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/circle.yml b/circle.yml index c5046f0b6c..c8ddf5b50f 100644 --- a/circle.yml +++ b/circle.yml @@ -3,7 +3,7 @@ jobs: build: working_directory: ~/ionic-native/ docker: - - image: node:7 + - image: node:8 steps: - checkout - restore_cache: @@ -33,7 +33,7 @@ jobs: - run: bash ./scripts/git/config.sh - run: name: Build Ionic Native - command: npm run build:core && ./node_modules/.bin/tsc + command: npm run build - run: name: Generate README files to ensure docs are valid command: npm run readmes diff --git a/karma.conf.js b/karma.conf.js deleted file mode 100644 index eb10d4d9cc..0000000000 --- a/karma.conf.js +++ /dev/null @@ -1,55 +0,0 @@ -"use strict"; - -module.exports = config => { - - const conf = { - frameworks: [ - 'jasmine', - 'karma-typescript' - ], - - plugins: [ - 'karma-typescript', - 'karma-jasmine', - 'karma-phantomjs-launcher' - ], - - preprocessors: { - 'src/**/*.ts': ['karma-typescript'] - }, - - karmaTypescriptConfig: { - bundlerOptions: { - entrypoints: /\.spec\.ts$/, - transforms: [ - require("karma-typescript-es6-transform")() - ] - }, - compilerOptions: { - lib: ['es2015', 'dom'], - paths: { - "@ionic-native/core": ["./src/@ionic-native/core"] - }, - baseUrl: '.' - } - }, - - files: [ - { pattern: 'src/**/*.ts', included: true, watched: true } - ], - - reporters: ['progress'], - - port: 9876, - colors: true, - logLevel: config.INFO, - autoWatch: true, - browsers: [ - 'PhantomJS' - ], - singleRun: false - }; - - config.set(conf); - -}; diff --git a/package-lock.json b/package-lock.json index 845634b1e3..6c46f82000 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,45 +1,46 @@ { "name": "ionic-native", - "version": "4.4.2", + "version": "5.0.0-beta.1", "lockfileVersion": 1, "requires": true, "dependencies": { - "@angular/compiler": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-4.4.4.tgz", - "integrity": "sha1-Mm6wAp2aNUGqyhJN75rcUcNvK0E=", + "@angular/common": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.1.0.tgz", + "integrity": "sha512-J6E0OfTJJGcyoKU51ZucsDFV40YEAPgP6VCIPYECgOFHxrqg6O1ZFZSD1fdviMXMLVEFCi6Fy6IB7GJyiWgDIA==", "dev": true, "requires": { - "tslib": "1.8.0" + "tslib": "1.8.1" } }, - "@angular/compiler-cli": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-4.4.4.tgz", - "integrity": "sha1-BjCApJfZF1OWglBQIixxfaGE9s8=", + "@angular/compiler": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.1.0.tgz", + "integrity": "sha512-iyFQqmhKNRSc9JRx7ty6z/wCsypjpbRu0QR6q2LMa6imuCt9qLHOvTajBQExRB8guqd/LTVDG4WiYY1lf8iO2w==", "dev": true, "requires": { - "@angular/tsc-wrapped": "4.4.4", - "minimist": "1.2.0", - "reflect-metadata": "0.1.10" + "tslib": "1.8.1" } }, - "@angular/core": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-4.4.4.tgz", - "integrity": "sha1-vTfs9UFY+XSJmWyThr0iL4CjL1w=", + "@angular/compiler-cli": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.1.0.tgz", + "integrity": "sha512-M1//TjgcckkwTMeGTRe7mvFY+00NxaLqlsObnGA9+R3T9cpWeLpy5iVD444Wdxl5MA/Bo3TgGNmeXZsJvh466w==", "dev": true, "requires": { - "tslib": "1.8.0" + "chokidar": "1.7.0", + "minimist": "1.2.0", + "reflect-metadata": "0.1.10", + "tsickle": "0.25.5" } }, - "@angular/tsc-wrapped": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@angular/tsc-wrapped/-/tsc-wrapped-4.4.4.tgz", - "integrity": "sha1-mEGCHlVha4JsoWAlD+heFfx0/8M=", + "@angular/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.1.0.tgz", + "integrity": "sha512-duObjve+INoz4wWuqcaJzl1isUyI37RtRblTFXgZBp2n2n0nXJq1CubcfgxQhMMR2d64xWLKg9+d34PvnzaMmg==", "dev": true, "requires": { - "tsickle": "0.21.6" + "tslib": "1.8.1" } }, "@types/cordova": { @@ -48,56 +49,147 @@ "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=", "dev": true }, - "@types/jasmine": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.6.3.tgz", - "integrity": "sha512-2dJf9//QxTnFBXHsCqLbB55jlMreJQie9HhgsZrSgHveOKCWVmgcXgRyvIi22Ndk/dJ/e2srLOstk2NgVbb7XA==", + "@types/fs-extra": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-4.0.5.tgz", + "integrity": "sha512-tIG0GpHum5IFb8Qze/cSv0w/0gNzHB+MUDftTQaxenx46z50g51/MPkNLssLz9+uZLzCDd35bT9qtWOTXZ21Gw==", + "dev": true, + "requires": { + "@types/node": "8.0.47" + } + }, + "@types/glob": { + "version": "5.0.33", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.33.tgz", + "integrity": "sha512-BcD4yyWz+qmCggaYMSFF0Xn7GkO6tgwm3Fh9Gxk/kQmEU3Z7flQTnVlMyKBUNvXXNTCCyjqK4XT4/2hLd1gQ2A==", + "dev": true, + "requires": { + "@types/minimatch": "3.0.1", + "@types/node": "8.0.47" + } + }, + "@types/jest": { + "version": "21.1.5", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-21.1.5.tgz", + "integrity": "sha512-HwBIPK96DROvcB4EX5mA7L2nzhZ3sh8AcDSFODB4eG43S3q3d0+oo356J51qCxw9Bbn7G1DOmBmrw6vf+WiGTg==", + "dev": true + }, + "@types/lodash": { + "version": "4.14.85", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.85.tgz", + "integrity": "sha512-HrZiwDl62if0z31+rB99CLlg7WzS7b+KmyW75XAHEl/ZG0De2ACo6skZ89Zh3jOWkjKObN0Apq3MUezg7u9NKQ==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.1.tgz", + "integrity": "sha512-rUO/jz10KRSyA9SHoCWQ8WX9BICyj5jZYu1/ucKEJKb4KzLZCKMURdYbadP157Q6Zl1x0vHsrU+Z/O0XlhYQDw==", "dev": true }, "@types/node": { - "version": "8.0.51", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.51.tgz", - "integrity": "sha512-El3+WJk2D/ppWNd2X05aiP5l2k4EwF7KwheknQZls+I26eSICoWRhRIJ56jGgw2dqNGQ5LtNajmBU2ajS28EvQ==", + "version": "8.0.47", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.47.tgz", + "integrity": "sha512-kOwL746WVvt/9Phf6/JgX/bsGQvbrK5iUgzyfwZNcKVFcjAUVSpF9HxevLTld2SG9aywYHOILj38arDdY1r/iQ==", "dev": true }, - "abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "@types/rimraf": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.2.tgz", + "integrity": "sha512-Hm/bnWq0TCy7jmjeN5bKYij9vw5GrDFWME4IuxV08278NtU/VdGbzsBohcCUJ7+QMqmUq5hpRKB39HeQWJjztQ==", + "dev": true, + "requires": { + "@types/glob": "5.0.33", + "@types/node": "8.0.47" + } + }, + "@types/source-map": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@types/source-map/-/source-map-0.5.2.tgz", + "integrity": "sha512-++w4WmMbk3dS3UeHGzAG+xJOSz5Xqtjys/TBkqG3qp3SeWE7Wwezqe5eB7B51cxUyh4PW7bwVotpsLdBK0D8cw==", "dev": true }, - "accepts": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", - "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", + "@types/tapable": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-0.2.4.tgz", + "integrity": "sha512-pclMAvhPnXJcJu1ZZ8bQthuUcdDWzDuxDdbSf6l1U6s4fP6EBiZpPsOZYqFOrbqDV97sXGFSsb6AUpiLfv4xIA==", + "dev": true + }, + "@types/uglify-js": { + "version": "2.6.29", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-2.6.29.tgz", + "integrity": "sha512-BdFLCZW0GTl31AbqXSak8ss/MqEZ3DN2MH9rkAyGoTuzK7ifGUlX+u0nfbWeTsa7IPcZhtn8BlpYBXSV+vqGhQ==", "dev": true, "requires": { - "mime-types": "2.1.17", - "negotiator": "0.6.1" + "@types/source-map": "0.5.2" + } + }, + "@types/webpack": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-3.8.1.tgz", + "integrity": "sha512-121nghW8XJ0tFNGuQh5k+VoSMLm71c7bEmNI0MMNDtKiNUcij3nWwypQccfEQrGcmJCAMkoC5vZLtdT4fbbCzw==", + "dev": true, + "requires": { + "@types/node": "8.0.47", + "@types/tapable": "0.2.4", + "@types/uglify-js": "2.6.29" + } + }, + "JSONStream": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz", + "integrity": "sha1-cH92HgHa6eFvG8+TcDt4xwlmV5o=", + "dev": true, + "requires": { + "jsonparse": "1.3.1", + "through": "2.3.8" } }, + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, "acorn": { "version": "4.0.13", "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", "dev": true }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, + "requires": { + "acorn": "4.0.13" + } + }, + "acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "dev": true, + "requires": { + "acorn": "4.0.13" + } + }, "add-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", "dev": true }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, "ajv": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz", - "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=", + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.1.tgz", + "integrity": "sha1-s4u4h22ehr7plJVqBOch6IskjrI=", "dev": true, "requires": { "co": "4.6.0", @@ -106,6 +198,12 @@ "json-schema-traverse": "0.3.1" } }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true + }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", @@ -123,6 +221,21 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "2.1.1" + } + }, + "ansi-escapes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", + "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", + "dev": true + }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -145,6 +258,21 @@ "normalize-path": "2.1.1" } }, + "append-transform": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, "archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", @@ -187,6 +315,18 @@ "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", "dev": true }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", + "dev": true + }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -199,10 +339,22 @@ "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", "dev": true }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", + "dev": true + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", + "dev": true + }, "array-slice": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.0.0.tgz", - "integrity": "sha1-5zA08A3MH0CHYAj9IP6ud71LfC8=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", "dev": true }, "array-uniq": { @@ -217,10 +369,10 @@ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", "dev": true }, - "arraybuffer.slice": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", - "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "asap": { @@ -261,12 +413,30 @@ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true }, + "astw": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz", + "integrity": "sha1-e9QXhNMkk5h66yOba04cV6hzuRc=", + "dev": true, + "requires": { + "acorn": "4.0.13" + } + }, + "async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "dev": true, + "requires": { + "lodash": "4.17.4" + } + }, "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", @@ -318,7 +488,7 @@ "babel-traverse": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", - "convert-source-map": "1.5.0", + "convert-source-map": "1.5.1", "debug": "2.6.9", "json5": "0.5.1", "lodash": "4.17.4", @@ -345,6 +515,17 @@ "trim-right": "1.0.1" } }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, "babel-helper-call-delegate": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", @@ -369,6 +550,17 @@ "lodash": "4.17.4" } }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, "babel-helper-function-name": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", @@ -423,6 +615,19 @@ "lodash": "4.17.4" } }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, "babel-helper-replace-supers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", @@ -447,6 +652,16 @@ "babel-template": "6.26.0" } }, + "babel-jest": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-21.2.0.tgz", + "integrity": "sha512-O0W2qLoWu1QOoOGgxiR2JID4O6WSpxPiQanrkyi9SSlM0PJ60Ptzlck47lhtnr9YZO3zYOsxHwnyeWJ6AffoBQ==", + "dev": true, + "requires": { + "babel-plugin-istanbul": "4.1.5", + "babel-preset-jest": "21.2.0" + } + }, "babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", @@ -465,6 +680,58 @@ "babel-runtime": "6.26.0" } }, + "babel-plugin-istanbul": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz", + "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "istanbul-lib-instrument": "1.9.1", + "test-exclude": "4.1.1" + } + }, + "babel-plugin-jest-hoist": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-21.2.0.tgz", + "integrity": "sha512-yi5QuiVyyvhBUDLP4ButAnhYzkdrUwWDtvUJv71hjH3fclhnZg4HkDeqaitcR2dZZx/E67kGkRcPVjtVu+SJfQ==", + "dev": true + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, "babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", @@ -699,6 +966,17 @@ "regexpu-core": "2.0.0" } }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, "babel-plugin-transform-regenerator": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", @@ -718,13 +996,15 @@ "babel-types": "6.26.0" } }, - "babel-preset-es2015": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", - "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "babel-preset-env": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", + "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", "dev": true, "requires": { "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", "babel-plugin-transform-es2015-arrow-functions": "6.22.0", "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", "babel-plugin-transform-es2015-block-scoping": "6.26.0", @@ -747,7 +1027,21 @@ "babel-plugin-transform-es2015-template-literals": "6.22.0", "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0" + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0", + "browserslist": "2.10.0", + "invariant": "2.2.2", + "semver": "5.4.1" + } + }, + "babel-preset-jest": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-21.2.0.tgz", + "integrity": "sha512-hm9cBnr2h3J7yXoTtAVV0zg+3vg0Q/gT2GYuzlreTU0EPkJRtlNgKJJ3tBKEn0+VjAi3JykV6xCJkuUYttEEfA==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "21.2.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0" } }, "babel-register": { @@ -772,7 +1066,7 @@ "dev": true, "requires": { "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -817,42 +1111,30 @@ "to-fast-properties": "1.0.3" } }, + "babelify": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/babelify/-/babelify-8.0.0.tgz", + "integrity": "sha512-xVr63fKEvMWUrrIbqlHYsMcc5Zdw4FSVesAHgkgajyCE1W8gbm9rbMakqavhxKvikGYMhEcqxTwB/gQmQ6lBtw==", + "dev": true + }, "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, "base64-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", "dev": true }, - "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", - "dev": true - }, "bcrypt-pbkdf": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", @@ -869,19 +1151,16 @@ "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", "dev": true }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, - "requires": { - "callsite": "1.0.0" - } + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true }, "binary-extensions": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz", - "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", "dev": true }, "binaryextensions": { @@ -890,12 +1169,6 @@ "integrity": "sha1-HmN0iLNbWL2l9HdL+WpSEqjJB1U=", "dev": true }, - "blob": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", - "dev": true - }, "bluebird": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", @@ -908,24 +1181,6 @@ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", "dev": true }, - "body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", - "dev": true, - "requires": { - "bytes": "3.0.0", - "content-type": "1.0.4", - "debug": "2.6.9", - "depd": "1.1.1", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "on-finished": "2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "1.6.15" - } - }, "boom": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", @@ -935,6 +1190,58 @@ "hoek": "4.2.0" } }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "requires": { + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.3.0", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", @@ -962,6 +1269,19 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, + "browser-pack": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.2.tgz", + "integrity": "sha1-+GzWzvT1MAyOY+B6TVEvZfv/RTE=", + "dev": true, + "requires": { + "JSONStream": "1.3.1", + "combine-source-map": "0.7.2", + "defined": "1.0.0", + "through2": "2.0.3", + "umd": "3.0.1" + } + }, "browser-resolve": { "version": "1.11.2", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", @@ -979,21 +1299,76 @@ } } }, - "browserify-aes": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", - "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "browserify": { + "version": "14.5.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-14.5.0.tgz", + "integrity": "sha512-gKfOsNQv/toWz+60nSPfYzuwSEdzvV2WdxrVPUbPD/qui44rAkB3t3muNtmmGYHqrG56FGwX9SUEQmzNLAeS7g==", "dev": true, "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - }, - "browserify-cipher": { + "JSONStream": "1.3.1", + "assert": "1.4.1", + "browser-pack": "6.0.2", + "browser-resolve": "1.11.2", + "browserify-zlib": "0.2.0", + "buffer": "5.0.8", + "cached-path-relative": "1.0.1", + "concat-stream": "1.5.2", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "defined": "1.0.0", + "deps-sort": "2.0.0", + "domain-browser": "1.1.7", + "duplexer2": "0.1.4", + "events": "1.1.1", + "glob": "7.1.2", + "has": "1.0.1", + "htmlescape": "1.1.1", + "https-browserify": "1.0.0", + "inherits": "2.0.3", + "insert-module-globals": "7.0.1", + "labeled-stream-splicer": "2.0.0", + "module-deps": "4.1.1", + "os-browserify": "0.3.0", + "parents": "1.0.1", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "read-only-stream": "2.0.0", + "readable-stream": "2.3.3", + "resolve": "1.5.0", + "shasum": "1.0.2", + "shell-quote": "1.6.1", + "stream-browserify": "2.0.1", + "stream-http": "2.7.2", + "string_decoder": "1.0.3", + "subarg": "1.0.0", + "syntax-error": "1.3.0", + "through2": "2.0.3", + "timers-browserify": "1.4.2", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.3", + "vm-browserify": "0.0.4", + "xtend": "4.0.1" + } + }, + "browserify-aes": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "dev": true, + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "browserify-cipher": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", @@ -1049,6 +1424,25 @@ "pako": "1.0.6" } }, + "browserslist": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.10.0.tgz", + "integrity": "sha512-WyvzSLsuAVPOjbljXnyeWl14Ae+ukAT8MUuagKVzIDvwBxl4UAwD1xqtyQs2eWYPGUKMeC3Ol62goqYuKqTTcw==", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000780", + "electron-to-chromium": "1.3.28" + } + }, + "bser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", + "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", + "dev": true, + "requires": { + "node-int64": "0.4.0" + } + }, "buffer": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.8.tgz", @@ -1077,16 +1471,37 @@ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "cacache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.1.tgz", + "integrity": "sha512-dRHYcs9LvG9cHgdPzjiI+/eS7e1xRhULrcyOx04RZQsszNJXU2SL9CyG60yLnge282Qq5nwTv+ieK2fH+WPZmA==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.1", + "mississippi": "1.3.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.0.0", + "unique-filename": "1.1.0", + "y18n": "3.2.1" + } + }, + "cached-path-relative": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz", + "integrity": "sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=", "dev": true }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true }, "camel-case": { @@ -1100,9 +1515,9 @@ } }, "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true }, "camelcase-keys": { @@ -1113,14 +1528,34 @@ "requires": { "camelcase": "2.1.1", "map-obj": "1.0.1" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } } }, + "caniuse-lite": { + "version": "1.0.30000780", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000780.tgz", + "integrity": "sha1-H5CV8u/UlA4LpsWZKreptkzDW6Q=", + "dev": true + }, "canonical-path": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-0.0.2.tgz", "integrity": "sha1-4x65N6jJPuKgHfGDl5RyGQKHRXQ=", "dev": true }, + "capture-stack-trace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", + "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", + "dev": true + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -1141,7 +1576,6 @@ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, - "optional": true, "requires": { "align-text": "0.1.4", "lazy-cache": "1.0.4" @@ -1186,17 +1620,6 @@ "upper-case-first": "1.1.2" } }, - "child-process-promise": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz", - "integrity": "sha1-RzChHvYQ+tRQuPIjx50x172tgHQ=", - "dev": true, - "requires": { - "cross-spawn": "4.0.2", - "node-version": "1.1.0", - "promise-polyfill": "6.0.2" - } - }, "chokidar": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", @@ -1213,6 +1636,18 @@ "readdirp": "2.1.0" } }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true + }, + "ci-info": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz", + "integrity": "sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA==", + "dev": true + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -1223,12 +1658,17 @@ "safe-buffer": "5.1.1" } }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, "cliui": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, - "optional": true, "requires": { "center-align": "0.1.3", "right-align": "0.1.3", @@ -1239,8 +1679,7 @@ "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true, - "optional": true + "dev": true } } }, @@ -1268,10 +1707,19 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, - "coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "colors": { @@ -1280,19 +1728,10 @@ "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "dev": true }, - "combine-lists": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz", - "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", - "dev": true, - "requires": { - "lodash": "4.17.4" - } - }, "combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz", + "integrity": "sha1-CHAxKFazB6h8xKxIbzqaYq7MwJ4=", "dev": true, "requires": { "convert-source-map": "1.1.3", @@ -1318,6 +1757,18 @@ "delayed-stream": "1.0.0" } }, + "commander": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", + "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, "compare-func": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", @@ -1326,26 +1777,19 @@ "requires": { "array-ify": "1.0.0", "dot-prop": "3.0.0" + }, + "dependencies": { + "dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "dev": true, + "requires": { + "is-obj": "1.0.1" + } + } } }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, - "component-emitter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", - "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", - "dev": true - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -1353,26 +1797,50 @@ "dev": true }, "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", + "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.0.6", "typedarray": "0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } } }, - "connect": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.5.tgz", - "integrity": "sha1-+43ee6B2OHfQ7J352sC0tA5yx9o=", + "configstore": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", + "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", "dev": true, "requires": { - "debug": "2.6.9", - "finalhandler": "1.0.6", - "parseurl": "1.3.2", - "utils-merge": "1.0.1" + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.1.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" } }, "console-browserify": { @@ -1400,10 +1868,10 @@ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "content-type-parser": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", + "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==", "dev": true }, "conventional-changelog": { @@ -1412,11 +1880,11 @@ "integrity": "sha1-kVGmKx2O2y2CcR2r9bfPcQQfgrE=", "dev": true, "requires": { - "conventional-changelog-angular": "1.5.2", + "conventional-changelog-angular": "1.5.3", "conventional-changelog-atom": "0.1.2", "conventional-changelog-codemirror": "0.2.1", - "conventional-changelog-core": "1.9.3", - "conventional-changelog-ember": "0.2.9", + "conventional-changelog-core": "1.9.4", + "conventional-changelog-ember": "0.2.10", "conventional-changelog-eslint": "0.2.1", "conventional-changelog-express": "0.2.1", "conventional-changelog-jquery": "0.1.0", @@ -1425,13 +1893,13 @@ } }, "conventional-changelog-angular": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.5.2.tgz", - "integrity": "sha1-Kzj2Zf6cWSCvGi+C9Uf0ur5t5Xw=", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.5.3.tgz", + "integrity": "sha512-J+3g7H7O9QTxBFMmdlHSLzqTdxO8lhOKGXLAcewtKPGaVVV/JnaPOokuj85mP3tghP5gXi527HWoJlD3VBlX6g==", "dev": true, "requires": { "compare-func": "1.3.2", - "q": "1.5.0" + "q": "1.5.1" } }, "conventional-changelog-atom": { @@ -1440,7 +1908,7 @@ "integrity": "sha1-Ella1SZ6aTfDTPkAKBscZRmKTGM=", "dev": true, "requires": { - "q": "1.5.0" + "q": "1.5.1" } }, "conventional-changelog-cli": { @@ -1462,17 +1930,17 @@ "integrity": "sha1-KZpPcUe681DmyBWPxUlUopHFzAk=", "dev": true, "requires": { - "q": "1.5.0" + "q": "1.5.1" } }, "conventional-changelog-core": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-1.9.3.tgz", - "integrity": "sha1-KJn+d5OJoynw7EsnRsNt3vuY2i0=", + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-1.9.4.tgz", + "integrity": "sha512-C8R8Bb706P10hYaGzllvH92O8Ck7xCGPB7t2Y+S1O2yf13BDvDW5BPdjyBwY2VgVNuFyNqi6qA458N+W9txpHg==", "dev": true, "requires": { - "conventional-changelog-writer": "2.0.2", - "conventional-commits-parser": "2.0.1", + "conventional-changelog-writer": "2.0.3", + "conventional-commits-parser": "2.1.0", "dateformat": "1.0.12", "get-pkg-repo": "1.4.0", "git-raw-commits": "1.3.0", @@ -1480,19 +1948,19 @@ "git-semver-tags": "1.2.3", "lodash": "4.17.4", "normalize-package-data": "2.4.0", - "q": "1.5.0", + "q": "1.5.1", "read-pkg": "1.1.0", "read-pkg-up": "1.0.1", "through2": "2.0.3" } }, "conventional-changelog-ember": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.2.9.tgz", - "integrity": "sha1-jsc8wFTjqwZGZ/sf61L+jvGxZDg=", + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.2.10.tgz", + "integrity": "sha512-LBBBZO6Q7ib4HhSdyCNVR25OtaXl710UJg1aSHCLmR8AjuXKs3BO8tnbY1MH+D1C+z5IFoEDkpjOddefNTyhCQ==", "dev": true, "requires": { - "q": "1.5.0" + "q": "1.5.1" } }, "conventional-changelog-eslint": { @@ -1501,7 +1969,7 @@ "integrity": "sha1-LCoRvrIW+AZJunKDQYApO2h8BmI=", "dev": true, "requires": { - "q": "1.5.0" + "q": "1.5.1" } }, "conventional-changelog-express": { @@ -1510,7 +1978,7 @@ "integrity": "sha1-g42eHmyQmXA7FQucGaoteBdCvWw=", "dev": true, "requires": { - "q": "1.5.0" + "q": "1.5.1" } }, "conventional-changelog-jquery": { @@ -1519,7 +1987,7 @@ "integrity": "sha1-Agg5cWLjhGmG5xJztsecW1+A9RA=", "dev": true, "requires": { - "q": "1.5.0" + "q": "1.5.1" } }, "conventional-changelog-jscs": { @@ -1528,7 +1996,7 @@ "integrity": "sha1-BHnrRDzH1yxYvwvPDvHURKkvDlw=", "dev": true, "requires": { - "q": "1.5.0" + "q": "1.5.1" } }, "conventional-changelog-jshint": { @@ -1538,25 +2006,36 @@ "dev": true, "requires": { "compare-func": "1.3.2", - "q": "1.5.0" + "q": "1.5.1" } }, "conventional-changelog-writer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-2.0.2.tgz", - "integrity": "sha1-tYV97RsAHa+aeLnNQJJvRcE0lJs=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-2.0.3.tgz", + "integrity": "sha512-2E1h7UXL0fhRO5h0CxDZ5EBc5sfBZEQePvuZ+gPvApiRrICUyNDy/NQIP+2TBd4wKZQf2Zm7TxbzXHG5HkPIbA==", "dev": true, "requires": { "compare-func": "1.3.2", - "conventional-commits-filter": "1.1.0", + "conventional-commits-filter": "1.1.1", "dateformat": "1.0.12", "handlebars": "4.0.11", "json-stringify-safe": "5.0.1", "lodash": "4.17.4", "meow": "3.7.0", - "semver": "5.3.0", + "semver": "5.4.1", "split": "1.0.1", "through2": "2.0.3" + }, + "dependencies": { + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2.3.8" + } + } } }, "conventional-commit-types": { @@ -1566,9 +2045,9 @@ "dev": true }, "conventional-commits-filter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.1.0.tgz", - "integrity": "sha1-H8Ka8wte2rdvVOIpxBGwxmPQ+es=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.1.1.tgz", + "integrity": "sha512-bQyatySNKHhcaeKVr9vFxYWA1W1Tdz6ybVMYDmv4/FhOXY1+fchiW07TzRbIQZhVa4cvBwrEaEUQBbCncFSdJQ==", "dev": true, "requires": { "is-subset": "0.1.1", @@ -1576,13 +2055,13 @@ } }, "conventional-commits-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.0.1.tgz", - "integrity": "sha1-HxXOa4RPfKQUlcgZDAgzwwuLFpM=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.0.tgz", + "integrity": "sha512-8MD05yN0Zb6aRsZnFX1ET+8rHWfWJk+my7ANCJZBU2mhz7TSB1fk2vZhkrwVy/PCllcTYAP/1T1NiWQ7Z01mKw==", "dev": true, "requires": { - "is-text-path": "1.0.1", "JSONStream": "1.3.1", + "is-text-path": "1.0.1", "lodash": "4.17.4", "meow": "3.7.0", "split2": "2.2.0", @@ -1591,16 +2070,24 @@ } }, "convert-source-map": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", - "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } }, "core-js": { "version": "2.5.1", @@ -1623,7 +2110,7 @@ "graceful-fs": "4.1.11", "minimist": "1.2.0", "mkdirp": "0.5.1", - "rimraf": "2.6.1" + "rimraf": "2.6.2" } }, "create-ecdh": { @@ -1636,6 +2123,15 @@ "elliptic": "6.4.0" } }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "1.0.0" + } + }, "create-hash": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", @@ -1663,12 +2159,13 @@ } }, "cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { "lru-cache": "4.1.1", + "shebang-command": "1.2.0", "which": "1.3.0" } }, @@ -1711,6 +2208,58 @@ "randomfill": "1.0.3" } }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, + "css-loader": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.9.1.tgz", + "integrity": "sha1-LhqgDOfjDvLGp6SzAKCAp8l54Nw=", + "dev": true, + "optional": true, + "requires": { + "csso": "1.3.12", + "loader-utils": "0.2.17", + "source-map": "0.1.43" + }, + "dependencies": { + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "optional": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "csso": { + "version": "1.3.12", + "resolved": "https://registry.npmjs.org/csso/-/csso-1.3.12.tgz", + "integrity": "sha1-/GKGlKLTiTiqrEmWdTIY/TEc254=", + "dev": true, + "optional": true + }, + "cssom": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", + "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", + "dev": true + }, + "cssstyle": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "dev": true, + "requires": { + "cssom": "0.3.2" + } + }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -1720,18 +2269,18 @@ "array-find-index": "1.0.2" } }, - "custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", - "dev": true - }, "cycle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", "dev": true }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, "cz-conventional-changelog": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-2.0.0.tgz", @@ -1746,6 +2295,15 @@ "word-wrap": "1.2.3" } }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "0.10.37" + } + }, "dargs": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", @@ -1764,12 +2322,6 @@ "assert-plus": "1.0.0" } }, - "date-format": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-0.0.0.tgz", - "integrity": "sha1-CSBoY6sHDrRZrOpVQsvYVrEZZrM=", - "dev": true - }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", @@ -1801,12 +2353,27 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, + "deep-extend": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "dev": true + }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "default-require-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "dev": true, + "requires": { + "strip-bom": "2.0.0" + } + }, "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -1816,18 +2383,18 @@ "clone": "1.0.3" } }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "dev": true - }, "dependency-graph": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.4.1.tgz", @@ -1840,6 +2407,18 @@ "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=", "dev": true }, + "deps-sort": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz", + "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=", + "dev": true, + "requires": { + "JSONStream": "1.3.1", + "shasum": "1.0.2", + "subarg": "1.0.0", + "through2": "2.0.3" + } + }, "des.js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", @@ -1868,10 +2447,28 @@ "repeating": "2.0.1" } }, - "dgeni": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/dgeni/-/dgeni-0.4.7.tgz", - "integrity": "sha1-UHBifdKPiNSABuIfVa+xipy4vmg=", + "detective": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.0.tgz", + "integrity": "sha512-4mBqSEdMfBpRAo/DQZnTcAXenpiSIJmVKbCMSotS+SFWWcrP/CKM6iBRPdTiEO+wZhlfEsoZlGqpG6ycl5vTqw==", + "dev": true, + "requires": { + "acorn": "5.2.1", + "defined": "1.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", + "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", + "dev": true + } + } + }, + "dgeni": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/dgeni/-/dgeni-0.4.7.tgz", + "integrity": "sha1-UHBifdKPiNSABuIfVa+xipy4vmg=", "dev": true, "requires": { "canonical-path": "0.0.2", @@ -1914,19 +2511,25 @@ "glob": "7.1.2", "htmlparser2": "3.9.2", "lodash": "4.17.4", - "marked": "0.3.6", + "marked": "0.3.7", "minimatch": "3.0.4", "mkdirp": "0.5.1", "mkdirp-promise": "5.0.1", "node-html-encoder": "0.0.2", "nunjucks": "2.5.2", - "semver": "5.3.0", + "semver": "5.4.1", "shelljs": "0.7.8", "spdx-license-list": "2.1.0", "stringmap": "0.2.2", "typescript": "1.8.10" }, "dependencies": { + "espree": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/espree/-/espree-2.2.5.tgz", + "integrity": "sha1-32kbkxCIlAKuspzAZnCMVmkLhUs=", + "dev": true + }, "typescript": { "version": "1.8.10", "resolved": "https://registry.npmjs.org/typescript/-/typescript-1.8.10.tgz", @@ -1982,18 +2585,6 @@ } } }, - "dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", - "dev": true, - "requires": { - "custom-event": "1.0.1", - "ent": "2.2.0", - "extend": "3.0.1", - "void-elements": "2.0.1" - } - }, "dom-serializer": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", @@ -2053,47 +2644,45 @@ } }, "dot-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", - "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { "is-obj": "1.0.1" } }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "dev": true, "requires": { - "readable-stream": "1.1.14" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } + "readable-stream": "2.3.3" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", + "integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==", + "dev": true, + "requires": { + "end-of-stream": "1.4.0", + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "stream-shift": "1.0.0" } }, "ecc-jsbn": { @@ -2106,10 +2695,10 @@ "jsbn": "0.1.1" } }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "electron-to-chromium": { + "version": "1.3.28", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.28.tgz", + "integrity": "sha1-jdTmRYCGZE6fnwoc8y4qH53/2e4=", "dev": true }, "elliptic": { @@ -2127,132 +2716,48 @@ "minimalistic-crypto-utils": "1.0.1" } }, - "encodeurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", "dev": true }, "end-of-stream": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", - "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", - "dev": true, - "requires": { - "once": "1.3.3" - }, - "dependencies": { - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - } - } - }, - "engine.io": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz", - "integrity": "sha1-jef5eJXSDTm4X4ju7nd7K9QrE9Q=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", "dev": true, "requires": { - "accepts": "1.3.3", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "2.3.3", - "engine.io-parser": "1.3.2", - "ws": "1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", - "dev": true, - "requires": { - "ms": "0.7.2" - } - }, - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", - "dev": true - } - } - }, - "engine.io-client": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz", - "integrity": "sha1-F5jtk0USRkU9TG9jXXogH+lA1as=", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "2.3.3", - "engine.io-parser": "1.3.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parsejson": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "1.1.2", - "xmlhttprequest-ssl": "1.5.3", - "yeast": "0.1.2" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", - "dev": true, - "requires": { - "ms": "0.7.2" - } - }, - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", - "dev": true - } + "once": "1.4.0" } }, - "engine.io-parser": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz", - "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=", + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", "dev": true, "requires": { - "after": "0.8.2", - "arraybuffer.slice": "0.0.6", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.4", - "has-binary": "0.1.7", - "wtf-8": "1.0.0" + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.8" } }, - "ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, "entities": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", "dev": true }, + "errno": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "dev": true, + "requires": { + "prr": "0.0.0" + } + }, "error-ex": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", @@ -2262,17 +2767,81 @@ "is-arrayish": "0.2.1" } }, + "es5-ext": { + "version": "0.10.37", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz", + "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.37", + "es6-symbol": "3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.37", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, "es6-promise": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz", - "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", "dev": true }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.37", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.37" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.37", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } }, "escape-string-regexp": { "version": "1.0.5", @@ -2281,48 +2850,54 @@ "dev": true }, "escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", + "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", "dev": true, "requires": { - "esprima": "2.7.3", - "estraverse": "1.9.3", + "esprima": "3.1.3", + "estraverse": "4.2.0", "esutils": "2.0.2", "optionator": "0.8.2", - "source-map": "0.2.0" + "source-map": "0.5.7" }, "dependencies": { "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", "dev": true - }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true, - "requires": { - "amdefine": "1.0.1" - } } } }, - "espree": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/espree/-/espree-2.2.5.tgz", - "integrity": "sha1-32kbkxCIlAKuspzAZnCMVmkLhUs=", + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.0", + "estraverse": "4.2.0" + } + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", "dev": true }, + "esrecurse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "dev": true, + "requires": { + "estraverse": "4.2.0", + "object-assign": "4.1.1" + } + }, "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", @@ -2335,11 +2910,30 @@ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, - "eventemitter3": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", - "dev": true + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.37" + } + }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "requires": { + "duplexer": "0.1.1", + "from": "0.1.7", + "map-stream": "0.1.0", + "pause-stream": "0.0.11", + "split": "0.3.3", + "stream-combiner": "0.0.4", + "through": "2.3.8" + } }, "events": { "version": "1.1.1", @@ -2357,54 +2951,28 @@ "safe-buffer": "5.1.1" } }, - "expand-braces": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", - "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", + "exec-sh": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz", + "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==", "dev": true, "requires": { - "array-slice": "0.2.3", - "array-unique": "0.2.1", - "braces": "0.1.5" - }, - "dependencies": { - "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", - "dev": true - }, - "braces": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", - "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", - "dev": true, - "requires": { - "expand-range": "0.1.1" - } - }, - "expand-range": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", - "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", - "dev": true, - "requires": { - "is-number": "0.1.1", - "repeat-string": "0.2.2" - } - }, - "is-number": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", - "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", - "dev": true - }, - "repeat-string": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", - "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", - "dev": true - } + "merge": "1.2.0" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -2434,6 +3002,31 @@ "os-homedir": "1.0.2" } }, + "expect": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-21.2.1.tgz", + "integrity": "sha512-orfQQqFRTX0jH7znRIGi8ZMR8kTNpXklTTz8+HGTpmTKZo3Occ6JNB5FXMb8cRuiiC/GyDqsr30zUa66ACYlYw==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "jest-diff": "21.2.1", + "jest-get-type": "21.2.0", + "jest-matcher-utils": "21.2.1", + "jest-message-util": "21.2.1", + "jest-regex-util": "21.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + } + } + }, "extend": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", @@ -2449,35 +3042,6 @@ "is-extglob": "1.0.0" } }, - "extract-zip": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz", - "integrity": "sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw=", - "dev": true, - "requires": { - "concat-stream": "1.6.0", - "debug": "2.6.9", - "mkdirp": "0.5.0", - "yauzl": "2.4.1" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mkdirp": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", - "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - } - } - }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -2518,13 +3082,23 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "dev": true, + "requires": { + "bser": "2.0.0" + } + }, + "file-loader": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.8.5.tgz", + "integrity": "sha1-knXQMf54DyfUf19K8CvUNxPMFRs=", "dev": true, + "optional": true, "requires": { - "pend": "1.2.0" + "loader-utils": "0.2.17" } }, "filename-regex": { @@ -2533,6 +3107,16 @@ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", "dev": true }, + "fileset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", + "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "dev": true, + "requires": { + "glob": "7.1.2", + "minimatch": "3.0.4" + } + }, "fill-range": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", @@ -2546,27 +3130,15 @@ "repeat-string": "1.6.1" } }, - "finalhandler": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.6.tgz", - "integrity": "sha1-AHrqM9Gk0+QgF/YkhIrVjSEvgU8=", + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "debug": "2.6.9", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" - }, - "dependencies": { - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true - } + "commondir": "1.0.1", + "make-dir": "1.1.0", + "pkg-dir": "2.0.0" } }, "find-index": { @@ -2576,13 +3148,12 @@ "dev": true }, "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "locate-path": "2.0.0" } }, "findup-sync": { @@ -2633,6 +3204,16 @@ "integrity": "sha1-/xke3c1wiKZ1smEP/8l2vpuAdLU=", "dev": true }, + "flush-write-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz", + "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -2665,6 +3246,22 @@ "mime-types": "2.1.17" } }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, "fs-exists-sync": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", @@ -2672,46 +3269,71 @@ "dev": true }, "fs-extra": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.0.0.tgz", - "integrity": "sha1-M3NSve1KC3FPPrhN6M6nZenTdgA=", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "requires": { "graceful-fs": "4.1.11", - "jsonfile": "2.4.0" + "jsonfile": "4.0.0", + "universalify": "0.1.1" } }, "fs-extra-promise": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/fs-extra-promise/-/fs-extra-promise-0.4.1.tgz", - "integrity": "sha1-rCjNLPa6ckjYI13ziHts9u3fNC8=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fs-extra-promise/-/fs-extra-promise-1.0.1.tgz", + "integrity": "sha1-tu0azpexDga5X0WNBRt/BcZhPuY=", "dev": true, "requires": { "bluebird": "3.5.1", - "fs-extra": "0.30.0" + "fs-extra": "2.1.2" }, "dependencies": { "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", + "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", "dev": true, "requires": { "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.1" + "jsonfile": "2.4.0" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" } } } }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.3" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, "gaze": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", @@ -2721,6 +3343,12 @@ "globule": "0.1.0" } }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, "get-pkg-repo": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", @@ -2740,6 +3368,12 @@ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", "dev": true }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -2770,6 +3404,14 @@ "requires": { "gitconfiglocal": "1.0.0", "pify": "2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } } }, "git-semver-tags": { @@ -2779,7 +3421,7 @@ "dev": true, "requires": { "meow": "3.7.0", - "semver": "5.3.0" + "semver": "5.4.1" } }, "gitconfiglocal": { @@ -2788,7 +3430,7 @@ "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", "dev": true, "requires": { - "ini": "1.3.4" + "ini": "1.3.5" } }, "glob": { @@ -2913,6 +3555,15 @@ "find-index": "0.1.1" } }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "1.3.5" + } + }, "global-modules": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", @@ -2930,7 +3581,7 @@ "dev": true, "requires": { "homedir-polyfill": "1.0.1", - "ini": "1.3.4", + "ini": "1.3.5", "is-windows": "0.2.0", "which": "1.3.0" } @@ -3008,12 +3659,37 @@ "sparkles": "1.0.0" } }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.0", + "safe-buffer": "5.1.1", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" + } + }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, "gulp": { "version": "3.9.1", "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", @@ -3024,7 +3700,7 @@ "chalk": "1.1.3", "deprecated": "0.0.1", "gulp-util": "3.0.8", - "interpret": "1.0.4", + "interpret": "1.1.0", "liftoff": "2.3.0", "minimist": "1.2.0", "orchestrator": "0.3.8", @@ -3040,6 +3716,15 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", "dev": true + }, + "v8flags": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", + "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "dev": true, + "requires": { + "user-home": "1.1.1" + } } } }, @@ -3050,9 +3735,9 @@ "dev": true }, "gulp-replace": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-0.5.4.tgz", - "integrity": "sha1-aaZ5FLvRPFYr/xT1BKQDeWqg2qk=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-0.6.1.tgz", + "integrity": "sha1-Eb+Mj85TPjPi9qjy9DC5VboL4GY=", "dev": true, "requires": { "istextorbinary": "1.0.2", @@ -3061,14 +3746,22 @@ } }, "gulp-tslint": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/gulp-tslint/-/gulp-tslint-6.1.2.tgz", - "integrity": "sha1-ni3oLvJaqkN4/Yn+W0Q7Pq9wL+0=", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/gulp-tslint/-/gulp-tslint-8.1.2.tgz", + "integrity": "sha512-0RNGqbp2TKPdbG+sWU3mNMXEMuF/noY1KS4+jd5lOStkvuFINkFL29dHX3IT1u+vVFD4Glwf+lkcdR2QMVNMzA==", "dev": true, "requires": { "gulp-util": "3.0.8", - "map-stream": "0.1.0", + "map-stream": "0.0.7", "through": "2.3.8" + }, + "dependencies": { + "map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=", + "dev": true + } } }, "gulp-util": { @@ -3159,6 +3852,12 @@ "uglify-js": "2.8.29" }, "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, "source-map": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", @@ -3182,10 +3881,19 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "5.3.0", + "ajv": "5.5.1", "har-schema": "2.0.0" } }, + "has": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "dev": true, + "requires": { + "function-bind": "1.1.1" + } + }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -3195,33 +3903,10 @@ "ansi-regex": "2.1.1" } }, - "has-binary": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz", - "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=", - "dev": true, - "requires": { - "isarray": "0.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", "dev": true }, "has-gulplog": { @@ -3252,16 +3937,6 @@ "minimalistic-assert": "1.0.0" } }, - "hasha": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", - "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", - "dev": true, - "requires": { - "is-stream": "1.1.0", - "pinkie-promise": "2.0.1" - } - }, "hawk": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", @@ -3326,6 +4001,21 @@ "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", "dev": true }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "1.0.3" + } + }, + "htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", + "dev": true + }, "htmlparser2": { "version": "3.9.2", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", @@ -3340,28 +4030,6 @@ "readable-stream": "2.3.3" } }, - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "dev": true, - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": "1.4.0" - } - }, - "http-proxy": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", - "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", - "dev": true, - "requires": { - "eventemitter3": "1.2.0", - "requires-port": "1.0.0" - } - }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -3391,6 +4059,30 @@ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", "dev": true }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, "indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", @@ -3423,9 +4115,9 @@ "dev": true }, "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, "inline-source-map": { @@ -3437,10 +4129,26 @@ "source-map": "0.5.7" } }, + "insert-module-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz", + "integrity": "sha1-wDv04BywhtW15azorQr+eInWOMM=", + "dev": true, + "requires": { + "JSONStream": "1.3.1", + "combine-source-map": "0.7.2", + "concat-stream": "1.5.2", + "is-buffer": "1.1.6", + "lexical-scope": "1.2.0", + "process": "0.11.10", + "through2": "2.0.3", + "xtend": "4.0.1" + } + }, "interpret": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", - "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", "dev": true }, "invariant": { @@ -3480,7 +4188,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.10.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { @@ -3498,6 +4206,15 @@ "builtin-modules": "1.1.1" } }, + "is-ci": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", + "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", + "dev": true, + "requires": { + "ci-info": "1.1.2" + } + }, "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", @@ -3552,6 +4269,16 @@ "is-extglob": "1.0.0" } }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" + } + }, "is-lower-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", @@ -3561,6 +4288,12 @@ "lower-case": "1.1.4" } }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", @@ -3576,6 +4309,15 @@ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -3605,6 +4347,12 @@ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, "is-relative": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz", @@ -3614,6 +4362,12 @@ "is-unc-path": "0.1.2" } }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "dev": true + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -3677,12 +4431,6 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, - "isbinaryfile": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz", - "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -3704,51 +4452,71 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, - "istanbul": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", - "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "istanbul-api": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.1.tgz", + "integrity": "sha512-oFCwXvd65amgaPCzqrR+a2XjanS1MvpXN6l/MlMUTv6uiA1NOgGX+I0uyq8Lg3GDxsxPsaP1049krz3hIJ5+KA==", "dev": true, "requires": { - "abbrev": "1.0.9", - "async": "1.5.2", - "escodegen": "1.8.1", - "esprima": "2.7.3", - "glob": "5.0.15", - "handlebars": "4.0.11", + "async": "2.6.0", + "fileset": "2.0.3", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", "js-yaml": "3.10.0", "mkdirp": "0.5.1", - "nopt": "3.0.6", - "once": "1.4.0", - "resolve": "1.1.7", - "supports-color": "3.2.3", - "which": "1.3.0", - "wordwrap": "1.0.0" + "once": "1.4.0" + } + }, + "istanbul-lib-coverage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", + "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", + "dev": true, + "requires": { + "append-transform": "0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", + "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", + "dev": true, + "requires": { + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" + } + }, + "istanbul-lib-report": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", + "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "supports-color": { @@ -3759,15 +4527,42 @@ "requires": { "has-flag": "1.0.0" } - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true } } }, + "istanbul-lib-source-maps": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", + "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", + "dev": true, + "requires": { + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "istanbul-reports": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", + "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", + "dev": true, + "requires": { + "handlebars": "4.0.11" + } + }, "istextorbinary": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-1.0.2.tgz", @@ -3778,367 +4573,792 @@ "textextensions": "1.0.2" } }, - "jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", - "dev": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "jest": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-21.2.1.tgz", + "integrity": "sha512-mXN0ppPvWYoIcC+R+ctKxAJ28xkt/Z5Js875padm4GbgUn6baeR5N4Ng6LjatIRpUQDZVJABT7Y4gucFjPryfw==", "dev": true, "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" + "jest-cli": "21.2.1" }, "dependencies": { - "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true + }, + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "jest-cli": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-21.2.1.tgz", + "integrity": "sha512-T1BzrbFxDIW/LLYQqVfo94y/hhaj1NzVQkZgBumAC+sxbjMROI7VkihOdxNR758iYbQykL2ZOWUBurFgkQrzdg==", + "dev": true, + "requires": { + "ansi-escapes": "3.0.0", + "chalk": "2.3.0", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "is-ci": "1.0.10", + "istanbul-api": "1.2.1", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-source-maps": "1.2.2", + "jest-changed-files": "21.2.0", + "jest-config": "21.2.1", + "jest-environment-jsdom": "21.2.1", + "jest-haste-map": "21.2.0", + "jest-message-util": "21.2.1", + "jest-regex-util": "21.2.0", + "jest-resolve-dependencies": "21.2.0", + "jest-runner": "21.2.1", + "jest-runtime": "21.2.1", + "jest-snapshot": "21.2.1", + "jest-util": "21.2.1", + "micromatch": "2.3.11", + "node-notifier": "5.1.2", + "pify": "3.0.0", + "slash": "1.0.0", + "string-length": "2.0.0", + "strip-ansi": "4.0.0", + "which": "1.3.0", + "worker-farm": "1.5.2", + "yargs": "9.0.1" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } } } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "jest-changed-files": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-21.2.0.tgz", + "integrity": "sha512-+lCNP1IZLwN1NOIvBcV5zEL6GENK6TXrDj4UxWIeLvIsIDa+gf6J7hkqsW2qVVt/wvH65rVvcPwqXdps5eclTQ==", "dev": true, - "optional": true - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true + "requires": { + "throat": "4.1.0" + } }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true + "jest-config": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-21.2.1.tgz", + "integrity": "sha512-fJru5HtlD/5l2o25eY9xT0doK3t2dlglrqoGpbktduyoI0T5CwuB++2YfoNZCrgZipTwPuAGonYv0q7+8yDc/A==", + "dev": true, + "requires": { + "chalk": "2.3.0", + "glob": "7.1.2", + "jest-environment-jsdom": "21.2.1", + "jest-environment-node": "21.2.1", + "jest-get-type": "21.2.0", + "jest-jasmine2": "21.2.1", + "jest-regex-util": "21.2.0", + "jest-resolve": "21.2.0", + "jest-util": "21.2.1", + "jest-validate": "21.2.1", + "pretty-format": "21.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "jest-diff": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-21.2.1.tgz", + "integrity": "sha512-E5fu6r7PvvPr5qAWE1RaUwIh/k6Zx/3OOkZ4rk5dBJkEWRrUuSgbMt2EO8IUTPTd6DOqU3LW6uTIwX5FRvXoFA==", + "dev": true, + "requires": { + "chalk": "2.3.0", + "diff": "3.4.0", + "jest-get-type": "21.2.0", + "pretty-format": "21.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } }, - "json3": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "jest-docblock": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", + "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", "dev": true }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true + "jest-environment-jsdom": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-21.2.1.tgz", + "integrity": "sha512-mecaeNh0eWmzNrUNMWARysc0E9R96UPBamNiOCYL28k7mksb1d0q6DD38WKP7ABffjnXyUWJPVaWRgUOivwXwg==", + "dev": true, + "requires": { + "jest-mock": "21.2.0", + "jest-util": "21.2.1", + "jsdom": "9.12.0" + } }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "jest-environment-node": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-21.2.1.tgz", + "integrity": "sha512-R211867wx9mVBVHzrjGRGTy5cd05K7eqzQl/WyZixR/VkJ4FayS8qkKXZyYnwZi6Rxo6WEV81cDbiUx/GfuLNw==", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "jest-mock": "21.2.0", + "jest-util": "21.2.1" } }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "jest-get-type": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-21.2.0.tgz", + "integrity": "sha512-y2fFw3C+D0yjNSDp7ab1kcd6NUYfy3waPTlD8yWkAtiocJdBRQqNoRqVfMNxgj+IjT0V5cBIHJO0z9vuSSZ43Q==", "dev": true }, - "JSONStream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz", - "integrity": "sha1-cH92HgHa6eFvG8+TcDt4xwlmV5o=", + "jest-haste-map": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-21.2.0.tgz", + "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", "dev": true, "requires": { - "jsonparse": "1.3.1", - "through": "2.3.8" + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.11", + "jest-docblock": "21.2.0", + "micromatch": "2.3.11", + "sane": "2.2.0", + "worker-farm": "1.5.2" } }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "jest-jasmine2": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-21.2.1.tgz", + "integrity": "sha512-lw8FXXIEekD+jYNlStfgNsUHpfMWhWWCgHV7n0B7mA/vendH7vBFs8xybjQsDzJSduptBZJHqQX9SMssya9+3A==", "dev": true, "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "chalk": "2.3.0", + "expect": "21.2.1", + "graceful-fs": "4.1.11", + "jest-diff": "21.2.1", + "jest-matcher-utils": "21.2.1", + "jest-message-util": "21.2.1", + "jest-snapshot": "21.2.1", + "p-cancelable": "0.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } } }, - "karma": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/karma/-/karma-1.7.1.tgz", - "integrity": "sha512-k5pBjHDhmkdaUccnC7gE3mBzZjcxyxYsYVaqiL2G5AqlfLyBO5nw2VdNK+O16cveEPd/gIOWULH7gkiYYwVNHg==", + "jest-matcher-utils": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-21.2.1.tgz", + "integrity": "sha512-kn56My+sekD43dwQPrXBl9Zn9tAqwoy25xxe7/iY4u+mG8P3ALj5IK7MLHZ4Mi3xW7uWVCjGY8cm4PqgbsqMCg==", "dev": true, "requires": { - "bluebird": "3.5.1", - "body-parser": "1.18.2", - "chokidar": "1.7.0", - "colors": "1.1.2", - "combine-lists": "1.0.1", - "connect": "3.6.5", - "core-js": "2.5.1", - "di": "0.0.1", - "dom-serialize": "2.2.1", - "expand-braces": "0.1.2", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "http-proxy": "1.16.2", - "isbinaryfile": "3.0.2", - "lodash": "3.10.1", - "log4js": "0.6.38", - "mime": "1.4.1", - "minimatch": "3.0.4", - "optimist": "0.6.1", - "qjobs": "1.1.5", - "range-parser": "1.2.0", - "rimraf": "2.6.1", - "safe-buffer": "5.1.1", - "socket.io": "1.7.3", - "source-map": "0.5.7", - "tmp": "0.0.31", - "useragent": "2.2.1" + "chalk": "2.3.0", + "jest-get-type": "21.2.0", + "pretty-format": "21.2.1" }, "dependencies": { - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } }, - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } } } }, - "karma-cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/karma-cli/-/karma-cli-1.0.1.tgz", - "integrity": "sha1-rmw8WKMTodALRRZMRVubhs4X+WA=", + "jest-message-util": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-21.2.1.tgz", + "integrity": "sha512-EbC1X2n0t9IdeMECJn2BOg7buOGivCvVNjqKMXTzQOu7uIfLml+keUfCALDh8o4rbtndIeyGU8/BKfoTr/LVDQ==", "dev": true, "requires": { - "resolve": "1.5.0" + "chalk": "2.3.0", + "micromatch": "2.3.11", + "slash": "1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } } }, - "karma-coverage": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.1.tgz", - "integrity": "sha1-Wv+LOc9plNwi3kyENix2ABtjfPY=", + "jest-mock": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-21.2.0.tgz", + "integrity": "sha512-aZDfyVf0LEoABWiY6N0d+O963dUQSyUa4qgzurHR3TBDPen0YxKCJ6l2i7lQGh1tVdsuvdrCZ4qPj+A7PievCw==", + "dev": true + }, + "jest-regex-util": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-21.2.0.tgz", + "integrity": "sha512-BKQ1F83EQy0d9Jen/mcVX7D+lUt2tthhK/2gDWRgLDJRNOdRgSp1iVqFxP8EN1ARuypvDflRfPzYT8fQnoBQFQ==", + "dev": true + }, + "jest-resolve": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-21.2.0.tgz", + "integrity": "sha512-vefQ/Lr+VdNvHUZFQXWtOqHX3HEdOc2MtSahBO89qXywEbUxGPB9ZLP9+BHinkxb60UT2Q/tTDOS6rYc6Mwigw==", "dev": true, "requires": { - "dateformat": "1.0.12", - "istanbul": "0.4.5", - "lodash": "3.10.1", - "minimatch": "3.0.4", - "source-map": "0.5.7" + "browser-resolve": "1.11.2", + "chalk": "2.3.0", + "is-builtin-module": "1.0.0" }, "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } } } }, - "karma-jasmine": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.0.tgz", - "integrity": "sha1-IuTAa/mhguUpTR9wXjczgRuBCs8=", - "dev": true + "jest-resolve-dependencies": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-21.2.0.tgz", + "integrity": "sha512-ok8ybRFU5ScaAcfufIQrCbdNJSRZ85mkxJ1EhUp8Bhav1W1/jv/rl1Q6QoVQHObNxmKnbHVKrfLZbCbOsXQ+bQ==", + "dev": true, + "requires": { + "jest-regex-util": "21.2.0" + } }, - "karma-phantomjs-launcher": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz", - "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=", + "jest-runner": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-21.2.1.tgz", + "integrity": "sha512-Anb72BOQlHqF/zETqZ2K20dbYsnqW/nZO7jV8BYENl+3c44JhMrA8zd1lt52+N7ErnsQMd2HHKiVwN9GYSXmrg==", "dev": true, "requires": { - "lodash": "4.17.4", - "phantomjs-prebuilt": "2.1.16" + "jest-config": "21.2.1", + "jest-docblock": "21.2.0", + "jest-haste-map": "21.2.0", + "jest-jasmine2": "21.2.1", + "jest-message-util": "21.2.1", + "jest-runtime": "21.2.1", + "jest-util": "21.2.1", + "pify": "3.0.0", + "throat": "4.1.0", + "worker-farm": "1.5.2" } }, - "karma-typescript": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/karma-typescript/-/karma-typescript-3.0.8.tgz", - "integrity": "sha1-oayGsA2nRNwcA83HgXopgucvEXE=", + "jest-runtime": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-21.2.1.tgz", + "integrity": "sha512-6omlpA3+NSE+rHwD0PQjNEjZeb2z+oRmuehMfM1tWQVum+E0WV3pFt26Am0DUfQkkPyTABvxITRjCUclYgSOsA==", "dev": true, "requires": { - "acorn": "4.0.13", - "amdefine": "1.0.0", - "assert": "1.4.1", - "async": "2.6.0", - "base64-js": "1.2.1", - "browser-resolve": "1.11.2", - "browserify-zlib": "0.2.0", - "buffer": "5.0.8", - "combine-source-map": "0.8.0", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "convert-source-map": "1.5.0", - "crypto-browserify": "3.12.0", - "diff": "3.4.0", - "domain-browser": "1.1.7", - "es6-promise": "4.1.1", - "events": "1.1.1", - "glob": "7.1.2", - "https-browserify": "1.0.0", - "ieee754": "1.1.8", - "isarray": "1.0.0", - "istanbul": "0.4.5", - "json-stringify-safe": "5.0.1", - "karma-coverage": "1.1.1", - "lodash": "4.17.4", - "log4js": "1.1.1", - "magic-string": "0.19.1", - "minimatch": "3.0.4", - "os-browserify": "0.3.0", - "pad": "1.2.1", - "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.3", - "remap-istanbul": "0.8.4", - "source-map": "0.5.7", - "stream-browserify": "2.0.1", - "stream-http": "2.7.2", - "string_decoder": "1.0.3", - "through2": "2.0.1", - "timers-browserify": "2.0.4", - "tmp": "0.0.29", - "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", - "vm-browserify": "0.0.4" + "babel-core": "6.26.0", + "babel-jest": "21.2.0", + "babel-plugin-istanbul": "4.1.5", + "chalk": "2.3.0", + "convert-source-map": "1.5.1", + "graceful-fs": "4.1.11", + "jest-config": "21.2.1", + "jest-haste-map": "21.2.0", + "jest-regex-util": "21.2.0", + "jest-resolve": "21.2.0", + "jest-util": "21.2.1", + "json-stable-stringify": "1.0.1", + "micromatch": "2.3.11", + "slash": "1.0.0", + "strip-bom": "3.0.0", + "write-file-atomic": "2.3.0", + "yargs": "9.0.1" }, "dependencies": { - "amdefine": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", - "integrity": "sha1-/RdHRwDLXMnCtwnwvp0jzjwZjDM=", + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, - "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "lodash": "4.17.4" + "has-flag": "2.0.0" + } + } + } + }, + "jest-snapshot": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-21.2.1.tgz", + "integrity": "sha512-bpaeBnDpdqaRTzN8tWg0DqOTo2DvD3StOemxn67CUd1p1Po+BUpvePAp44jdJ7Pxcjfg+42o4NHw1SxdCA2rvg==", + "dev": true, + "requires": { + "chalk": "2.3.0", + "jest-diff": "21.2.1", + "jest-matcher-utils": "21.2.1", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "pretty-format": "21.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" } }, - "log4js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-1.1.1.tgz", - "integrity": "sha1-wh0px2BAieTyVYM+f5SzRh3h/0M=", + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "debug": "2.6.9", - "semver": "5.3.0", - "streamroller": "0.4.1" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, - "through2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", - "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "readable-stream": "2.0.6", - "xtend": "4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } + "has-flag": "2.0.0" + } + } + } + }, + "jest-util": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-21.2.1.tgz", + "integrity": "sha512-r20W91rmHY3fnCoO7aOAlyfC51x2yeV3xF+prGsJAUsYhKeV670ZB8NO88Lwm7ASu8SdH0S+U+eFf498kjhA4g==", + "dev": true, + "requires": { + "callsites": "2.0.0", + "chalk": "2.3.0", + "graceful-fs": "4.1.11", + "jest-message-util": "21.2.1", + "jest-mock": "21.2.0", + "jest-validate": "21.2.1", + "mkdirp": "0.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, - "tmp": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", - "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=", + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "has-flag": "2.0.0" } } } }, - "karma-typescript-es6-transform": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/karma-typescript-es6-transform/-/karma-typescript-es6-transform-1.0.2.tgz", - "integrity": "sha1-uIuXd+dFDPDaySsBRt0u36mMbTA=", + "jest-validate": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-21.2.1.tgz", + "integrity": "sha512-k4HLI1rZQjlU+EC682RlQ6oZvLrE5SCh3brseQc24vbZTxzT/k/3urar5QMCVgjadmSO7lECeGdc6YxnM3yEGg==", "dev": true, "requires": { - "acorn": "4.0.13", - "babel-core": "6.26.0", - "babel-preset-es2015": "6.24.1", - "log4js": "1.1.1", - "magic-string": "0.19.1" + "chalk": "2.3.0", + "jest-get-type": "21.2.0", + "leven": "2.1.0", + "pretty-format": "21.2.1" }, "dependencies": { - "log4js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-1.1.1.tgz", - "integrity": "sha1-wh0px2BAieTyVYM+f5SzRh3h/0M=", + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "debug": "2.6.9", - "semver": "5.3.0", - "streamroller": "0.4.1" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" } } } }, - "kew": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", - "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, + "js-yaml": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jsdom": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", + "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", + "dev": true, + "requires": { + "abab": "1.0.4", + "acorn": "4.0.13", + "acorn-globals": "3.1.0", + "array-equal": "1.0.0", + "content-type-parser": "1.0.2", + "cssom": "0.3.2", + "cssstyle": "0.2.37", + "escodegen": "1.9.0", + "html-encoding-sniffer": "1.0.2", + "nwmatcher": "1.4.3", + "parse5": "1.5.1", + "request": "2.83.0", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.3.3", + "webidl-conversions": "4.0.2", + "whatwg-encoding": "1.0.3", + "whatwg-url": "4.8.0", + "xml-name-validator": "2.0.1" + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stable-stringify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -4148,21 +5368,39 @@ "is-buffer": "1.1.6" } }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "labeled-stream-splicer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz", + "integrity": "sha1-pS4dE4AkwAuGscDJH2d5GLiuClk=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "inherits": "2.0.3", + "isarray": "0.0.1", + "stream-splicer": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "4.0.1" } }, "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true, - "optional": true + "dev": true }, "lcid": { "version": "1.0.0", @@ -4173,6 +5411,12 @@ "invert-kv": "1.0.0" } }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "dev": true + }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -4183,6 +5427,15 @@ "type-check": "0.3.2" } }, + "lexical-scope": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz", + "integrity": "sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=", + "dev": true, + "requires": { + "astw": "2.2.0" + } + }, "liftoff": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz", @@ -4211,6 +5464,42 @@ "pify": "2.3.0", "pinkie-promise": "2.0.1", "strip-bom": "2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "lodash": { @@ -4219,6 +5508,16 @@ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", "dev": true }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "requires": { + "lodash._basecopy": "3.0.1", + "lodash.keys": "3.1.2" + } + }, "lodash._basecopy": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", @@ -4237,6 +5536,23 @@ "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", "dev": true }, + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", + "dev": true + }, + "lodash._createassigner": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", + "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", + "dev": true, + "requires": { + "lodash._bindcallback": "3.0.1", + "lodash._isiterateecall": "3.0.9", + "lodash.restparam": "3.6.1" + } + }, "lodash._getnative": { "version": "3.9.1", "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", @@ -4273,6 +5589,27 @@ "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", "dev": true }, + "lodash.assign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", + "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", + "dev": true, + "requires": { + "lodash._baseassign": "3.2.0", + "lodash._createassigner": "3.1.1", + "lodash.keys": "3.1.2" + } + }, + "lodash.defaults": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz", + "integrity": "sha1-xzCLGNv4vJNy1wGnNJPGEZK9Liw=", + "dev": true, + "requires": { + "lodash.assign": "3.2.0", + "lodash.restparam": "3.6.1" + } + }, "lodash.escape": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", @@ -4360,48 +5697,6 @@ "lodash._reinterpolate": "3.0.0" } }, - "log4js": { - "version": "0.6.38", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", - "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "semver": "4.3.6" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", @@ -4442,6 +5737,12 @@ "lower-case": "1.1.4" } }, + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true + }, "lru-cache": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", @@ -4452,13 +5753,28 @@ "yallist": "2.1.2" } }, - "magic-string": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.19.1.tgz", - "integrity": "sha1-FNdoATyvLsj96hakmvgvw3fnUgE=", + "make-dir": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", + "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "make-error": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.0.tgz", + "integrity": "sha1-Uq06M5zPEM5itAQLcI/nByRLi5Y=", + "dev": true + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "dev": true, "requires": { - "vlq": "0.2.3" + "tmpl": "1.0.4" } }, "map-cache": { @@ -4480,9 +5796,9 @@ "dev": true }, "marked": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz", - "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=", + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.7.tgz", + "integrity": "sha512-zBEP4qO1YQp5aXHt8S5wTiOv9i2X74V/LQL0zhUNvVaklt6Ywa6lChxIvS+ibYlCGgADwKwZFhjC3+XfpsvQvQ==", "dev": true }, "md5.js": { @@ -4507,11 +5823,24 @@ } } }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.1.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "0.1.4", + "readable-stream": "2.3.3" + } }, "meow": { "version": "3.7.0", @@ -4531,6 +5860,12 @@ "trim-newlines": "1.0.0" } }, + "merge": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", + "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=", + "dev": true + }, "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", @@ -4562,12 +5897,6 @@ "brorand": "1.1.0" } }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", - "dev": true - }, "mime-db": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", @@ -4583,6 +5912,12 @@ "mime-db": "1.30.0" } }, + "mimic-fn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "dev": true + }, "minimalistic-assert": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", @@ -4610,6 +5945,24 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, + "mississippi": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-1.3.0.tgz", + "integrity": "sha1-0gFYPrEjJ+PFwWQqQEqcrPlONPU=", + "dev": true, + "requires": { + "concat-stream": "1.5.2", + "duplexify": "3.5.1", + "end-of-stream": "1.4.0", + "flush-write-stream": "1.0.2", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "1.0.3", + "pumpify": "1.3.5", + "stream-each": "1.2.2", + "through2": "2.0.3" + } + }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -4642,6 +5995,43 @@ "integrity": "sha1-4rbN65zhn5kxelNyLz2/XfXqqrI=", "dev": true }, + "module-deps": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz", + "integrity": "sha1-IyFYM/HaE/1gbMuAh7RIUty4If0=", + "dev": true, + "requires": { + "JSONStream": "1.3.1", + "browser-resolve": "1.11.2", + "cached-path-relative": "1.0.1", + "concat-stream": "1.5.2", + "defined": "1.0.0", + "detective": "4.7.0", + "duplexer2": "0.1.4", + "inherits": "2.0.3", + "parents": "1.0.1", + "readable-stream": "2.3.3", + "resolve": "1.5.0", + "stream-combiner2": "1.1.1", + "subarg": "1.0.0", + "through2": "2.0.3", + "xtend": "4.0.1" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -4655,18 +6045,53 @@ "dev": true, "requires": { "duplexer2": "0.0.2" + }, + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "1.1.14" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } } }, "natives": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz", - "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz", + "integrity": "sha512-8eRaxn8u/4wN8tGkhlc2cgwwvOLMLUMUn4IYTexMgWd+LyUDfeXVkk2ygQR0hvIHbJQXgHujia3ieUUDwNGkEA==", "dev": true }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "no-case": { @@ -4684,19 +6109,102 @@ "integrity": "sha1-iXNhjXJ9pVJqgwtH0HwNgD4KFcY=", "dev": true }, - "node-version": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/node-version/-/node-version-1.1.0.tgz", - "integrity": "sha512-t1V2RFiaTavaW3jtQO0A2nok6k7/Gghuvx2rjvICuT0B0dYaObBQ4U0xHL+ZTPFZodt1LMYG2Vi2nypfz4/AJg==", + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", "dev": true }, + "node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.1.7", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.3", + "stream-browserify": "2.0.1", + "stream-http": "2.7.2", + "string_decoder": "1.0.3", + "timers-browserify": "2.0.4", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.3", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "1.2.1", + "ieee754": "1.1.8", + "isarray": "1.0.0" + } + }, + "timers-browserify": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz", + "integrity": "sha512-uZYhyU3EX8O7HQP+J9fTVYwsq90Vr68xPEFo7yrVImIxYvHgukBEgOB/SgGoorWVTzGM/3Z+wUNnboA4M8jWrg==", + "dev": true, + "requires": { + "setimmediate": "1.0.5" + } + } + } + }, + "node-notifier": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.1.2.tgz", + "integrity": "sha1-L6nhJgX6EACdRFSdb82KY93g5P8=", + "dev": true, + "requires": { + "growly": "1.3.0", + "semver": "5.4.1", + "shellwords": "0.1.1", + "which": "1.3.0" + } + }, + "nodemon": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.12.1.tgz", + "integrity": "sha1-mWpW3EnZ8Wu/G3ik3gjxNjSzh40=", + "dev": true, + "requires": { + "chokidar": "1.7.0", + "debug": "2.6.9", + "es6-promise": "3.3.1", + "ignore-by-default": "1.0.1", + "lodash.defaults": "3.1.2", + "minimatch": "3.0.4", + "ps-tree": "1.1.0", + "touch": "3.1.0", + "undefsafe": "0.0.3", + "update-notifier": "2.3.0" + } + }, "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", "dev": true, "requires": { - "abbrev": "1.0.9" + "abbrev": "1.1.1" } }, "normalize-package-data": { @@ -4707,7 +6215,7 @@ "requires": { "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", - "semver": "5.3.0", + "semver": "5.4.1", "validate-npm-package-license": "3.0.1" } }, @@ -4720,6 +6228,15 @@ "remove-trailing-separator": "1.1.0" } }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -4737,6 +6254,12 @@ "yargs": "3.32.0" }, "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", @@ -4748,6 +6271,26 @@ "wrap-ansi": "2.1.0" } }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, "window-size": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", @@ -4771,6 +6314,12 @@ } } }, + "nwmatcher": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz", + "integrity": "sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==", + "dev": true + }, "oauth-sign": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", @@ -4783,12 +6332,6 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true - }, "object.defaults": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", @@ -4796,7 +6339,7 @@ "dev": true, "requires": { "array-each": "1.0.1", - "array-slice": "1.0.0", + "array-slice": "1.1.0", "for-own": "1.0.0", "isobject": "3.0.1" }, @@ -4851,15 +6394,6 @@ "integrity": "sha1-jXoVvmy4Zw34pJDMa+EqTwXqgvQ=", "dev": true }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -4909,12 +6443,6 @@ } } }, - "options": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", - "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", - "dev": true - }, "orchestrator": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", @@ -4924,6 +6452,26 @@ "end-of-stream": "0.1.5", "sequencify": "0.0.7", "stream-consume": "0.1.0" + }, + "dependencies": { + "end-of-stream": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", + "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", + "dev": true, + "requires": { + "once": "1.3.3" + } + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + } } }, "ordered-read-streams": { @@ -4944,29 +6492,60 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "lcid": "1.0.0" + "p-limit": "1.1.0" } }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "pad": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pad/-/pad-1.2.1.tgz", - "integrity": "sha512-cx/l/K+9UjGXJmoYolvP0l3cEUyB9BUdUL3wj3uwskIiApboLsinvsXxU9nSNg9Luz2ZyH0zzJNbqgLSNtfIDw==", + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "coffee-script": "1.12.7", - "wcwidth": "1.0.1" + "got": "6.7.1", + "registry-auth-token": "3.3.1", + "registry-url": "3.1.0", + "semver": "5.4.1" } }, "pad-right": { @@ -4984,6 +6563,17 @@ "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", "dev": true }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, "param-case": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", @@ -4993,6 +6583,15 @@ "no-case": "2.3.2" } }, + "parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", + "dev": true, + "requires": { + "path-platform": "0.11.15" + } + }, "parse-asn1": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", @@ -5050,37 +6649,10 @@ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true }, - "parsejson": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", - "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=", - "dev": true, - "requires": { - "better-assert": "1.0.2" - } - }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, - "requires": { - "better-assert": "1.0.2" - } - }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, - "requires": { - "better-assert": "1.0.2" - } - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "parse5": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", "dev": true }, "pascal-case": { @@ -5109,13 +6681,10 @@ } }, "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true }, "path-is-absolute": { "version": "1.0.1", @@ -5123,12 +6692,30 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, "path-parse": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, + "path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", + "dev": true + }, "path-root": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", @@ -5153,6 +6740,23 @@ "graceful-fs": "4.1.11", "pify": "2.3.0", "pinkie-promise": "2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "2.3.8" } }, "pbkdf2": { @@ -5168,52 +6772,16 @@ "sha.js": "2.4.9" } }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true - }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, - "phantomjs-prebuilt": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", - "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", - "dev": true, - "requires": { - "es6-promise": "4.1.1", - "extract-zip": "1.6.6", - "fs-extra": "1.0.0", - "hasha": "2.2.0", - "kew": "0.7.0", - "progress": "1.1.8", - "request": "2.83.0", - "request-progress": "2.0.1", - "which": "1.3.0" - }, - "dependencies": { - "fs-extra": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1" - } - } - } - }, "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "pinkie": { @@ -5231,18 +6799,60 @@ "pinkie": "2.0.4" } }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + } + }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", "dev": true }, + "pretty-format": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-21.2.1.tgz", + "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", + "dev": true, + "requires": { + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + } + } + }, "pretty-hrtime": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", @@ -5267,18 +6877,27 @@ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", "dev": true }, - "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, - "promise-polyfill": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.0.2.tgz", - "integrity": "sha1-2chtPcTcLfkBboiUbe/Wm0m0EWI=", + "prr": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", "dev": true }, + "ps-tree": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.0.tgz", + "integrity": "sha1-tCGyQUDWID8e08dplrRCewjowBQ=", + "dev": true, + "requires": { + "event-stream": "3.3.4" + } + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -5298,6 +6917,27 @@ "randombytes": "2.0.5" } }, + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dev": true, + "requires": { + "end-of-stream": "1.4.0", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.3.5.tgz", + "integrity": "sha1-G2ccYZlAq8rqwK0OOjwWS+dgmTs=", + "dev": true, + "requires": { + "duplexify": "3.5.1", + "inherits": "2.0.3", + "pump": "1.0.3" + } + }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", @@ -5305,15 +6945,9 @@ "dev": true }, "q": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", - "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=", - "dev": true - }, - "qjobs": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.1.5.tgz", - "integrity": "sha1-ZZ3p8s+NzCehSBJ28gU3cnI4LnM=", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, "qs": { @@ -5334,15 +6968,6 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, - "queue": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/queue/-/queue-4.2.1.tgz", - "integrity": "sha1-UxjtiiJ6lzTmv+6ySgV3gpInUds=", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", @@ -5403,22 +7028,25 @@ "safe-buffer": "5.1.1" } }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", - "dev": true + "rc": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", + "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", + "dev": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + } }, - "raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", "dev": true, "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "unpipe": "1.0.0" + "readable-stream": "2.3.3" } }, "read-pkg": { @@ -5440,6 +7068,27 @@ "requires": { "find-up": "1.1.2", "read-pkg": "1.1.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + } } }, "readable-stream": { @@ -5501,9 +7150,9 @@ "dev": true }, "regenerator-runtime": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "regenerator-transform": { @@ -5522,145 +7171,60 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, - "requires": { - "is-equal-shallow": "0.1.3" - } - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "dev": true, - "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "remap-istanbul": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/remap-istanbul/-/remap-istanbul-0.8.4.tgz", - "integrity": "sha1-tL/f28kO+mNemiix9KEW4iyMJpc=", - "dev": true, - "requires": { - "amdefine": "1.0.1", - "gulp-util": "3.0.7", - "istanbul": "0.4.5", - "source-map": "0.5.7", - "through2": "2.0.1" - }, - "dependencies": { - "gulp-util": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz", - "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=", - "dev": true, - "requires": { - "array-differ": "1.0.0", - "array-uniq": "1.0.3", - "beeper": "1.1.1", - "chalk": "1.1.3", - "dateformat": "1.0.12", - "fancy-log": "1.3.0", - "gulplog": "1.0.0", - "has-gulplog": "0.1.0", - "lodash._reescape": "3.0.0", - "lodash._reevaluate": "3.0.0", - "lodash._reinterpolate": "3.0.0", - "lodash.template": "3.6.2", - "minimist": "1.2.0", - "multipipe": "0.1.2", - "object-assign": "3.0.0", - "replace-ext": "0.0.1", - "through2": "2.0.1", - "vinyl": "0.5.3" - } - }, - "lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "dev": true, - "requires": { - "lodash._basecopy": "3.0.1", - "lodash._basetostring": "3.0.1", - "lodash._basevalues": "3.0.0", - "lodash._isiterateecall": "3.0.9", - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0", - "lodash.keys": "3.1.2", - "lodash.restparam": "3.6.1", - "lodash.templatesettings": "3.1.1" - } - }, - "lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "dev": true, - "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0" - } - }, - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "registry-auth-token": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz", + "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=", + "dev": true, + "requires": { + "rc": "1.2.2", + "safe-buffer": "5.1.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "1.2.2" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true - }, - "through2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", - "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", - "dev": true, - "requires": { - "readable-stream": "2.0.6", - "xtend": "4.0.1" - } } } }, @@ -5736,29 +7300,18 @@ "tough-cookie": "2.3.3", "tunnel-agent": "0.6.0", "uuid": "3.1.0" - }, - "dependencies": { - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", - "dev": true - } } }, - "request-progress": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", - "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", - "dev": true, - "requires": { - "throttleit": "1.0.0" - } + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "resolve": { @@ -5785,7 +7338,6 @@ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, - "optional": true, "requires": { "align-text": "0.1.4" } @@ -5797,9 +7349,9 @@ "dev": true }, "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { "glob": "7.1.2" @@ -5815,13 +7367,22 @@ "inherits": "2.0.3" } }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "1.2.0" + } + }, "rxjs": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz", "integrity": "sha512-oRYoIKWBU3Ic37fLA5VJu31VqQO4bWubRntcHSJ+cwaDQBwdnZ9x4zmhJfm/nFQ2E82/I4loSioHnACamrKGgA==", "dev": true, "requires": { - "symbol-observable": "1.0.4" + "symbol-observable": "1.1.0" } }, "safe-buffer": { @@ -5830,12 +7391,51 @@ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, + "sane": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.2.0.tgz", + "integrity": "sha512-OSJxhHO0CgPUw3lUm3GhfREAfza45smvEI9ozuFrxKG10GHVo0ryW9FK5VYlLvxj0SV7HVKHW0voYJIRu27GWg==", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "exec-sh": "0.2.1", + "fb-watchman": "2.0.0", + "minimatch": "3.0.4", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "5.5.1" + } + }, "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", "dev": true }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "requires": { + "semver": "5.4.1" + } + }, "sentence-case": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz", @@ -5852,6 +7452,12 @@ "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=", "dev": true }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, "set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", @@ -5864,12 +7470,6 @@ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", "dev": true }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - }, "sha.js": { "version": "2.4.9", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", @@ -5880,6 +7480,43 @@ "safe-buffer": "5.1.1" } }, + "shasum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", + "dev": true, + "requires": { + "json-stable-stringify": "0.0.1", + "sha.js": "2.4.9" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "dev": true, + "requires": { + "array-filter": "0.0.1", + "array-map": "0.0.0", + "array-reduce": "0.0.0", + "jsonify": "0.0.0" + } + }, "shelljs": { "version": "0.7.8", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", @@ -5887,10 +7524,16 @@ "dev": true, "requires": { "glob": "7.1.2", - "interpret": "1.0.4", + "interpret": "1.1.0", "rechoir": "0.6.2" } }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, "sigmund": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", @@ -5927,147 +7570,11 @@ "hoek": "4.2.0" } }, - "socket.io": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz", - "integrity": "sha1-uK+cq6AJSeVo42nxMn6pvp6iRhs=", - "dev": true, - "requires": { - "debug": "2.3.3", - "engine.io": "1.8.3", - "has-binary": "0.1.7", - "object-assign": "4.1.0", - "socket.io-adapter": "0.5.0", - "socket.io-client": "1.7.3", - "socket.io-parser": "2.3.1" - }, - "dependencies": { - "debug": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", - "dev": true, - "requires": { - "ms": "0.7.2" - } - }, - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", - "dev": true - }, - "object-assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", - "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", - "dev": true - } - } - }, - "socket.io-adapter": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz", - "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=", - "dev": true, - "requires": { - "debug": "2.3.3", - "socket.io-parser": "2.3.1" - }, - "dependencies": { - "debug": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", - "dev": true, - "requires": { - "ms": "0.7.2" - } - }, - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", - "dev": true - } - } - }, - "socket.io-client": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz", - "integrity": "sha1-sw6GqhDV7zVGYBwJzeR2Xjgdo3c=", - "dev": true, - "requires": { - "backo2": "1.0.2", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "2.3.3", - "engine.io-client": "1.8.3", - "has-binary": "0.1.7", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseuri": "0.0.5", - "socket.io-parser": "2.3.1", - "to-array": "0.1.4" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", - "dev": true, - "requires": { - "ms": "0.7.2" - } - }, - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", - "dev": true - } - } - }, - "socket.io-parser": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz", - "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=", - "dev": true, - "requires": { - "component-emitter": "1.1.2", - "debug": "2.2.0", - "isarray": "0.0.1", - "json3": "3.3.2" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true, - "requires": { - "ms": "0.7.1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "dev": true - } - } + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true }, "source-map": { "version": "0.5.7", @@ -6118,9 +7625,9 @@ "dev": true }, "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", "dev": true, "requires": { "through": "2.3.8" @@ -6157,18 +7664,21 @@ "tweetnacl": "0.14.5" } }, + "ssri": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.0.0.tgz", + "integrity": "sha512-728D4yoQcQm1ooZvSbywLkV1RjfITZXh0oWrhM/lnsx3nAHx7LsRGJWB/YyvoceAYRq98xqbstiN4JBv1/wNHg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, "stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", "dev": true }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "dev": true - }, "stream-browserify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", @@ -6179,12 +7689,41 @@ "readable-stream": "2.3.3" } }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "0.1.1" + } + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "dev": true, + "requires": { + "duplexer2": "0.1.4", + "readable-stream": "2.3.3" + } + }, "stream-consume": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz", "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=", "dev": true }, + "stream-each": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", + "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.0", + "stream-shift": "1.0.0" + } + }, "stream-http": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", @@ -6198,47 +7737,100 @@ "xtend": "4.0.1" } }, - "streamroller": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.4.1.tgz", - "integrity": "sha1-1DW9WXQ3Or2b2QaDWVEwhRBswF8=", + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "stream-splicer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz", + "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=", "dev": true, "requires": { - "date-format": "0.0.0", - "debug": "0.7.4", - "mkdirp": "0.5.1", - "readable-stream": "1.1.14" + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "requires": { + "astral-regex": "1.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { - "debug": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", - "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=", + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "string-replace-webpack-plugin": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/string-replace-webpack-plugin/-/string-replace-webpack-plugin-0.1.3.tgz", + "integrity": "sha1-c8ZX51nWbP6Arh4M8JGqJW0OcVw=", + "dev": true, + "requires": { + "async": "0.2.10", + "css-loader": "0.9.1", + "file-loader": "0.8.5", + "loader-utils": "0.2.17", + "style-loader": "0.8.3" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + } + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" + "ansi-regex": "3.0.0" } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true } } }, @@ -6251,17 +7843,6 @@ "safe-buffer": "5.1.1" } }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, "stringmap": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz", @@ -6292,6 +7873,12 @@ "is-utf8": "0.2.1" } }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, "strip-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", @@ -6301,6 +7888,31 @@ "get-stdin": "4.0.1" } }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "style-loader": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.8.3.tgz", + "integrity": "sha1-9Pkut9tjdodI8VBlzWcA9aHIU1c=", + "dev": true, + "optional": true, + "requires": { + "loader-utils": "0.2.17" + } + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -6318,9 +7930,30 @@ } }, "symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.1.0.tgz", + "integrity": "sha512-dQoid9tqQ+uotGhuTKEY11X4xhyYePVnqGSoSm3OGKh2E8LZ6RPULp1uXTctk33IeERlrRJYoVSBglsL05F5Uw==", + "dev": true + }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "dev": true + }, + "syntax-error": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.3.0.tgz", + "integrity": "sha1-HtkmbE1AvnXcVb+bsct3Biu5bKE=", + "dev": true, + "requires": { + "acorn": "4.0.13" + } + }, + "tapable": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", "dev": true }, "tempfile": { @@ -6331,6 +7964,36 @@ "requires": { "os-tmpdir": "1.0.2", "uuid": "2.0.3" + }, + "dependencies": { + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true + } + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "0.7.0" + } + }, + "test-exclude": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", + "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "text-extensions": { @@ -6345,10 +8008,10 @@ "integrity": "sha1-ZUhjk+4fK7A5pgy7oFsLaL2VAdI=", "dev": true }, - "throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", "dev": true }, "through": { @@ -6382,13 +8045,19 @@ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", "dev": true }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, "timers-browserify": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz", - "integrity": "sha512-uZYhyU3EX8O7HQP+J9fTVYwsq90Vr68xPEFo7yrVImIxYvHgukBEgOB/SgGoorWVTzGM/3Z+wUNnboA4M8jWrg==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", "dev": true, "requires": { - "setimmediate": "1.0.5" + "process": "0.11.10" } }, "title-case": { @@ -6401,19 +8070,10 @@ "upper-case": "1.1.3" } }, - "tmp": { - "version": "0.0.31", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", - "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", - "dev": true, - "requires": { - "os-tmpdir": "1.0.2" - } - }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", "dev": true }, "to-arraybuffer": { @@ -6428,6 +8088,15 @@ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "dev": true }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "requires": { + "nopt": "1.0.10" + } + }, "tough-cookie": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", @@ -6437,6 +8106,12 @@ "punycode": "1.4.1" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -6455,10 +8130,171 @@ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, + "ts-jest": { + "version": "21.1.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-21.1.4.tgz", + "integrity": "sha512-dq5JvwHnxwsQa36dNGOQEpHRcJAZubOvgDfKIQww1L4PUzYTTZOFL2VreyhiUfkOVDir77p3nTQSrpvCv1iFTg==", + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-plugin-istanbul": "4.1.5", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-preset-jest": "21.2.0", + "fs-extra": "4.0.3", + "jest-config": "21.2.1", + "jest-util": "21.2.1", + "pkg-dir": "2.0.0", + "source-map-support": "0.5.0", + "yargs": "10.0.3" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.0.tgz", + "integrity": "sha512-vUoN3I7fHQe0R/SJLKRdKYuEdRGogsviXFkHHo17AWaTGv17VLnxw+CFXvqy+y4ORZ3doWLQcxRYfwKrsd/H7Q==", + "dev": true, + "requires": { + "source-map": "0.6.1" + } + }, + "yargs": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz", + "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==", + "dev": true, + "requires": { + "cliui": "3.2.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.0.0" + } + }, + "yargs-parser": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.0.0.tgz", + "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "ts-node": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-3.3.0.tgz", + "integrity": "sha1-wTxqMCTjC+EYDdUwOPwgkonUv2k=", + "dev": true, + "requires": { + "arrify": "1.0.1", + "chalk": "2.3.0", + "diff": "3.4.0", + "make-error": "1.3.0", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18", + "tsconfig": "6.0.0", + "v8flags": "3.0.1", + "yn": "2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "tsconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-6.0.0.tgz", + "integrity": "sha1-aw6DdgA9evGGT434+J3QBZ/80DI=", + "dev": true, + "requires": { + "strip-bom": "3.0.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, "tsickle": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.21.6.tgz", - "integrity": "sha1-U7Abl5xcE/2xOvs/uVgXflmRWI0=", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.25.5.tgz", + "integrity": "sha512-CgOT/1WqOKtE1fyvqB+kTJ7bizE33xj1TyUIzGbxJBGCbQmknCrZbb35DtxMiK6pJo4CrPyoS8iGFddfHKtSNA==", "dev": true, "requires": { "minimist": "1.2.0", @@ -6468,81 +8304,96 @@ } }, "tslib": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.0.tgz", - "integrity": "sha512-ymKWWZJST0/CkgduC2qkzjMOWr4bouhuURNXCn/inEX0L57BnRG6FhX76o7FOnsjHazCjfU2LKeSrlS2sIKQJg==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.1.tgz", + "integrity": "sha1-aUavLR1lGnsYY7Ux1uWvpBqkTqw=", "dev": true }, "tslint": { - "version": "3.15.1", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-3.15.1.tgz", - "integrity": "sha1-2hZcqT2P3CwIa1EWXuG6y0jJjqU=", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.8.0.tgz", + "integrity": "sha1-H0mtWy53x2w69N3K5VKuTjYS6xM=", "dev": true, "requires": { - "colors": "1.1.2", - "diff": "2.2.3", - "findup-sync": "0.3.0", + "babel-code-frame": "6.26.0", + "builtin-modules": "1.1.1", + "chalk": "2.3.0", + "commander": "2.12.2", + "diff": "3.4.0", "glob": "7.1.2", - "optimist": "0.6.1", + "minimatch": "3.0.4", "resolve": "1.5.0", - "underscore.string": "3.3.4" + "semver": "5.4.1", + "tslib": "1.8.1", + "tsutils": "2.13.0" }, "dependencies": { - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } }, - "diff": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/diff/-/diff-2.2.3.tgz", - "integrity": "sha1-YOr9DSjukG5Oj/ClLBIpUhAzv5k=", - "dev": true + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } }, - "findup-sync": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", - "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "glob": "5.0.15" - }, - "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - } + "has-flag": "2.0.0" } } } }, "tslint-eslint-rules": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/tslint-eslint-rules/-/tslint-eslint-rules-1.6.1.tgz", - "integrity": "sha1-OekvMZVq0qZsAGHDUfqWwICK4Pg=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tslint-eslint-rules/-/tslint-eslint-rules-4.1.1.tgz", + "integrity": "sha1-fDDniC8mvCdr/5HSOEl1xp2viLo=", "dev": true, "requires": { "doctrine": "0.7.2", - "tslint": "3.15.1" + "tslib": "1.8.1", + "tsutils": "1.9.1" + }, + "dependencies": { + "tsutils": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-1.9.1.tgz", + "integrity": "sha1-ufmrROVa+WgYMdXyjQrur1x1DLA=", + "dev": true + } } }, "tslint-ionic-rules": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/tslint-ionic-rules/-/tslint-ionic-rules-0.0.8.tgz", - "integrity": "sha1-au1vjjzUBlIzAdHW0Db38DbdKAk=", + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/tslint-ionic-rules/-/tslint-ionic-rules-0.0.11.tgz", + "integrity": "sha512-EP4/Vgv0Zl66T8dqZe6LV3g+aWpGCSBxHKfScbiFh3kQKE3cikGEEYCLu1vR5yhjvm5DveWFUobwEFiwlts0hw==", + "dev": true, + "requires": { + "tslint-eslint-rules": "4.1.1" + } + }, + "tsutils": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.13.0.tgz", + "integrity": "sha512-FuWzNJbMsp3gcZMbI3b5DomhW4Ia41vMxjN63nKWI0t7f+I3UmHfRl0TrXJTwI2LUduDG+eR1Mksp3pvtlyCFQ==", "dev": true, "requires": { - "tslint-eslint-rules": "1.6.1" + "tslib": "1.8.1" } }, "tty-browserify": { @@ -6576,16 +8427,6 @@ "prelude-ls": "1.1.2" } }, - "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "2.1.17" - } - }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -6593,9 +8434,9 @@ "dev": true }, "typescript": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.2.tgz", - "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", + "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", "dev": true }, "uglify-js": { @@ -6603,11 +8444,24 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, - "optional": true, "requires": { "source-map": "0.5.7", "uglify-to-browserify": "1.0.2", "yargs": "3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } } }, "uglify-to-browserify": { @@ -6617,10 +8471,43 @@ "dev": true, "optional": true }, - "ultron": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", - "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=", + "uglifyjs-webpack-plugin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.2.tgz", + "integrity": "sha512-k07cmJTj+8vZMSc3BaQ9uW7qVl2MqDts4ti4KaNACXEcXSw2vQM2S8olSk/CODxvcSFGvUHzNSqA8JQlhgUJPw==", + "dev": true, + "requires": { + "cacache": "10.0.1", + "find-cache-dir": "1.0.0", + "schema-utils": "0.3.0", + "source-map": "0.6.1", + "uglify-es": "3.2.1", + "webpack-sources": "1.1.0", + "worker-farm": "1.5.2" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "uglify-es": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.2.1.tgz", + "integrity": "sha512-c+Fy4VuGvPmT7mj7vEPjRR/iNFuXuOAkufhCtCvTGX0Hr4gCM9YwCnLgHkxr1ngqSODQaDObU3g8SF8uE/tY1w==", + "dev": true, + "requires": { + "commander": "2.12.2", + "source-map": "0.6.1" + } + } + } + }, + "umd": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz", + "integrity": "sha1-iuVW4RAR9jwllnCKiDclnwGz1g4=", "dev": true }, "unc-path-regex": { @@ -6629,6 +8516,12 @@ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", "dev": true }, + "undefsafe": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-0.0.3.tgz", + "integrity": "sha1-7Mo6A+VrmvFzhbqsgSrIO5lKli8=", + "dev": true + }, "underscore": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", @@ -6644,28 +8537,105 @@ "underscore": "1.6.0" } }, - "underscore.string": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.4.tgz", - "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=", + "unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", "dev": true, "requires": { - "sprintf-js": "1.0.3", - "util-deprecate": "1.0.2" + "unique-slug": "2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dev": true, + "requires": { + "imurmurhash": "0.1.4" + } + }, + "unique-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", + "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", + "dev": true + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "1.0.0" } }, - "unique-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", - "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", + "universalify": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", + "dev": true + }, + "unminified-webpack-plugin": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/unminified-webpack-plugin/-/unminified-webpack-plugin-1.4.2.tgz", + "integrity": "sha512-SgkAaUABvs7xJUbp+UueNXEJ9WK+iCsMNxguMCYcyigZrWs6vFfoK2PTDwWKA8tslBTthC6A/O2oT4+OP6tTmw==", "dev": true }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", "dev": true }, + "update-notifier": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", + "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", + "dev": true, + "requires": { + "boxen": "1.3.0", + "chalk": "2.3.0", + "configstore": "3.1.1", + "import-lazy": "2.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, "upper-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", @@ -6699,30 +8669,21 @@ } } }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "1.0.4" + } + }, "user-home": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", "dev": true }, - "useragent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz", - "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=", - "dev": true, - "requires": { - "lru-cache": "2.2.4", - "tmp": "0.0.31" - }, - "dependencies": { - "lru-cache": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz", - "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=", - "dev": true - } - } - }, "util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", @@ -6746,25 +8707,19 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", "dev": true }, "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.0.1.tgz", + "integrity": "sha1-3Oj8N5wX2fLJ6e142JzgAFKxt2s=", "dev": true, "requires": { - "user-home": "1.1.1" + "homedir-polyfill": "1.0.1" } }, "validate-npm-package-license": { @@ -6833,7 +8788,7 @@ "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", "dev": true, "requires": { - "natives": "1.1.0" + "natives": "1.1.1" } }, "isarray": { @@ -6892,12 +8847,6 @@ } } }, - "vlq": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", - "dev": true - }, "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", @@ -6907,19 +8856,259 @@ "indexof": "0.0.1" } }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.11" + } + }, + "watch": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", + "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", + "dev": true, + "requires": { + "exec-sh": "0.2.1", + "minimist": "1.2.0" + } + }, + "watchpack": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", + "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", + "dev": true, + "requires": { + "async": "2.6.0", + "chokidar": "1.7.0", + "graceful-fs": "4.1.11" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", "dev": true }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "webpack": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.10.0.tgz", + "integrity": "sha512-fxxKXoicjdXNUMY7LIdY89tkJJJ0m1Oo8PQutZ5rLgWbV5QVKI15Cn7+/IHnRTd3vfKfiwBx6SBqlorAuNA8LA==", + "dev": true, + "requires": { + "acorn": "5.2.1", + "acorn-dynamic-import": "2.0.2", + "ajv": "5.5.1", + "ajv-keywords": "2.1.1", + "async": "2.6.0", + "enhanced-resolve": "3.4.1", + "escope": "3.6.0", + "interpret": "1.1.0", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.1.0", + "source-map": "0.5.7", + "supports-color": "4.5.0", + "tapable": "0.2.8", + "uglifyjs-webpack-plugin": "0.4.6", + "watchpack": "1.4.0", + "webpack-sources": "1.1.0", + "yargs": "8.0.2" + }, + "dependencies": { + "acorn": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", + "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + }, + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-js": "2.8.29", + "webpack-sources": "1.1.0" + } + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } + } + } + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dev": true, + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "whatwg-encoding": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz", + "integrity": "sha512-jLBwwKUhi8WtBfsMQlL4bUUcT8sMkAtQinscJAe/M4KHCkHuUJAF6vuB0tueNIw4c8ziO6AkRmgY+jL3a0iiPw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.19" + } + }, + "whatwg-url": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", + "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", "dev": true, "requires": { - "defaults": "1.0.3" + "tr46": "0.0.3", + "webidl-conversions": "3.0.1" + }, + "dependencies": { + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + } } }, "which": { @@ -6931,12 +9120,26 @@ "isexe": "2.0.0" } }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "widest-line": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", + "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", + "dev": true, + "requires": { + "string-width": "2.1.1" + } + }, "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true, - "optional": true + "dev": true }, "winston": { "version": "2.4.0", @@ -6972,6 +9175,16 @@ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, + "worker-farm": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", + "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", + "dev": true, + "requires": { + "errno": "0.1.4", + "xtend": "4.0.1" + } + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", @@ -6980,6 +9193,19 @@ "requires": { "string-width": "1.0.2", "strip-ansi": "3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } } }, "wrappy": { @@ -6988,26 +9214,27 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "ws": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz", - "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=", + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "options": "0.0.6", - "ultron": "1.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } }, - "wtf-8": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz", - "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=", + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", "dev": true }, - "xmlhttprequest-ssl": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz", - "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=", + "xml-name-validator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", "dev": true }, "xtend": { @@ -7029,46 +9256,133 @@ "dev": true }, "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", + "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "dev": true, - "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", + "camelcase": "4.1.0", + "cliui": "3.2.0", "decamelize": "1.2.0", - "window-size": "0.1.0" + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" }, "dependencies": { "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, - "optional": true + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true } } }, - "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "dev": true, "requires": { - "fd-slicer": "1.0.1" + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } } }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true - }, - "zone.js": { - "version": "0.8.18", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.18.tgz", - "integrity": "sha512-knKOBQM0oea3/x9pdyDuDi7RhxDlJhOIkeixXSiTKWLgs4LpK37iBc+1HaHwzlciHUKT172CymJFKo8Xgh+44Q==", + "yn": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", + "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", "dev": true } } diff --git a/package.json b/package.json index 3a3263f0b2..b774bce122 100644 --- a/package.json +++ b/package.json @@ -1,65 +1,82 @@ { "name": "ionic-native", - "version": "4.4.2", + "version": "5.0.0-beta.1", "description": "Native plugin wrappers for Cordova and Ionic with TypeScript, ES6+, Promise and Observable support", "homepage": "https://ionicframework.com/", "author": "Ionic Team (https://ionic.io)", "license": "MIT", + "scripts": { + "test": "jest", + "test:watch": "jest --watch", + "build:core": "tsc -p tsconfig.core.json", + "build:esm": "ts-node -P scripts scripts/tasks/build-esm", + "build:es5": "ts-node -P scripts scripts/tasks/build-es5", + "build:ngx": "ts-node -P scripts scripts/tasks/build-ngx", + "build": "npm run build:core && npm run build:esm && npm run build:ngx && npm run build:es5", + "prebuild": "rm -rf dist", + "npmpub": "ts-node -P scripts scripts/tasks/publish", + "lint": "gulp lint", + "readmes": "gulp readmes", + "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", + "postchangelog": "git commit -am \"chore(): update changelog\"" + }, "devDependencies": { - "@angular/compiler": "4.4.4", - "@angular/compiler-cli": "4.4.4", - "@angular/core": "4.4.4", + "@angular/common": "latest", + "@angular/compiler": "latest", + "@angular/compiler-cli": "latest", + "@angular/core": "latest", "@types/cordova": "0.0.34", - "@types/jasmine": "^2.6.3", - "@types/node": "^8.0.50", + "@types/fs-extra": "^4.0.5", + "@types/jest": "21.1.5", + "@types/lodash": "4.14.85", + "@types/node": "8.0.47", + "@types/rimraf": "^2.0.2", + "@types/webpack": "^3.8.1", + "babel-core": "^6.26.0", + "babel-preset-env": "^1.6.1", + "babelify": "^8.0.0", + "browserify": "^14.5.0", "canonical-path": "0.0.2", - "child-process-promise": "2.2.1", "conventional-changelog-cli": "1.3.4", "cpr": "2.0.0", "cz-conventional-changelog": "2.0.0", "decamelize": "1.2.0", "dgeni": "0.4.7", "dgeni-packages": "0.16.10", - "fs-extra": "2.0.0", - "fs-extra-promise": "0.4.1", + "fs-extra": "^4.0.3", + "fs-extra-promise": "^1.0.1", "gulp": "3.9.1", "gulp-rename": "1.2.2", - "gulp-replace": "0.5.4", - "gulp-tslint": "6.1.2", - "jasmine-core": "^2.6.1", - "karma": "^1.7.0", - "karma-cli": "^1.0.1", - "karma-jasmine": "^1.1.0", - "karma-phantomjs-launcher": "^1.0.4", - "karma-typescript": "^3.0.1", - "karma-typescript-es6-transform": "^1.0.0", + "gulp-replace": "0.6.1", + "gulp-tslint": "8.1.2", + "jest": "21.2.1", "lodash": "4.17.4", "minimist": "1.2.0", - "node-html-encoder": "0.0.2", - "q": "1.5.0", - "queue": "4.2.1", - "rimraf": "2.6.1", + "nodemon": "1.12.1", + "rimraf": "^2.6.2", "rxjs": "5.5.2", - "semver": "5.3.0", - "tslint": "3.15.1", - "tslint-ionic-rules": "0.0.8", - "typescript": "~2.4.2", - "zone.js": "0.8.18" + "string-replace-webpack-plugin": "^0.1.3", + "ts-jest": "21.1.4", + "ts-node": "3.3.0", + "tslint": "5.8.0", + "tslint-ionic-rules": "0.0.11", + "typescript": "^2.6.2", + "uglifyjs-webpack-plugin": "^1.1.2", + "unminified-webpack-plugin": "^1.4.2", + "webpack": "^3.9.1" }, - "scripts": { - "start": "npm run test:watch", - "lint": "gulp lint", - "build": "npm run clean && npm run lint && npm run build:core && npm run build:modules", - "build:core": "ngc -p scripts/build/tsconfig-core.json", - "build:modules": "node scripts/build/build.js", - "clean": "rimraf dist .tmp", - "shipit": "npm run build && gulp readmes && npm run npmpub", - "npmpub": "node scripts/build/publish.js", - "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", - "postchangelog": "git commit -am \"chore(): update changelog\"", - "test": "karma start karma.conf.js --single-run", - "test:watch": "karma start karma.conf.js", - "readmes": "gulp readmes" + "jest": { + "transform": { + "^.+\\.tsx?$": "/node_modules/ts-jest/preprocessor.js" + }, + "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(js?|ts?)$", + "moduleFileExtensions": [ + "ts", + "tsx", + "js", + "jsx", + "json" + ] }, "repository": { "type": "git", diff --git a/scripts/build/build.js b/scripts/build/build.js deleted file mode 100644 index cae297b8ba..0000000000 --- a/scripts/build/build.js +++ /dev/null @@ -1,159 +0,0 @@ -"use strict"; -// Node module dependencies -const fs = require('fs-extra-promise').useFs(require('fs-extra')), - queue = require('queue'), - path = require('path'), - exec = require('child_process').exec; - -// Constants for the build process. Paths and JSON files templates -const ROOT = path.resolve(path.join(__dirname, '../../')), // root ionic-native directory - PLUGINS_PATH = path.resolve(ROOT, 'src/@ionic-native/plugins'), // path to plugins source files - CORE_PACKAGE_JSON = require(path.resolve(__dirname, 'core-package.json')), // core package.json - PLUGIN_PACKAGE_JSON = require(path.resolve(__dirname, 'plugin-package.json')), // plugin package.json template - PLUGIN_TS_CONFIG = require(path.resolve(__dirname, 'tsconfig-plugin.json')), // plugin tsconfig template - BUILD_TMP = path.resolve(ROOT, '.tmp'), // tmp directory path - BUILD_DIST_ROOT = path.resolve(ROOT, 'dist/@ionic-native'), // dist directory root path - BUILD_CORE_DIST = path.resolve(BUILD_DIST_ROOT, 'core'); // core dist directory path - - -// dependency versions -const ANGULAR_VERSION = '*', - RXJS_VERSION = '^5.0.1', - MIN_CORE_VERSION = '^4.2.0', - IONIC_NATIVE_VERSION = require(path.resolve(ROOT, 'package.json')).version; - -// package dependencies -const CORE_PEER_DEPS = { - 'rxjs': RXJS_VERSION -}; - -const PLUGIN_PEER_DEPS = { - '@ionic-native/core': MIN_CORE_VERSION, - '@angular/core': ANGULAR_VERSION, - 'rxjs': RXJS_VERSION -}; - -// set peer dependencies for all plugins -PLUGIN_PACKAGE_JSON.peerDependencies = PLUGIN_PEER_DEPS; - -// Create tmp/dist directories -console.log('Making new TMP directory'); -fs.mkdirpSync(BUILD_TMP); - -// Prepare and copy the core module's package.json -console.log('Preparing core module package.json'); -CORE_PACKAGE_JSON.version = IONIC_NATIVE_VERSION; -CORE_PACKAGE_JSON.peerDependencies = CORE_PEER_DEPS; -fs.writeJsonSync(path.resolve(BUILD_CORE_DIST, 'package.json'), CORE_PACKAGE_JSON); - - -// Fetch a list of the plugins -const PLUGINS = fs.readdirSync(PLUGINS_PATH); - -// Build specific list of plugins to build from arguments, if any -let pluginsToBuild = process.argv.slice(2); -let ignoreErrors = false; -let errors = []; - -const index = pluginsToBuild.indexOf('ignore-errors'); -if (index > -1) { - ignoreErrors = true; - pluginsToBuild.splice(index, 1); - console.log('Build will continue even if errors were thrown. Errors will be printed when build finishes.'); -} - -if (!pluginsToBuild.length) { - pluginsToBuild = PLUGINS; -} - -// Create a queue to process tasks -const QUEUE = queue({ - concurrency: require('os').cpus().length -}); - - -// Function to process a single plugin -const addPluginToQueue = pluginName => { - - QUEUE.push((callback) => { - - console.log(`Building plugin: ${pluginName}`); - - const PLUGIN_BUILD_DIR = path.resolve(BUILD_TMP, 'plugins', pluginName), - PLUGIN_SRC_PATH = path.resolve(PLUGINS_PATH, pluginName, 'index.ts'); - - let tsConfigPath; - - fs.mkdirpAsync(PLUGIN_BUILD_DIR) // create tmp build dir - .then(() => fs.mkdirpAsync(path.resolve(BUILD_DIST_ROOT, pluginName))) // create dist dir - .then(() => { - - // Write tsconfig.json - const tsConfig = JSON.parse(JSON.stringify(PLUGIN_TS_CONFIG)); - tsConfig.files = [PLUGIN_SRC_PATH]; - // tsConfig.compilerOptions.paths['@ionic-native/core'] = [BUILD_CORE_DIST]; - - tsConfigPath = path.resolve(PLUGIN_BUILD_DIR, 'tsconfig.json'); - - return fs.writeJsonAsync(tsConfigPath, tsConfig); - }) - .then(() => { - // clone package.json - const packageJson = JSON.parse(JSON.stringify(PLUGIN_PACKAGE_JSON)); - - packageJson.name = `@ionic-native/${pluginName}`; - packageJson.version = IONIC_NATIVE_VERSION; - - return fs.writeJsonAsync(path.resolve(BUILD_DIST_ROOT, pluginName, 'package.json'), packageJson); - }) - .then(() => { - - // compile the plugin - exec(`${ROOT}/node_modules/.bin/ngc -p ${tsConfigPath}`, (err, stdout, stderr) => { - - if (err) { - - if (!ignoreErrors) { - // oops! something went wrong. - console.log(err); - callback(`\n\nBuilding ${pluginName} failed.`); - return; - } else { - errors.push(err); - } - - } - - // we're done with this plugin! - callback(); - - }); - - }) - .catch(callback); - - }); // QUEUE.push end - -}; - -pluginsToBuild.forEach(addPluginToQueue); - -QUEUE.start((err) => { - - if (err) { - console.log('Error building plugins.'); - console.log(err); - process.stderr.write(err); - process.exit(1); - } else if (errors.length) { - errors.forEach(e => { - console.log(e.message) && console.log('\n'); - process.stderr.write(err); - }); - console.log('Build complete with errors'); - process.exit(1); - } else { - console.log('Done processing plugins!'); - } - -}); diff --git a/scripts/build/core-package.json b/scripts/build/core-package.json deleted file mode 100644 index 99a573a9da..0000000000 --- a/scripts/build/core-package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "@ionic-native/core", - "version": "{{VERSION}}", - "description": "Ionic Native - Native plugins for ionic apps", - "module": "index.js", - "typings": "index.d.ts", - "author": "ionic", - "license": "MIT", - "peerDependencies": {}, - "repository": { - "type": "git", - "url": "https://github.com/ionic-team/ionic-native.git" - } -} diff --git a/scripts/build/helpers.ts b/scripts/build/helpers.ts new file mode 100644 index 0000000000..756d129dc6 --- /dev/null +++ b/scripts/build/helpers.ts @@ -0,0 +1,123 @@ +import * as ts from 'typescript'; +import * as fs from 'fs-extra'; +import * as path from 'path'; +import { camelCase, clone } from 'lodash'; + +export const ROOT = path.resolve(__dirname, '../../'); +export const TS_CONFIG = clone(require(path.resolve(ROOT, 'tsconfig.json'))); +export const COMPILER_OPTIONS = TS_CONFIG.compilerOptions; +export const PLUGINS_ROOT = path.join(ROOT, 'src/plugins/'); +export const PLUGIN_PATHS = fs.readdirSync(PLUGINS_ROOT).map(d => path.join(PLUGINS_ROOT, d, 'index.ts')); + +export function getDecorator(node: ts.Node, index: number = 0): ts.Decorator { + if (node.decorators && node.decorators[index]) + return node.decorators[index]; +} + +export function hasDecorator(decoratorName: string, node: ts.Node): boolean { + return node.decorators && node.decorators.length && node.decorators.findIndex(d => getDecoratorName(d) === decoratorName) > -1; +} + +export function getDecoratorName(decorator: any) { + return decorator.expression.expression.text; +} + +export function getRawDecoratorArgs(decorator: any): any[] { + if (decorator.expression.arguments.length === 0) return []; + return decorator.expression.arguments[0].properties; +} + +export function getDecoratorArgs(decorator: any) { + const properties: any[] = getRawDecoratorArgs(decorator); + const args = {}; + + properties.forEach(prop => { + let val; + + switch (prop.initializer.kind) { + case ts.SyntaxKind.StringLiteral: + val = prop.initializer.text; + // args[prop.name.escapedText] = val; + break; + + case ts.SyntaxKind.ArrayLiteralExpression: + val = prop.initializer.elements.map(e => e.text); + break; + + case ts.SyntaxKind.TrueKeyword: + val = true; + break; + + case ts.SyntaxKind.FalseKeyword: + val = false; + break; + + case ts.SyntaxKind.NumericLiteral: + val = Number(prop.initializer.text); + break; + + default: + console.log(prop.initializer); + throw 'Unexpected property value type << helpers.ts >>'; + } + + args[prop.name.text] = val; + }); + + return args; +} + +/** + * FROM STENCIL + * Convert a js value into typescript AST + * @param val array, object, string, boolean, or number + * @returns Typescript Object Literal, Array Literal, String Literal, Boolean Literal, Numeric Literal + */ +export function convertValueToLiteral(val: any) { + if (Array.isArray(val)) { + return arrayToArrayLiteral(val); + } + if (typeof val === 'object') { + return objectToObjectLiteral(val); + } + if (typeof val === 'number') { + return ts.createNumericLiteral(String(val)); + } + return ts.createLiteral(val); +} + +/** + * FROM STENCIL + * Convert a js object into typescript AST + * @param obj key value object + * @returns Typescript Object Literal Expression + */ +function objectToObjectLiteral(obj: { [key: string]: any }): ts.ObjectLiteralExpression { + const newProperties: ts.ObjectLiteralElementLike[] = Object.keys(obj).map((key: string): ts.ObjectLiteralElementLike => { + return ts.createPropertyAssignment(ts.createLiteral(key), convertValueToLiteral(obj[key]) as ts.Expression); + }); + + return ts.createObjectLiteral(newProperties); +} + +/** + * FROM STENCIL + * Convert a js array into typescript AST + * @param list array + * @returns Typescript Array Literal Expression + */ +function arrayToArrayLiteral(list: any[]): ts.ArrayLiteralExpression { + const newList: any[] = list.map(convertValueToLiteral); + return ts.createArrayLiteral(newList); +} + +export function getMethodsForDecorator(decoratorName: string) { + switch (decoratorName) { + case 'CordovaProperty': return ['cordovaPropertyGet', 'cordovaPropertySet']; + case 'InstanceProperty': return ['instancePropertyGet', 'instancePropertySet']; + case 'CordovaCheck': return ['checkAvailability']; + case 'InstanceCheck': return ['instanceAvailability']; + } + + return [camelCase(decoratorName)]; +} diff --git a/scripts/build/ngx.ts b/scripts/build/ngx.ts new file mode 100644 index 0000000000..bf4645e7a4 --- /dev/null +++ b/scripts/build/ngx.ts @@ -0,0 +1,105 @@ +import * as ts from 'typescript'; +import * as fs from 'fs-extra'; +import * as path from 'path'; +import * as ngc from '@angular/compiler-cli'; +import * as rimraf from 'rimraf'; +import { generateDeclarations } from './transpile'; +import { clone } from 'lodash'; +import { EmitFlags } from '@angular/compiler-cli'; +import { importsTransformer } from './transformers/imports'; +import { pluginClassTransformer } from './transformers/plugin-class'; +import { COMPILER_OPTIONS, PLUGIN_PATHS, ROOT } from './helpers'; + +export function getProgram(rootNames: string[] = createSourceFiles()) { + const options: ngc.CompilerOptions = clone(COMPILER_OPTIONS); + options.basePath = ROOT; + options.moduleResolution = ts.ModuleResolutionKind.NodeJs; + options.module = ts.ModuleKind.ES2015; + options.target = ts.ScriptTarget.ES5; + options.lib = ['dom', 'es2017']; + options.inlineSourceMap = true; + options.inlineSources = true; + delete options.baseUrl; + + const host: ngc.CompilerHost = ngc.createCompilerHost({ options }); + + return ngc.createProgram({ + rootNames, + options, + host + }); +} + +// hacky way to export metadata only for core package +export function transpileNgxCore() { + getProgram([path.resolve(ROOT, 'src/core/index.ts')]).emit({ + emitFlags: EmitFlags.Metadata, + emitCallback: ({ program, writeFile, customTransformers, cancellationToken, targetSourceFile }) => + program.emit(targetSourceFile, writeFile, cancellationToken, true, customTransformers) + }); +} + +export function transpileNgx() { + getProgram().emit({ + emitFlags: EmitFlags.Metadata, + customTransformers: { + beforeTs: [ + importsTransformer(true), + pluginClassTransformer(true) + ] + } + }); +} + +export function generateDeclarationFiles() { + generateDeclarations(PLUGIN_PATHS.map(p => p.replace('index.ts', 'ngx/index.ts'))); +} + +// remove reference to @ionic-native/core decorators +export function modifyMetadata() { + PLUGIN_PATHS.map(p => p.replace('src', 'dist').replace('index.ts', 'ngx/index.metadata.json')) + .forEach(p => { + const content = fs.readJSONSync(p); + let _prop; + for (const prop in content[0].metadata) { + _prop = content[0].metadata[prop]; + removeIonicNativeDecorators(_prop); + + if (_prop.members) { + for (const memberProp in _prop.members) { + removeIonicNativeDecorators(_prop.members[memberProp][0]); + } + } + } + + fs.writeJSONSync(p, content); + }); +} + +function removeIonicNativeDecorators(node: any) { + if (node.decorators && node.decorators.length) { + node.decorators = node.decorators.filter((d, i) => d.expression.module !== '@ionic-native/core'); + } + + if (node.decorators && !node.decorators.length) delete node.decorators; +} + +function createSourceFiles(): string[] { + return PLUGIN_PATHS.map((indexPath: string) => { + const ngxPath = path.resolve(indexPath.replace('index.ts', ''), 'ngx'), + newPath = path.resolve(ngxPath, 'index.ts'); + + // delete directory + rimraf.sync(ngxPath); + fs.mkdirpSync(ngxPath); + fs.copyFileSync(indexPath, newPath); + + return newPath; + }); +} + +export function cleanupNgx() { + PLUGIN_PATHS.forEach((indexPath: string) => + rimraf.sync(indexPath.replace('index.ts', 'ngx')) + ); +} diff --git a/scripts/build/plugin-package.json b/scripts/build/plugin-package.json deleted file mode 100644 index 0949cf308c..0000000000 --- a/scripts/build/plugin-package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "@ionic-native/{{PLUGIN}}", - "version": "{{VERSION}}", - "description": "Ionic Native - Native plugins for ionic apps", - "module": "index.js", - "typings": "index.d.ts", - "author": "ionic", - "license": "MIT", - "peerDependencies": {}, - "repository": { - "type": "git", - "url": "https://github.com/ionic-team/ionic-native.git" - } -} diff --git a/scripts/build/publish.js b/scripts/build/publish.js deleted file mode 100644 index 184dda82d4..0000000000 --- a/scripts/build/publish.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; -// Node module dependencies -const fs = require('fs-extra-promise').useFs(require('fs-extra')), - queue = require('queue'), - path = require('path'), - exec = require('child-process-promise').exec; - - -const ROOT = path.resolve(path.join(__dirname, '../../')), - DIST = path.resolve(ROOT, 'dist', '@ionic-native'); - -const FLAGS = '--access public'; // add any flags here if you want... (example: --tag alpha) - -const PACKAGES = fs.readdirSync(DIST); - -const failedPackages = []; - -const QUEUE = queue({ - concurrency: 10 -}); - -PACKAGES.forEach(packageName => { - - QUEUE.push(done => { - - console.log(`Publishing @ionic-native/${packageName}`); - const packagePath = path.resolve(DIST, packageName); - exec(`npm publish ${packagePath} ${FLAGS}`) - .then(() => done()) - .catch((e) => { - if (e.stderr && e.stderr.indexOf('previously published version') === -1) { - failedPackages.push({ - cmd: e.cmd, - stderr: e.stderr - }); - } - done(); - }); - - }); - -}); - -QUEUE.start((err) => { - - if (err) { - console.log('Error publishing ionic-native. ', err); - } else if (failedPackages.length > 0) { - console.log(`${failedPackages.length} packages failed to publish.`); - console.log(failedPackages); - } else { - console.log('Done publishing ionic-native!'); - } - - - -}); - diff --git a/scripts/build/remove-tslib-helpers.js b/scripts/build/remove-tslib-helpers.js new file mode 100644 index 0000000000..8b0de3c65d --- /dev/null +++ b/scripts/build/remove-tslib-helpers.js @@ -0,0 +1,2 @@ +// removes the __extends method that is added automatically by typescript +module.exports = source => source.replace(/var\s__extends\s=\s\(this\s&&[\sa-z\._\(\)\|{}=:\[\]&,;?]+}\)\(\);/i, ''); diff --git a/scripts/build/transformers/extract-injectables.ts b/scripts/build/transformers/extract-injectables.ts new file mode 100644 index 0000000000..7a455c8960 --- /dev/null +++ b/scripts/build/transformers/extract-injectables.ts @@ -0,0 +1,54 @@ +import * as ts from 'typescript'; +import * as fs from 'fs-extra'; +import * as path from 'path'; +import { hasDecorator, ROOT } from '../helpers'; + +export interface InjectableClassEntry { + file: string; + className: string; + dirName: string; +} + +const injectableClasses: InjectableClassEntry[] = []; +export const EMIT_PATH = path.resolve(ROOT, 'injectable-classes.json'); + +/** + * This transformer extracts all the injectable classes + * so we can use all the names later on when we compile + * an es5 bundle. + * + * Every injectable class will end up in the + * window['IonicNative'] object. + */ +export function extractInjectables() { + return (ctx: ts.TransformationContext) => { + return tsSourceFile => { + if (tsSourceFile.fileName.indexOf('src/plugins') > -1) { + ts.visitEachChild(tsSourceFile, node => { + if (node.kind !== ts.SyntaxKind.ClassDeclaration) { + return node; + } + + const isInjectable: boolean = hasDecorator('Injectable', node); + if (isInjectable) { + injectableClasses.push({ + file: tsSourceFile.path, + className: (node as ts.ClassDeclaration).name.text, + dirName: tsSourceFile.path.split(/[\\\/]+/).reverse()[1] + }); + } + }, ctx); + } + + return tsSourceFile; + } + }; +} + +export function emitInjectableClasses() { + fs.writeJSONSync(EMIT_PATH, injectableClasses); +} + +export function cleanEmittedData() { + fs.unlinkSync(EMIT_PATH); +} diff --git a/scripts/build/transformers/imports.ts b/scripts/build/transformers/imports.ts new file mode 100644 index 0000000000..3b1a14ab8b --- /dev/null +++ b/scripts/build/transformers/imports.ts @@ -0,0 +1,51 @@ +import * as ts from 'typescript'; +import { getMethodsForDecorator } from '../helpers'; + +function transformImports(file: ts.SourceFile, ctx: ts.TransformationContext, ngcBuild?: boolean) { + // remove angular imports + if (!ngcBuild) { + file.statements = (file.statements as any).filter((s: any) => !(s.kind === ts.SyntaxKind.ImportDeclaration && s.moduleSpecifier.text === '@angular/core')); + } + + // find the @ionic-native/core import statement + const importStatement = (file.statements as any).find((s: any) => { + return s.kind === ts.SyntaxKind.ImportDeclaration && s.moduleSpecifier.text === '@ionic-native/core'; + }); + + // we're only interested in files containing @ionic-native/core import statement + if (!importStatement) return file; + + let decorators: string[] = []; + + const decoratorRegex: RegExp = /@([a-zA-Z]+)\(/g; + + let m; + + while ((m = decoratorRegex.exec(file.text)) !== null) { + if (m.index === decoratorRegex.lastIndex) { + decoratorRegex.lastIndex++; + } + if (m && m[1] && decorators.indexOf(m[1]) === -1 && m[1] !== 'Plugin') decorators.push(m[1]); + } + + if (decorators.length) { + let methods = []; + + decorators.forEach(d => methods = getMethodsForDecorator(d).concat(methods)); + + importStatement.importClause.namedBindings.elements = [ + ts.createIdentifier('IonicNativePlugin'), + ...methods.map(m => ts.createIdentifier(m)) + ]; + } + + return file; +} + +export function importsTransformer(ngcBuild?: boolean) { + return (ctx: ts.TransformationContext) => { + return tsSourceFile => { + return transformImports(tsSourceFile, ctx, ngcBuild); + } + }; +} diff --git a/scripts/build/transformers/members.ts b/scripts/build/transformers/members.ts new file mode 100644 index 0000000000..3638c6e8bd --- /dev/null +++ b/scripts/build/transformers/members.ts @@ -0,0 +1,37 @@ +import * as ts from 'typescript'; +import { transformMethod } from './methods'; +import { transformProperty } from './properties'; + +export function transformMembers(cls: ts.ClassDeclaration) { + const propertyIndices: number[] = []; + + let members = cls.members.map((member: any, index: number) => { + // only process decorated members + if (!member.decorators || !member.decorators.length) return member; + + switch (member.kind) { + case ts.SyntaxKind.MethodDeclaration: + return transformMethod(member); + case ts.SyntaxKind.PropertyDeclaration: + propertyIndices.push(index); + return member; + case ts.SyntaxKind.Constructor: + return ts.createConstructor(undefined, undefined, member.parameters, member.body); + default: + return member; // in case anything gets here by accident... + } + }); + + propertyIndices.forEach((i: number) => { + const [getter, setter] = transformProperty(members, i) as any; + members.push(getter, setter); + }); + + propertyIndices.reverse().forEach(i => members.splice(i, 1)); + + return members; +} + + + + diff --git a/scripts/build/transformers/methods.ts b/scripts/build/transformers/methods.ts new file mode 100644 index 0000000000..1218e3d9ae --- /dev/null +++ b/scripts/build/transformers/methods.ts @@ -0,0 +1,47 @@ +import * as ts from 'typescript'; +import { convertValueToLiteral, getDecorator, getDecoratorArgs, getDecoratorName, getMethodsForDecorator } from '../helpers'; + +export function transformMethod(method: ts.MethodDeclaration) { + if (!method) return; + + const decorator = getDecorator(method), + decoratorName = getDecoratorName(decorator), + decoratorArgs = getDecoratorArgs(decorator); + + try { + return ts.createMethod(undefined, undefined, undefined, method.name, undefined, method.typeParameters, method.parameters, method.type, ts.createBlock([ + ts.createReturn( + getMethodBlock(method, decoratorName, decoratorArgs) + ) + ])); + } catch (e) { + console.log('Error transforming method: ', (method.name as any).text); + console.log(e.message); + } +} + +function getMethodBlock(method: ts.MethodDeclaration, decoratorName: string, decoratorArgs: any): ts.Expression { + const decoratorMethod = getMethodsForDecorator(decoratorName)[0]; + + switch (decoratorName) { + case 'CordovaCheck': + case 'InstanceCheck': + return ts.createImmediatelyInvokedFunctionExpression([ts.createIf( + ts.createBinary( + ts.createCall(ts.createIdentifier(decoratorMethod), undefined, [ts.createThis()]), + ts.SyntaxKind.EqualsEqualsEqualsToken, + ts.createTrue() + ), + method.body + )]); + + default: + return ts.createCall(ts.createIdentifier(decoratorMethod), undefined, [ + ts.createThis(), + ts.createLiteral((method.name as any).text), + convertValueToLiteral(decoratorArgs), + ts.createIdentifier('arguments') + ]); + } + +} diff --git a/scripts/build/transformers/plugin-class.ts b/scripts/build/transformers/plugin-class.ts new file mode 100644 index 0000000000..a41a193d98 --- /dev/null +++ b/scripts/build/transformers/plugin-class.ts @@ -0,0 +1,64 @@ +import * as ts from 'typescript'; +import { convertValueToLiteral, getDecorator, getDecoratorArgs, getDecoratorName } from '../helpers'; +import { transformMembers } from './members'; + +function transformClass(cls: any, ngcBuild?: boolean) { + + console.time('~ transformClass: ' + cls.name.text); + + const pluginStatics = []; + const dec: any = getDecorator(cls); + + if (dec) { + const pluginDecoratorArgs = getDecoratorArgs(dec); + + // add plugin decorator args as static properties of the plugin's class + for (let prop in pluginDecoratorArgs) { + pluginStatics.push(ts.createProperty( + undefined, + [ts.createToken(ts.SyntaxKind.StaticKeyword)], + ts.createIdentifier(prop), + undefined, + undefined, + convertValueToLiteral(pluginDecoratorArgs[prop]) + )); + } + } + + cls = ts.createClassDeclaration( + ngcBuild && cls.decorators && cls.decorators.length? cls.decorators.filter(d => getDecoratorName(d) === 'Injectable') : undefined, // remove Plugin and Injectable decorators + [ts.createToken(ts.SyntaxKind.ExportKeyword)], + cls.name, + cls.typeParameters, + cls.heritageClauses, + [ + ...transformMembers(cls), + ...pluginStatics + ] + ); + + console.timeEnd('~ transformClass: ' + cls.name.text); + return cls; +} + +function transformClasses(file: ts.SourceFile, ctx: ts.TransformationContext, ngcBuild?: boolean) { + // console.log('Transforming file: ' + file.fileName); + return ts.visitEachChild(file, node => { + if (node.kind !== ts.SyntaxKind.ClassDeclaration) { + return node; + } + + return transformClass(node, ngcBuild); + }, ctx); +} + +export function pluginClassTransformer(ngcBuild?: boolean): ts.TransformerFactory { + return (ctx: ts.TransformationContext) => { + return tsSourceFile => { + if (tsSourceFile.fileName.indexOf('src/plugins') > -1) + return transformClasses(tsSourceFile, ctx, ngcBuild); + + return tsSourceFile; + } + }; +} diff --git a/scripts/build/transformers/properties.ts b/scripts/build/transformers/properties.ts new file mode 100644 index 0000000000..d0b10c8611 --- /dev/null +++ b/scripts/build/transformers/properties.ts @@ -0,0 +1,53 @@ +import * as ts from 'typescript'; +import { getDecorator, getDecoratorName } from '../helpers'; + +export function transformProperty(members: any[], index: number) { + + const property = members[index] as ts.PropertyDeclaration, + decorator = getDecorator(property), + decoratorName = getDecoratorName(decorator); + + let type: 'cordova' | 'instance'; + + switch (decoratorName) { + case 'CordovaProperty': + type = 'cordova'; + break; + + case 'InstanceProperty': + type = 'instance'; + break; + + default: return property; + } + + + const getter = ts.createGetAccessor(undefined, undefined, property.name, undefined, property.type, ts.createBlock([ + ts.createReturn( + ts.createCall( + ts.createIdentifier(type + 'PropertyGet'), + undefined, + [ + ts.createThis(), + ts.createLiteral((property.name as any).text) + ] + ) + ) + ])); + + const setter = ts.createSetAccessor(undefined, undefined, property.name, [ts.createParameter(undefined, undefined, undefined, 'value', undefined, property.type)], ts.createBlock([ + ts.createStatement( + ts.createCall( + ts.createIdentifier(type + 'PropertySet'), + undefined, + [ + ts.createThis(), + ts.createLiteral((property.name as any).text), + ts.createIdentifier('value') + ] + ) + ) + ])); + + return [getter, setter]; +} diff --git a/scripts/build/transpile.ts b/scripts/build/transpile.ts new file mode 100644 index 0000000000..8e6c42c6b0 --- /dev/null +++ b/scripts/build/transpile.ts @@ -0,0 +1,51 @@ +import * as ts from 'typescript'; +import { pluginClassTransformer } from './transformers/plugin-class'; +import { importsTransformer } from './transformers/imports'; +import { clone } from 'lodash'; +import { emitInjectableClasses, extractInjectables } from './transformers/extract-injectables'; +import { COMPILER_OPTIONS, PLUGIN_PATHS, TS_CONFIG } from './helpers'; + +let host: ts.CompilerHost; + +export function getCompilerHost() { + if (!host) host = ts.createCompilerHost(TS_CONFIG); + return host; +} + +export function getProgram(declaration: boolean = false, pluginPaths: string[] = PLUGIN_PATHS) { + const compilerOptions: ts.CompilerOptions = clone(COMPILER_OPTIONS); + compilerOptions.declaration = declaration; + compilerOptions.moduleResolution = ts.ModuleResolutionKind.NodeJs; + compilerOptions.target = ts.ScriptTarget.ES5; + compilerOptions.module = ts.ModuleKind.ES2015; + compilerOptions.inlineSourceMap = true; + compilerOptions.inlineSources = true; + compilerOptions.lib = [ + 'lib.dom.d.ts', + 'lib.es5.d.ts', + 'lib.es2015.d.ts', + 'lib.es2016.d.ts', + 'lib.es2017.d.ts' + ]; + + return ts.createProgram(pluginPaths, compilerOptions, getCompilerHost()); +} + +export function generateDeclarations(sourceFiles?: string[]) { + return getProgram(true, sourceFiles).emit(undefined, getCompilerHost().writeFile, undefined, true); +} + +export function transpile() { + const emitResult = getProgram().emit(undefined, getCompilerHost().writeFile, undefined, false, { + before: [ + extractInjectables(), + importsTransformer(), + pluginClassTransformer(), + ] + }); + + emitInjectableClasses(); + + return emitResult; +} + diff --git a/scripts/build/tsconfig-plugin.json b/scripts/build/tsconfig-plugin.json deleted file mode 100644 index 3e4a6d6f89..0000000000 --- a/scripts/build/tsconfig-plugin.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": ".", - "declaration": true, - "stripInternal": true, - "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "module": "es2015", - "moduleResolution": "node", - "outDir": "../../../dist/@ionic-native/", - "paths": { - "@ionic-native/core": ["../../../dist/@ionic-native/core"] - }, - "rootDir": "../../../src/@ionic-native/plugins/", - "target": "es5", - "skipLibCheck": true, - "lib": ["es2015", "dom"], - "sourceMap": true, - "inlineSources": true, - "noImplicitAny": true - }, - "files": [] -} diff --git a/scripts/ci-tests.js b/scripts/ci-tests.js deleted file mode 100644 index d4ff8eea96..0000000000 --- a/scripts/ci-tests.js +++ /dev/null @@ -1,65 +0,0 @@ -const exec = require('child-process-promise').exec; -let diff; -exec(`git branch | grep \\* | cut -d ' ' -f2`) - .then(output => { - if (output.stderr) { - return Promise.reject(output.stderr); - } - - const branch = output.stdout.trim(); - - if (branch !== 'master') { - - console.log('Merging master branch in ...'); - // not on master branch - // let's test the changes that were made - return exec(`git merge origin master`); - } - }) - .then((output) => { - if (output && output.stderr) { - return Promise.reject(output.stderr); - } - console.log('Checking for differences ...'); - return exec(`git diff --name-status origin master`) - }) - .then((output) => { - if (output && output.stderr) { - return Promise.reject(output.stderr); - } - - diff = output.stdout; - diff = diff.replace(/A\s+/g, ''); - diff = diff.match(/src\/@ionic-native\/plugins\/([a-zA-Z0-9\-]+)\/index\.ts/g); - - if (!diff) process.exit(); - - console.log(`${ diff.length } plugins were modified. We will now build them to verify they still work.`); - - return exec('npm run build:core --silent'); - }) - .then((output) => { - - if (output && output.stderr) { - return Promise.reject(output.stderr); - } - - console.log('Built core library successfully ...'); - console.log('Building plugins ...'); - - diff = diff.map(text => text.replace('src/@ionic-native/plugins/', '').replace('/index.ts', '')); - - return exec(`npm run build:modules ${diff.join(' ')} --silent`); - }) - .then((output) => { - if (output && output.stderr) { - console.log(output.stderr); - process.exit(1); - } - console.log(output.stdout); - process.exit(); - }) - .catch(e => { - console.log(e.message || e); - process.exit(1); - }); diff --git a/scripts/config.json b/scripts/docs/config.json similarity index 76% rename from scripts/config.json rename to scripts/docs/config.json index 2008df6028..66ba8ae4cc 100644 --- a/scripts/config.json +++ b/scripts/docs/config.json @@ -2,5 +2,5 @@ "sitePath": "../ionic-site", "v2DocsDir": "docs/native", "docsDest": "../ionic-site/content/docs/native", - "pluginDir": "dist/@ionic-native" + "pluginDir": "dist/plugins" } diff --git a/scripts/docs/configs/links.js b/scripts/docs/dgeni/configs/links.js similarity index 100% rename from scripts/docs/configs/links.js rename to scripts/docs/dgeni/configs/links.js diff --git a/scripts/docs/configs/log.js b/scripts/docs/dgeni/configs/log.js similarity index 100% rename from scripts/docs/configs/log.js rename to scripts/docs/dgeni/configs/log.js diff --git a/scripts/docs/configs/tag-defs.js b/scripts/docs/dgeni/configs/tag-defs.js similarity index 100% rename from scripts/docs/configs/tag-defs.js rename to scripts/docs/dgeni/configs/tag-defs.js diff --git a/scripts/docs/configs/template-filters.js b/scripts/docs/dgeni/configs/template-filters.js similarity index 100% rename from scripts/docs/configs/template-filters.js rename to scripts/docs/dgeni/configs/template-filters.js diff --git a/scripts/docs/configs/template-tags.js b/scripts/docs/dgeni/configs/template-tags.js similarity index 100% rename from scripts/docs/configs/template-tags.js rename to scripts/docs/dgeni/configs/template-tags.js diff --git a/scripts/docs/dgeni-config.js b/scripts/docs/dgeni/dgeni-config.js similarity index 97% rename from scripts/docs/dgeni-config.js rename to scripts/docs/dgeni/dgeni-config.js index f93618ab31..cad50129c9 100644 --- a/scripts/docs/dgeni-config.js +++ b/scripts/docs/dgeni/dgeni-config.js @@ -50,11 +50,11 @@ module.exports = currentVersion => { // Don't run unwanted processors since we are not using the normal file reading processor readFilesProcessor.$enabled = false; - readFilesProcessor.basePath = path.resolve(__dirname, '../..'); + readFilesProcessor.basePath = path.resolve(__dirname, '../../..'); - readTypeScriptModules.basePath = path.resolve(__dirname, '../..'); + readTypeScriptModules.basePath = path.resolve(__dirname, '../../..'); readTypeScriptModules.sourceFiles = [ - './src/@ionic-native/plugins/**/*.ts' + './src/plugins/**/*.ts' ]; }) diff --git a/scripts/docs/dgeni-readmes-config.js b/scripts/docs/dgeni/dgeni-readmes-config.js similarity index 94% rename from scripts/docs/dgeni-readmes-config.js rename to scripts/docs/dgeni/dgeni-readmes-config.js index c701173d5c..da2520b05b 100644 --- a/scripts/docs/dgeni-readmes-config.js +++ b/scripts/docs/dgeni/dgeni-readmes-config.js @@ -40,7 +40,6 @@ module.exports = currentVersion => { computePathsProcessor.pathTemplates = [{ docTypes: ['class'], getOutputPath: doc => doc.originalModule.replace(config.pluginDir + '/', '') - .replace('/plugins', '') .replace(/\/index$/, '/README.md') }]; @@ -50,10 +49,10 @@ module.exports = currentVersion => { .config(function(readFilesProcessor, readTypeScriptModules) { // Don't run unwanted processors since we are not using the normal file reading processor readFilesProcessor.$enabled = false; - readFilesProcessor.basePath = path.resolve(__dirname, '../..'); + readFilesProcessor.basePath = path.resolve(__dirname, '../../..'); - readTypeScriptModules.basePath = path.resolve(path.resolve(__dirname, '../..')); - readTypeScriptModules.sourceFiles = ['./src/@ionic-native/plugins/**/*.ts']; + readTypeScriptModules.basePath = path.resolve(path.resolve(__dirname, '../../..')); + readTypeScriptModules.sourceFiles = ['./src/plugins/**/*.ts']; }) // Configure file writing diff --git a/scripts/docs/filters/capital.js b/scripts/docs/dgeni/filters/capital.js similarity index 100% rename from scripts/docs/filters/capital.js rename to scripts/docs/dgeni/filters/capital.js diff --git a/scripts/docs/filters/code.js b/scripts/docs/dgeni/filters/code.js similarity index 100% rename from scripts/docs/filters/code.js rename to scripts/docs/dgeni/filters/code.js diff --git a/scripts/docs/filters/dashify.js b/scripts/docs/dgeni/filters/dashify.js similarity index 100% rename from scripts/docs/filters/dashify.js rename to scripts/docs/dgeni/filters/dashify.js diff --git a/scripts/docs/filters/dump.js b/scripts/docs/dgeni/filters/dump.js similarity index 100% rename from scripts/docs/filters/dump.js rename to scripts/docs/dgeni/filters/dump.js diff --git a/scripts/docs/processors/debug.js b/scripts/docs/dgeni/processors/debug.js similarity index 100% rename from scripts/docs/processors/debug.js rename to scripts/docs/dgeni/processors/debug.js diff --git a/scripts/docs/processors/hide-private-api.js b/scripts/docs/dgeni/processors/hide-private-api.js similarity index 100% rename from scripts/docs/processors/hide-private-api.js rename to scripts/docs/dgeni/processors/hide-private-api.js diff --git a/scripts/docs/processors/jekyll.js b/scripts/docs/dgeni/processors/jekyll.js similarity index 100% rename from scripts/docs/processors/jekyll.js rename to scripts/docs/dgeni/processors/jekyll.js diff --git a/scripts/docs/processors/mark-properties.js b/scripts/docs/dgeni/processors/mark-properties.js similarity index 100% rename from scripts/docs/processors/mark-properties.js rename to scripts/docs/dgeni/processors/mark-properties.js diff --git a/scripts/docs/processors/npm-id.js b/scripts/docs/dgeni/processors/npm-id.js similarity index 100% rename from scripts/docs/processors/npm-id.js rename to scripts/docs/dgeni/processors/npm-id.js diff --git a/scripts/docs/processors/parse-optional.js b/scripts/docs/dgeni/processors/parse-optional.js similarity index 100% rename from scripts/docs/processors/parse-optional.js rename to scripts/docs/dgeni/processors/parse-optional.js diff --git a/scripts/docs/processors/readmes.js b/scripts/docs/dgeni/processors/readmes.js similarity index 100% rename from scripts/docs/processors/readmes.js rename to scripts/docs/dgeni/processors/readmes.js diff --git a/scripts/docs/processors/remove-private-members.js b/scripts/docs/dgeni/processors/remove-private-members.js similarity index 100% rename from scripts/docs/processors/remove-private-members.js rename to scripts/docs/dgeni/processors/remove-private-members.js diff --git a/scripts/docs/tag-defs/tag-defs.js b/scripts/docs/dgeni/tag-defs/tag-defs.js similarity index 100% rename from scripts/docs/tag-defs/tag-defs.js rename to scripts/docs/dgeni/tag-defs/tag-defs.js diff --git a/scripts/docs/templates/common.template.html b/scripts/docs/dgeni/templates/common.template.html similarity index 100% rename from scripts/docs/templates/common.template.html rename to scripts/docs/dgeni/templates/common.template.html diff --git a/scripts/docs/templates/native_menu.template.html b/scripts/docs/dgeni/templates/native_menu.template.html similarity index 100% rename from scripts/docs/templates/native_menu.template.html rename to scripts/docs/dgeni/templates/native_menu.template.html diff --git a/scripts/docs/templates/readme.template.md b/scripts/docs/dgeni/templates/readme.template.md similarity index 100% rename from scripts/docs/templates/readme.template.md rename to scripts/docs/dgeni/templates/readme.template.md diff --git a/scripts/docs/gulp-tasks.js b/scripts/docs/gulp-tasks.js index 81a10aa45c..0767302d02 100644 --- a/scripts/docs/gulp-tasks.js +++ b/scripts/docs/gulp-tasks.js @@ -1,5 +1,5 @@ "use strict"; -const config = require('../config.json'), +const config = require('./config.json'), projectPackage = require('../../package.json'), path = require('path'), fs = require('fs-extra-promise').useFs(require('fs-extra')), @@ -10,7 +10,7 @@ module.exports = gulp => { try { - const ionicPackage = require('./dgeni-config')(projectPackage.version), + const ionicPackage = require('./dgeni/dgeni-config')(projectPackage.version), dgeni = new Dgeni([ionicPackage]); return dgeni.generate().then(docs => console.log(docs.length + ' docs generated')); @@ -27,7 +27,7 @@ module.exports = gulp => { try { - const ionicPackage = require('./dgeni-readmes-config')(projectPackage.version), + const ionicPackage = require('./dgeni/dgeni-readmes-config')(projectPackage.version), dgeni = new Dgeni([ionicPackage]); return dgeni.generate().then(docs => console.log(docs.length + ' README files generated')); diff --git a/scripts/docs/update_readmes.sh b/scripts/docs/update_readmes.sh index 0c128668ca..b51ca3fee8 100755 --- a/scripts/docs/update_readmes.sh +++ b/scripts/docs/update_readmes.sh @@ -31,7 +31,7 @@ function run { # git push origin master || : - echo "-- Updated docs for $VERSION_NAME succesfully!" + echo "-- Updated docs for $VERSION_NAME successfully!" fi } diff --git a/scripts/utils.inc.sh b/scripts/docs/utils.inc.sh old mode 100755 new mode 100644 similarity index 96% rename from scripts/utils.inc.sh rename to scripts/docs/utils.inc.sh index 08f3d8fe7c..df258e281d --- a/scripts/utils.inc.sh +++ b/scripts/docs/utils.inc.sh @@ -1,244 +1,244 @@ -# bash utils from angularjs - -# This file provides: -# - a default control flow -# * initializes the environment -# * call a function in your script based on the arguments -# - named argument parsing and automatic generation of the "usage" for your script -# - utility functions -# -# Usage: -# - define the variable ARGS_DEF (see below) with the arguments for your script -# - include this file using `source utils.inc` at the end of your script. -# -# Default control flow: -# 0. Set the current directory to the directory of the script. By this -# the script can be called from anywhere. -# 1. Parse the named arguments -# 2. [Redacted] -# 3. If the parameter "verbose" is set, the `-x` flag will be set in bash. -# 4. The function "init" will be called if it exists -# 5. If the parameter "action" is set, it will call the function with the name of that parameter. -# Otherwise the function "run" will be called. -# -# Named Argument Parsing: -# - The variable ARGS_DEF defines the valid command arguments -# * Required args syntax: --paramName=paramRegex -# * Optional args syntax: [--paramName=paramRegex] -# * e.g. ARG_DEFS=("--required_param=(.+)" "[--optional_param=(.+)]") -# - Checks that: -# * all arguments match to an entry in ARGS_DEF -# * all required arguments are present -# * all arguments match their regex -# - Afterwards, every paramter value will be stored in a variable -# with the name of the parameter in upper case (with dash converted to underscore). -# -# Special arguments that are always available: -# - "--action=.*": This parameter will be used to dispatch to a function with that name when the -# script is started - -# - "--verbose=true": This will set the `-x` flag in bash so that all calls will be logged -# -# Utility functions: -# - readJsonProp -# - replaceJsonProp -# - resolveDir -# - getVar -# - serVar -# - isFunction - -# always stop on errors -set -e - -function usage { - echo "Usage: ${0} ${ARG_DEFS[@]}" - exit 1 -} - - -function parseArgs { - local REQUIRED_ARG_NAMES=() - - # -- helper functions - function varName { - # everything to upper case and dash to underscore - echo ${1//-/_} | tr '[:lower:]' '[:upper:]' - } - - function readArgDefs { - local ARG_DEF - local AD_OPTIONAL - local AD_NAME - local AD_RE - - # -- helper functions - function parseArgDef { - local ARG_DEF_REGEX="(\[?)--([^=]+)=(.*)" - if [[ ! $1 =~ $ARG_DEF_REGEX ]]; then - echo "Internal error: arg def has wrong format: $ARG_DEF" - exit 1 - fi - AD_OPTIONAL="${BASH_REMATCH[1]}" - AD_NAME="${BASH_REMATCH[2]}" - AD_RE="${BASH_REMATCH[3]}" - if [[ $AD_OPTIONAL ]]; then - # Remove last bracket for optional args. - # Can't put this into the ARG_DEF_REGEX somehow... - AD_RE=${AD_RE%?} - fi - } - - # -- run - for ARG_DEF in "${ARG_DEFS[@]}" - do - parseArgDef $ARG_DEF - - local AD_NAME_UPPER=$(varName $AD_NAME) - setVar "${AD_NAME_UPPER}_OPTIONAL" "$AD_OPTIONAL" - setVar "${AD_NAME_UPPER}_RE" "$AD_RE" - if [[ ! $AD_OPTIONAL ]]; then - REQUIRED_ARG_NAMES+=($AD_NAME) - fi - done - } - - function readAndValidateArgs { - local ARG_NAME - local ARG_VALUE - local ARG_NAME_UPPER - - # -- helper functions - function parseArg { - local ARG_REGEX="--([^=]+)=?(.*)" - - if [[ ! $1 =~ $ARG_REGEX ]]; then - echo "Can't parse argument $i" - usage - fi - - ARG_NAME="${BASH_REMATCH[1]}" - ARG_VALUE="${BASH_REMATCH[2]}" - ARG_NAME_UPPER=$(varName $ARG_NAME) - } - - function validateArg { - local AD_RE=$(getVar ${ARG_NAME_UPPER}_RE) - - if [[ ! $AD_RE ]]; then - echo "Unknown option: $ARG_NAME" - usage - fi - - if [[ ! $ARG_VALUE =~ ^${AD_RE}$ ]]; then - echo "Wrong format: $ARG_NAME" - usage; - fi - - # validate that the "action" option points to a valid function - if [[ $ARG_NAME == "action" ]] && ! isFunction $ARG_VALUE; then - echo "No action $ARG_VALUE defined in this script" - usage; - fi - } - - # -- run - for i in "$@" - do - parseArg $i - validateArg - setVar "${ARG_NAME_UPPER}" "$ARG_VALUE" - done - } - - function checkMissingArgs { - local ARG_NAME - for ARG_NAME in "${REQUIRED_ARG_NAMES[@]}" - do - ARG_VALUE=$(getVar $(varName $ARG_NAME)) - - if [[ ! $ARG_VALUE ]]; then - echo "Missing: $ARG_NAME" - usage; - fi - done - } - - # -- run - readArgDefs - readAndValidateArgs "$@" - checkMissingArgs - -} - -# getVar(varName) -function getVar { - echo ${!1} -} - -# setVar(varName, varValue) -function setVar { - eval "$1=\"$2\"" -} - -# isFunction(name) -# - to be used in an if, so return 0 if successful and 1 if not! -function isFunction { - if [[ $(type -t $1) == "function" ]]; then - return 0 - else - return 1 - fi -} - -# readJsonProp(jsonFile, property) -# - restriction: property needs to be on an own line! -function readJsonProp { - echo $(sed -En 's/.*"'$2'"[ ]*:[ ]*"(.*)".*/\1/p' $1) -} - -# replaceJsonProp(jsonFile, property, newValue) -# - note: propertyRegex will be automatically placed into a -# capturing group! -> all other groups start at index 2! -function replaceJsonProp { - replaceInFile $1 "\"$2\": \".*?\"" "\"$2\": \"$3\"" -} - -# replaceInFile(file, findPattern, replacePattern) -function replaceInFile { - perl -pi -e "s/$2/$3/g;" $1 -} - -# resolveDir(relativeDir) -# - resolves a directory relative to the current script -function resolveDir { - echo $(cd $SCRIPT_DIR; cd $1; pwd) -} - -function main { - # normalize the working dir to the directory of the script - cd $(dirname $0);SCRIPT_DIR=$(pwd) - - ARG_DEFS+=("[--verbose=(true|false)]") - parseArgs "$@" - - - # --verbose argument - if [[ $VERBOSE == "true" ]]; then - set -x - fi - - if isFunction init; then - init "$@" - fi - - # jump to the function denoted by the --action argument, - # otherwise call the "run" function - if [[ $ACTION ]]; then - $ACTION "$@" - else - run "$@" - fi -} - - -main "$@" +# bash utils from angularjs + +# This file provides: +# - a default control flow +# * initializes the environment +# * call a function in your script based on the arguments +# - named argument parsing and automatic generation of the "usage" for your script +# - utility functions +# +# Usage: +# - define the variable ARGS_DEF (see below) with the arguments for your script +# - include this file using `source utils.inc` at the end of your script. +# +# Default control flow: +# 0. Set the current directory to the directory of the script. By this +# the script can be called from anywhere. +# 1. Parse the named arguments +# 2. [Redacted] +# 3. If the parameter "verbose" is set, the `-x` flag will be set in bash. +# 4. The function "init" will be called if it exists +# 5. If the parameter "action" is set, it will call the function with the name of that parameter. +# Otherwise the function "run" will be called. +# +# Named Argument Parsing: +# - The variable ARGS_DEF defines the valid command arguments +# * Required args syntax: --paramName=paramRegex +# * Optional args syntax: [--paramName=paramRegex] +# * e.g. ARG_DEFS=("--required_param=(.+)" "[--optional_param=(.+)]") +# - Checks that: +# * all arguments match to an entry in ARGS_DEF +# * all required arguments are present +# * all arguments match their regex +# - Afterwards, every paramter value will be stored in a variable +# with the name of the parameter in upper case (with dash converted to underscore). +# +# Special arguments that are always available: +# - "--action=.*": This parameter will be used to dispatch to a function with that name when the +# script is started + +# - "--verbose=true": This will set the `-x` flag in bash so that all calls will be logged +# +# Utility functions: +# - readJsonProp +# - replaceJsonProp +# - resolveDir +# - getVar +# - serVar +# - isFunction + +# always stop on errors +set -e + +function usage { + echo "Usage: ${0} ${ARG_DEFS[@]}" + exit 1 +} + + +function parseArgs { + local REQUIRED_ARG_NAMES=() + + # -- helper functions + function varName { + # everything to upper case and dash to underscore + echo ${1//-/_} | tr '[:lower:]' '[:upper:]' + } + + function readArgDefs { + local ARG_DEF + local AD_OPTIONAL + local AD_NAME + local AD_RE + + # -- helper functions + function parseArgDef { + local ARG_DEF_REGEX="(\[?)--([^=]+)=(.*)" + if [[ ! $1 =~ $ARG_DEF_REGEX ]]; then + echo "Internal error: arg def has wrong format: $ARG_DEF" + exit 1 + fi + AD_OPTIONAL="${BASH_REMATCH[1]}" + AD_NAME="${BASH_REMATCH[2]}" + AD_RE="${BASH_REMATCH[3]}" + if [[ $AD_OPTIONAL ]]; then + # Remove last bracket for optional args. + # Can't put this into the ARG_DEF_REGEX somehow... + AD_RE=${AD_RE%?} + fi + } + + # -- run + for ARG_DEF in "${ARG_DEFS[@]}" + do + parseArgDef $ARG_DEF + + local AD_NAME_UPPER=$(varName $AD_NAME) + setVar "${AD_NAME_UPPER}_OPTIONAL" "$AD_OPTIONAL" + setVar "${AD_NAME_UPPER}_RE" "$AD_RE" + if [[ ! $AD_OPTIONAL ]]; then + REQUIRED_ARG_NAMES+=($AD_NAME) + fi + done + } + + function readAndValidateArgs { + local ARG_NAME + local ARG_VALUE + local ARG_NAME_UPPER + + # -- helper functions + function parseArg { + local ARG_REGEX="--([^=]+)=?(.*)" + + if [[ ! $1 =~ $ARG_REGEX ]]; then + echo "Can't parse argument $i" + usage + fi + + ARG_NAME="${BASH_REMATCH[1]}" + ARG_VALUE="${BASH_REMATCH[2]}" + ARG_NAME_UPPER=$(varName $ARG_NAME) + } + + function validateArg { + local AD_RE=$(getVar ${ARG_NAME_UPPER}_RE) + + if [[ ! $AD_RE ]]; then + echo "Unknown option: $ARG_NAME" + usage + fi + + if [[ ! $ARG_VALUE =~ ^${AD_RE}$ ]]; then + echo "Wrong format: $ARG_NAME" + usage; + fi + + # validate that the "action" option points to a valid function + if [[ $ARG_NAME == "action" ]] && ! isFunction $ARG_VALUE; then + echo "No action $ARG_VALUE defined in this script" + usage; + fi + } + + # -- run + for i in "$@" + do + parseArg $i + validateArg + setVar "${ARG_NAME_UPPER}" "$ARG_VALUE" + done + } + + function checkMissingArgs { + local ARG_NAME + for ARG_NAME in "${REQUIRED_ARG_NAMES[@]}" + do + ARG_VALUE=$(getVar $(varName $ARG_NAME)) + + if [[ ! $ARG_VALUE ]]; then + echo "Missing: $ARG_NAME" + usage; + fi + done + } + + # -- run + readArgDefs + readAndValidateArgs "$@" + checkMissingArgs + +} + +# getVar(varName) +function getVar { + echo ${!1} +} + +# setVar(varName, varValue) +function setVar { + eval "$1=\"$2\"" +} + +# isFunction(name) +# - to be used in an if, so return 0 if successful and 1 if not! +function isFunction { + if [[ $(type -t $1) == "function" ]]; then + return 0 + else + return 1 + fi +} + +# readJsonProp(jsonFile, property) +# - restriction: property needs to be on an own line! +function readJsonProp { + echo $(sed -En 's/.*"'$2'"[ ]*:[ ]*"(.*)".*/\1/p' $1) +} + +# replaceJsonProp(jsonFile, property, newValue) +# - note: propertyRegex will be automatically placed into a +# capturing group! -> all other groups start at index 2! +function replaceJsonProp { + replaceInFile $1 "\"$2\": \".*?\"" "\"$2\": \"$3\"" +} + +# replaceInFile(file, findPattern, replacePattern) +function replaceInFile { + perl -pi -e "s/$2/$3/g;" $1 +} + +# resolveDir(relativeDir) +# - resolves a directory relative to the current script +function resolveDir { + echo $(cd $SCRIPT_DIR; cd $1; pwd) +} + +function main { + # normalize the working dir to the directory of the script + cd $(dirname $0);SCRIPT_DIR=$(pwd) + + ARG_DEFS+=("[--verbose=(true|false)]") + parseArgs "$@" + + + # --verbose argument + if [[ $VERBOSE == "true" ]]; then + set -x + fi + + if isFunction init; then + init "$@" + fi + + # jump to the function denoted by the --action argument, + # otherwise call the "run" function + if [[ $ACTION ]]; then + $ACTION "$@" + else + run "$@" + fi +} + + +main "$@" diff --git a/scripts/tasks/build-es5.ts b/scripts/tasks/build-es5.ts new file mode 100644 index 0000000000..c7187091c4 --- /dev/null +++ b/scripts/tasks/build-es5.ts @@ -0,0 +1,76 @@ +import * as fs from 'fs-extra'; +import * as path from 'path'; +import * as webpack from 'webpack'; +import * as uglifyJsPlugin from 'uglifyjs-webpack-plugin'; +import * as unminifiedPlugin from 'unminified-webpack-plugin'; +import { cleanEmittedData, EMIT_PATH, InjectableClassEntry } from '../build/transformers/extract-injectables'; +import { ROOT } from '../build/helpers'; + +const DIST = path.resolve(ROOT, 'dist'); +const INDEX_PATH = path.resolve(DIST, 'index.js'); +const INJECTABLE_CLASSES = fs.readJSONSync(EMIT_PATH).map((item: InjectableClassEntry) => { + item.file = './' + item.file.split(/[\/\\]+/).slice(-3, -1).join('/'); + return item; +}); + +const webpackConfig: webpack.Configuration = { + entry: INDEX_PATH, + devtool: 'source-map', + target: 'web', + output: { + path: DIST, + filename: 'ionic-native.min.js' + }, + resolve: { + modules: ['node_modules'], + extensions: ['.js'], + alias: { + '@ionic-native/core': path.resolve(DIST, 'core/index.js') + } + }, + module: { + rules: [{ + test: /\.js$/, + use: path.resolve(ROOT, 'scripts/build/remove-tslib-helpers.js') + }] + }, + plugins: [ + new webpack.ProvidePlugin({ + '__extends': ['tslib', '__extends'] + }), + new webpack.optimize.OccurrenceOrderPlugin(true), + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify('production') + }), + new uglifyJsPlugin({ + sourceMap: true + }) + ] +}; + +function getPluginImport(entry: InjectableClassEntry) { + return `import { ${ entry.className } } from '${ entry.file }';`; +} + +function createIndexFile() { + let fileContent = ''; + fileContent += INJECTABLE_CLASSES.map(getPluginImport).join('\n'); + fileContent += `\nwindow.IonicNative = {\n`; + fileContent += INJECTABLE_CLASSES.map(e => e.className).join(',\n'); + fileContent += '\n};\n'; + fileContent += `require('./core/bootstrap').checkReady();\n`; + fileContent += `require('./core/ng1').initAngular1(window.IonicNative);`; + + fs.writeFileSync(INDEX_PATH, fileContent, { encoding: 'utf-8' }); +} + +function compile() { + webpack(webpackConfig, (err, stats) => { + if (err) console.log(err); + else console.log(stats); + // cleanEmittedData(); + }); +} + +createIndexFile(); +compile(); diff --git a/scripts/tasks/build-esm.ts b/scripts/tasks/build-esm.ts new file mode 100644 index 0000000000..11ed4cbbfd --- /dev/null +++ b/scripts/tasks/build-esm.ts @@ -0,0 +1,29 @@ +import { generateDeclarations, transpile } from '../build/transpile'; +import { EMIT_PATH } from '../build/transformers/extract-injectables'; +import { PLUGIN_PATHS } from '../build/helpers'; +import * as fs from 'fs-extra'; +import * as path from 'path'; + +generateDeclarations(); +transpile(); + +const outDirs = PLUGIN_PATHS.map(p => p.replace('src', 'dist').replace(/[\\/]index.ts/, '')); +const injectableClasses = fs.readJSONSync(EMIT_PATH); + + +outDirs.forEach(dir => { + const classes = injectableClasses.filter(entry => entry.dirName === dir.split(/[\\/]+/).pop()); + + let jsFile: string = fs.readFileSync(path.join(dir, 'index.js'), 'utf-8'), + dtsFile: string = fs.readFileSync(path.join(dir, 'index.d.ts'), 'utf-8'); + + classes.forEach(entry => { + dtsFile = dtsFile.replace(`class ${ entry.className } `, 'class ' + entry.className + 'Original '); + dtsFile += `\nexport declare const ${ entry.className }: ${ entry.className }Original;`; + jsFile = jsFile.replace(new RegExp(`([\\s\\(])${ entry.className }([\\s\\.;\\(,])`, 'g'), '$1' + entry.className + 'Original$2'); + jsFile = jsFile.replace(`export { ${ entry.className }Original }`, `var ${ entry.className } = new ${ entry.className }Original();\nexport { ${ entry.className } }`); + }); + + fs.writeFileSync(path.join(dir, 'index.js'), jsFile, 'utf-8'); + fs.writeFileSync(path.join(dir, 'index.d.ts'), dtsFile, 'utf-8'); +}); diff --git a/scripts/tasks/build-ngx.ts b/scripts/tasks/build-ngx.ts new file mode 100644 index 0000000000..de8df8e614 --- /dev/null +++ b/scripts/tasks/build-ngx.ts @@ -0,0 +1,7 @@ +import { generateDeclarationFiles, transpileNgx, transpileNgxCore, modifyMetadata, cleanupNgx } from '../build/ngx'; + +transpileNgxCore(); +transpileNgx(); +generateDeclarationFiles(); +modifyMetadata(); +cleanupNgx(); diff --git a/scripts/tasks/publish.ts b/scripts/tasks/publish.ts new file mode 100644 index 0000000000..1d2939acc1 --- /dev/null +++ b/scripts/tasks/publish.ts @@ -0,0 +1,75 @@ +import * as fs from 'fs-extra'; +import * as path from 'path'; +import { merge } from 'lodash'; +import { exec } from 'child_process'; +import { PLUGIN_PATHS, ROOT } from '../build/helpers'; + +const MAIN_PACKAGE_JSON = require('../../package.json'); +const VERSION = MAIN_PACKAGE_JSON.version; +const FLAGS = '--access public --tag beta'; + +const PACKAGE_JSON_BASE = { + "description": "Ionic Native - Native plugins for ionic apps", + "module": "index.js", + "typings": "index.d.ts", + "author": "ionic", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/ionic-team/ionic-native.git" + } +}; + +const DIST = path.resolve(ROOT, 'dist'); + +const PACKAGES = []; + +const RXJS_VEERSION = '^5.0.1'; +const CORE_VERSION = '^5.0.0'; + +const PLUGIN_PEER_DEPENDENCIES = { + '@ionic-native/core': VERSION, // TODO change this in production + 'rxjs': RXJS_VEERSION +}; + +function getPackageJsonContent(name, peerDependencies = {}) { + return merge(PACKAGE_JSON_BASE, { + name: '@ionic-native/' + name, + peerDependencies, + version: VERSION + }); +} + +function writePackageJson(data: any, dir: string) { + const filePath = path.resolve(dir, 'package.json'); + fs.writeJSONSync(filePath, data); + PACKAGES.push(dir); +} + +function prepare() { + // write @ionic-native/core package.json + writePackageJson( + getPackageJsonContent('core', { 'rxjs': RXJS_VEERSION }), + path.resolve(DIST, 'core') + ); + + // write plugin package.json files + PLUGIN_PATHS.forEach((pluginPath: string) => { + const pluginName = pluginPath.split(/[\/\\]+/).slice(-2)[0]; + const packageJsonContents = getPackageJsonContent(pluginName, PLUGIN_PEER_DEPENDENCIES); + const dir = path.resolve(DIST, 'plugins', pluginName); + + writePackageJson(packageJsonContents, dir); + }); +} + +function publish() { + // TODO apply queue system so it doesn't publish everything at once + PACKAGES.forEach((pkg: string) => { + // console.log('Going to run the following command: ', `npm publish ${ pkg } ${ FLAGS }`); + exec(`npm publish ${ pkg } ${ FLAGS }`); + }); +} + +prepare(); +publish(); diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json new file mode 100644 index 0000000000..0f7cbb459a --- /dev/null +++ b/scripts/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "moduleResolution": "node", + "noImplicitAny": false, + "lib": ["es6"] + }, + "exclude": [ + "node_modules" + ] +} diff --git a/src/@ionic-native/core/decorators.spec.ts b/src/@ionic-native/core/decorators.spec.ts deleted file mode 100644 index 534a135f89..0000000000 --- a/src/@ionic-native/core/decorators.spec.ts +++ /dev/null @@ -1,277 +0,0 @@ -import 'core-js'; -import { Plugin, Cordova, CordovaProperty, CordovaCheck, CordovaInstance, InstanceProperty } from './decorators'; -import { IonicNativePlugin } from './ionic-native-plugin'; -import { ERR_CORDOVA_NOT_AVAILABLE, ERR_PLUGIN_NOT_INSTALLED } from './plugin'; -import { Observable } from 'rxjs/Observable'; - -declare const window: any; - -class TestObject { - - constructor(public _objectInstance: any) {} - - @InstanceProperty - name: string; - - @CordovaInstance({ sync: true }) - pingSync(): string { return; } - - @CordovaInstance() - ping(): Promise { return; } - -} - -@Plugin({ - pluginName: 'TestPlugin', - pluginRef: 'testPlugin', - repo: '', - plugin: 'cordova-plugin-my-plugin', - platforms: ['Android', 'iOS'] -}) -class TestPlugin extends IonicNativePlugin { - - @CordovaProperty - name: string; - - @Cordova({ sync: true }) - pingSync(): string { return; } - - @Cordova() - ping(): Promise { return; } - - @CordovaCheck() - customPing(): Promise { - return Promise.resolve('pong'); - } - - create(): TestObject { - return new TestObject(TestPlugin.getPlugin().create()); - } - - @Cordova({ - destruct: true - }) - destructPromise(): Promise { return; } - - @Cordova({ - destruct: true, - observable: true - }) - destructObservable(): Observable { return; } - -} - -function definePlugin() { - (window as any).testPlugin = { - name: 'John Smith', - ping: (success: Function, error: Function) => success('pong'), - pingSync: () => 'pong', - create: function TestObject() { - this.pingSync = () => 'pong'; - this.ping = (success: Function, error: Function) => success('pong'); - this.name = 'John Smith'; - return this; - }, - destructPromise: (success: Function) => success('hello', 'world'), - destructObservable: (success: Function) => success('hello', 'world') - }; -} - -describe('Regular Decorators', () => { - - let plugin: TestPlugin; - - beforeEach(() => { - plugin = new TestPlugin(); - definePlugin(); - }); - - describe('Plugin', () => { - - it('should set pluginName', () => { - expect(TestPlugin.getPluginName()).toEqual('TestPlugin'); - }); - - it('should set pluginRef', () => { - expect(TestPlugin.getPluginRef()).toEqual('testPlugin'); - }); - - it('should return original plugin object', () => { - expect(TestPlugin.getPlugin()).toEqual(window.testPlugin); - }); - - it('should return supported platforms', () => { - expect(TestPlugin.getSupportedPlatforms()).toEqual(['Android', 'iOS']); - }); - - }); - - describe('Cordova', () => { - - it('should do a sync function', () => { - expect(plugin.pingSync()).toEqual('pong'); - }); - - it('should do an async function', (done: Function) => { - plugin.ping() - .then(res => { - expect(res).toEqual('pong'); - done(); - }) - .catch(e => { - expect(e).toBeUndefined(); - done('Method should have resolved'); - }); - }); - - it('should throw plugin_not_installed error', (done: Function) => { - - delete window.testPlugin; - window.cordova = true; - - expect(plugin.pingSync()).toEqual(ERR_PLUGIN_NOT_INSTALLED); - - plugin.ping() - .catch(e => { - expect(e).toEqual(ERR_PLUGIN_NOT_INSTALLED.error); - delete window.cordova; - done(); - }); - - }); - - it('should throw cordova_not_available error', (done: Function) => { - - delete window.testPlugin; - - expect(plugin.pingSync()).toEqual(ERR_CORDOVA_NOT_AVAILABLE); - - plugin.ping() - .catch(e => { - expect(e).toEqual(ERR_CORDOVA_NOT_AVAILABLE.error); - done(); - }); - - }); - - }); - - describe('CordovaProperty', () => { - - it('should return property value', () => { - expect(plugin.name).toEqual('John Smith'); - }); - - it('should set property value', () => { - plugin.name = 'value2'; - expect(plugin.name).toEqual('value2'); - }); - - }); - - describe('CordovaCheck', () => { - - it('should run the method when plugin exists', (done) => { - plugin.customPing() - .then(res => { - expect(res).toEqual('pong'); - done(); - }); - }); - - it('shouldnt run the method when plugin doesnt exist', (done) => { - delete window.testPlugin; - window.cordova = true; - plugin.customPing() - .catch(e => { - expect(e).toEqual(ERR_PLUGIN_NOT_INSTALLED.error); - done(); - }); - }); - - }); - - describe('CordovaOptions', () => { - - describe('destruct', () => { - - it('should destruct values returned by a Promise', (done) => { - plugin.destructPromise() - .then((args: any[]) => { - expect(args).toEqual(['hello', 'world']); - done(); - }); - }); - - it('should destruct values returned by an Observable', (done) => { - plugin.destructObservable() - .subscribe((args: any[]) => { - expect(args).toEqual(['hello', 'world']); - done(); - }); - }); - - }); - - }); - -}); - -describe('Instance Decorators', () => { - - let instance: TestObject, - plugin: TestPlugin; - - beforeEach(() => { - definePlugin(); - plugin = new TestPlugin(); - instance = plugin.create(); - }); - - describe('Instance plugin', () => { - - - - }); - - describe('CordovaInstance', () => { - - it('should call instance async method', (done) => { - instance.ping() - .then(r => { - expect(r).toEqual('pong'); - done(); - }); - }); - - it('should call instance sync method', () => { - expect(instance.pingSync()).toEqual('pong'); - }); - - it('shouldnt call instance method when _objectInstance is undefined', () => { - - delete instance._objectInstance; - instance.ping() - .then(r => { - expect(r).toBeUndefined(); - }) - .catch(e => { - expect(e).toBeUndefined(); - }); - - }); - - }); - - describe('InstanceProperty', () => { - it('should return property value', () => { - expect(instance.name).toEqual('John Smith'); - }); - - it('should set property value', () => { - instance.name = 'John Cena'; - expect(instance.name).toEqual('John Cena'); - }); - }); - -}); diff --git a/src/@ionic-native/core/decorators.ts b/src/@ionic-native/core/decorators.ts deleted file mode 100644 index 0a99c3704d..0000000000 --- a/src/@ionic-native/core/decorators.ts +++ /dev/null @@ -1,313 +0,0 @@ -import { instanceAvailability, checkAvailability, wrap, wrapInstance, overrideFunction } from './plugin'; -import { getPlugin, getPromise } from './util'; -import { Observable } from 'rxjs/Observable'; -import 'rxjs/observable/throw'; - -export interface PluginConfig { - /** - * Plugin name, this should match the class name - */ - pluginName: string; - /** - * Plugin NPM package name - */ - plugin: string; - /** - * Plugin object reference - */ - pluginRef?: string; - /** - * Github repository URL - */ - repo?: string; - /** - * Custom install command - */ - install?: string; - /** - * Available installation variables - */ - installVariables?: string[]; - /** - * Supported platforms - */ - platforms?: string[]; - - [key: string]: any; -} - -export interface CordovaOptions { - destruct?: boolean; - /** - * Set to true if the wrapped method is a sync function - */ - sync?: boolean; - /** - * Callback order. Set to reverse if the success/error callbacks are the first 2 arguments that the wrapped method takes. - */ - callbackOrder?: 'reverse'; - /** - * Callback style - */ - callbackStyle?: 'node' | 'object'; - /** - * Set a custom index for the success callback function. This doesn't work if callbackOrder or callbackStyle are set. - */ - successIndex?: number; - /** - * Set a custom index for the error callback function. This doesn't work if callbackOrder or callbackStyle are set. - */ - errorIndex?: number; - /** - * Success function property name. This must be set if callbackStyle is set to object. - */ - successName?: string; - /** - * Error function property name. This must be set if callbackStyle is set to object. - */ - errorName?: string; - /** - * Set to true to return an observable - */ - observable?: boolean; - /** - * If observable is set to true, this can be set to a different function name that will cancel the observable. - */ - clearFunction?: string; - /** - * This can be used if clearFunction is set. Set this to true to call the clearFunction with the same arguments used in the initial function. - */ - clearWithArgs?: boolean; - /** - * Creates an observable that wraps a global event. Replaces document.addEventListener - */ - eventObservable?: boolean; - /** - * Event name, this must be set if eventObservable is set to true - */ - event?: string; - /** - * Element to attach the event listener to, this is optional, defaults to `window` - */ - element?: any; - /** - * Set to true if the wrapped method returns a promise - */ - otherPromise?: boolean; - /** - * Supported platforms - */ - platforms?: string[]; -} - -export interface CordovaCheckOptions { - sync?: boolean; - observable?: boolean; -} - -/** - * @private - */ -export function InstanceCheck(opts: CordovaCheckOptions = {}) { - return (pluginObj: Object, methodName: string, descriptor: TypedPropertyDescriptor): TypedPropertyDescriptor => { - return { - value: function(...args: any[]): any { - if (instanceAvailability(this)) { - return descriptor.value.apply(this, args); - } else { - - if (opts.sync) { - return; - } else if (opts.observable) { - return new Observable(() => { }); - } - - return getPromise(() => { }); - - } - }, - enumerable: true - }; - }; -} - -/** - * Executes function only if plugin is available - * @private - */ -export function CordovaCheck(opts: CordovaCheckOptions = {}) { - return (pluginObj: Object, methodName: string, descriptor: TypedPropertyDescriptor): TypedPropertyDescriptor => { - return { - value: function(...args: any[]): any { - const check = checkAvailability(pluginObj); - if (check === true) { - return descriptor.value.apply(this, args); - } else { - if (opts.sync) { - return null; - } else if (opts.observable) { - return Observable.throw(new Error(check && check.error)); - } - return Promise.reject(check && check.error); - } - }, - enumerable: true - }; - }; -} - -/** - * @private - * - * Class decorator specifying Plugin metadata. Required for all plugins. - * - * @usage - * ```typescript - * @Plugin({ - * pluginName: 'MyPlugin', - * plugin: 'cordova-plugin-myplugin', - * pluginRef: 'window.myplugin' - * }) - * export class MyPlugin { - * - * // Plugin wrappers, properties, and functions go here ... - * - * } - * ``` - */ -export function Plugin(config: PluginConfig): ClassDecorator { - return function(cls: any) { - - // Add these fields to the class - for (let prop in config) { - cls[prop] = config[prop]; - } - - cls['installed'] = function(printWarning?: boolean) { - return !!getPlugin(config.pluginRef); - }; - - cls['getPlugin'] = function() { - return getPlugin(config.pluginRef); - }; - - cls['checkInstall'] = function() { - return checkAvailability(cls) === true; - }; - - cls['getPluginName'] = function() { - return config.pluginName; - }; - - cls['getPluginRef'] = function() { - return config.pluginRef; - }; - - cls['getPluginInstallName'] = function() { - return config.plugin; - }; - - cls['getPluginRepo'] = function() { - return config.repo; - }; - - cls['getSupportedPlatforms'] = function() { - return config.platforms; - }; - - return cls; - }; -} - -/** - * @private - * - * Wrap a stub function in a call to a Cordova plugin, checking if both Cordova - * and the required plugin are installed. - */ -export function Cordova(opts: CordovaOptions = {}) { - return (target: Object, methodName: string, descriptor: TypedPropertyDescriptor) => { - return { - value: function(...args: any[]) { - return wrap(this, methodName, opts).apply(this, args); - }, - enumerable: true - }; - }; -} - -/** - * @private - * - * Wrap an instance method - */ -export function CordovaInstance(opts: CordovaOptions = {}) { - return (target: Object, methodName: string) => { - return { - value: function(...args: any[]) { - return wrapInstance(this, methodName, opts).apply(this, args); - }, - enumerable: true - }; - }; -} - -/** - * @private - * - * - * Before calling the original method, ensure Cordova and the plugin are installed. - */ -export function CordovaProperty(target: any, key: string) { - Object.defineProperty(target, key, { - enumerable: true, - get: () => { - if (checkAvailability(target, key) === true) { - return getPlugin(target.constructor.getPluginRef())[key]; - } else { - return null; - } - }, - set: (value) => { - if (checkAvailability(target, key) === true) { - getPlugin(target.constructor.getPluginRef())[key] = value; - } - } - }); -} - -/** - * @private - * @param target - * @param key - * @constructor - */ -export function InstanceProperty(target: any, key: string) { - Object.defineProperty(target, key, { - enumerable: true, - get: function() { - return this._objectInstance[key]; - }, - set: function(value) { - this._objectInstance[key] = value; - } - }); -} - -/** - * @private - * - * Wrap a stub function in a call to a Cordova plugin, checking if both Cordova - * and the required plugin are installed. - */ -export function CordovaFunctionOverride(opts: any = {}) { - return (target: Object, methodName: string, descriptor: TypedPropertyDescriptor) => { - return { - value: function(...args: any[]) { - return overrideFunction(this, methodName, opts); - }, - enumerable: true - }; - }; -} - diff --git a/src/@ionic-native/core/decorators/common.spec.ts b/src/@ionic-native/core/decorators/common.spec.ts new file mode 100644 index 0000000000..8638174bbf --- /dev/null +++ b/src/@ionic-native/core/decorators/common.spec.ts @@ -0,0 +1,108 @@ +import { callCordovaPlugin, wrapInstance, wrapPromise } from './common'; +import 'rxjs/add/observable/of'; + +declare const window: any; + +class MockPlugin { + static getPluginRef(): string { + return 'mockPlugin'; + } + + static getPluginName(): string { + return 'MockPlugin'; + } + + static getPluginInstallName(): string { + return ''; + } + + create(): MockInstancePluginObject { + return new MockInstancePluginObject(); + } +} + +class MockInstancePluginObject { + _pluginInstance: MockCordovaPlugin; + + constructor() { + this._pluginInstance = new MockCordovaPlugin(); + } +} + +class MockCordovaPlugin { + static ping = jest.fn((arg: string) => 'pong'); + ping = jest.fn((arg: string) => 'pong'); + + static pingAsync = jest.fn((arg: string, success: Function, error: Function) => success('pong')); + pingAsync = jest.fn((arg: string, success: Function, error: Function) => success('pong')); +} + +describe('Common decorator functions', () => { + + let plugin: MockPlugin, + instancePluginObject: MockInstancePluginObject; + + beforeAll(() => { + window.mockPlugin = MockCordovaPlugin; + plugin = new MockPlugin(); + instancePluginObject = plugin.create(); + }); + + describe('callCordovaPlugin', () => { + test('should return value from cordova plugin', () => { + expect(callCordovaPlugin(plugin, 'ping', ['pingpong'])).toBe('pong'); + }); + + test('original method should have been called', () => { + expect(MockCordovaPlugin.ping.mock.calls.length).toBe(1); + }); + + test('original method should have received args', () => { + expect(MockCordovaPlugin.ping.mock.calls[0][0]).toBe('pingpong'); + }); + }); + + describe('wrapPromise', () => { + test('should return a promise that resolves with a value', async () => { + expect(await wrapPromise(plugin, 'pingAsync', ['pingpong'])).toBe('pong'); + }); + + test('original method should have been called', () => { + expect(MockCordovaPlugin.pingAsync.mock.calls.length).toBe(1); + }); + + test('original method should have received args', () => { + expect(MockCordovaPlugin.pingAsync.mock.calls[0][0]).toBe('pingpong'); + expect(typeof MockCordovaPlugin.pingAsync.mock.calls[0][1]).toBe('function'); + expect(typeof MockCordovaPlugin.pingAsync.mock.calls[0][2]).toBe('function'); + }); + }); + + describe('wrapObservable', () => { + test('should return an observable that emits a value', async () => { + + }); + + test('original method should have been called', () => {}); + + test('original method should have received args', () => {}); + }); + + describe('wrapEventObservable', () => { + test('should return an observable that wraps an event listener', async () => {}); + }); + + describe('callInstance', () => { + test('should call an instance method', async () => { + }); + + test('original method should have been called', () => { + // expect(instancePluginObject._pluginInstance.ping.mock.calls.length).toBe(1); + }); + + test('original method should have received args', () => { + // expect(instancePluginObject._pluginInstance.ping.mock.calls[0][0]).toBe('pingpong'); + }); + }); + +}); diff --git a/src/@ionic-native/core/plugin.ts b/src/@ionic-native/core/decorators/common.ts similarity index 80% rename from src/@ionic-native/core/plugin.ts rename to src/@ionic-native/core/decorators/common.ts index 4e5e6123a7..de095a27f5 100644 --- a/src/@ionic-native/core/plugin.ts +++ b/src/@ionic-native/core/decorators/common.ts @@ -1,18 +1,105 @@ -import { getPlugin, getPromise, cordovaWarn, pluginWarn } from './util'; -import { checkReady } from './bootstrap'; -import { CordovaOptions } from './decorators'; - +import { CordovaOptions } from './interfaces'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/observable/fromEvent'; -checkReady(); - -// declare const window; -// declare var Promise; - export const ERR_CORDOVA_NOT_AVAILABLE = { error: 'cordova_not_available' }; export const ERR_PLUGIN_NOT_INSTALLED = { error: 'plugin_not_installed' }; +export function getPromise(callback: Function) { + const tryNativePromise = () => { + if (Promise) { + return new Promise((resolve, reject) => { + callback(resolve, reject); + }); + } else { + console.error('No Promise support or polyfill found. To enable Ionic Native support, please add the es6-promise polyfill before this script, or run with a library like Angular or on a recent browser.'); + } + }; + + return tryNativePromise(); +} + +export function wrapPromise(pluginObj: any, methodName: string, args: any[], opts: CordovaOptions = {}) { + let pluginResult: any, rej: Function; + const p = getPromise((resolve: Function, reject: Function) => { + if (opts.destruct) { + pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, (...args: any[]) => resolve(args), (...args: any[]) => reject(args)); + } else { + pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, resolve, reject); + } + rej = reject; + }); + // Angular throws an error on unhandled rejection, but in this case we have already printed + // a warning that Cordova is undefined or the plugin is uninstalled, so there is no reason + // to error + if (pluginResult && pluginResult.error) { + p.catch(() => { }); + typeof rej === 'function' && rej(pluginResult.error); + } + return p; +} + +function wrapOtherPromise(pluginObj: any, methodName: string, args: any[], opts: any = {}) { + return getPromise((resolve: Function, reject: Function) => { + const pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts); + if (pluginResult) { + if (pluginResult.error) { + reject(pluginResult.error); + } else if (pluginResult.then) { + pluginResult.then(resolve).catch(reject); + } + } else { + reject({ error: 'unexpected_error' }); + } + }); +} + +function wrapObservable(pluginObj: any, methodName: string, args: any[], opts: any = {}) { + return new Observable(observer => { + let pluginResult; + + if (opts.destruct) { + pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, (...args: any[]) => observer.next(args), (...args: any[]) => observer.error(args)); + } else { + pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, observer.next.bind(observer), observer.error.bind(observer)); + } + + if (pluginResult && pluginResult.error) { + observer.error(pluginResult.error); + observer.complete(); + } + return () => { + try { + if (opts.clearFunction) { + if (opts.clearWithArgs) { + return callCordovaPlugin(pluginObj, opts.clearFunction, args, opts, observer.next.bind(observer), observer.error.bind(observer)); + } + return callCordovaPlugin(pluginObj, opts.clearFunction, []); + } + } catch (e) { + console.warn('Unable to clear the previous observable watch for', pluginObj.constructor.getPluginName(), methodName); + console.warn(e); + } + }; + }); +} + +/** + * Wrap the event with an observable + * @private + * @param event even name + * @param element The element to attach the event listener to + * @returns {Observable} + */ +function wrapEventObservable(event: string, element: any): Observable { + if (element) { + get(window, element); + } else { + element = window; + } + return Observable.fromEvent(element, event); +} + /** * Checks if plugin/cordova is available @@ -56,7 +143,7 @@ export function instanceAvailability(pluginObj: any, methodName?: string): boole return pluginObj._objectInstance && (!methodName || typeof pluginObj._objectInstance[methodName] !== 'undefined'); } -function setIndex(args: any[], opts: any = {}, resolve?: Function, reject?: Function): any { +export function setIndex(args: any[], opts: any = {}, resolve?: Function, reject?: Function): any { // ignore resolve and reject in case sync if (opts.sync) { return args; @@ -117,7 +204,7 @@ function setIndex(args: any[], opts: any = {}, resolve?: Function, reject?: Func return args; } -function callCordovaPlugin(pluginObj: any, methodName: string, args: any[], opts: any = {}, resolve?: Function, reject?: Function) { +export function callCordovaPlugin(pluginObj: any, methodName: string, args: any[], opts: any = {}, resolve?: Function, reject?: Function) { // Try to figure out where the success/error callbacks need to be bound // to our promise resolve/reject handlers. args = setIndex(args, opts, resolve, reject); @@ -133,72 +220,7 @@ function callCordovaPlugin(pluginObj: any, methodName: string, args: any[], opts } -function wrapPromise(pluginObj: any, methodName: string, args: any[], opts: any = {}) { - let pluginResult: any, rej: Function; - const p = getPromise((resolve: Function, reject: Function) => { - if (opts.destruct) { - pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, (...args: any[]) => resolve(args), (...args: any[]) => reject(args)); - } else { - pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, resolve, reject); - } - rej = reject; - }); - // Angular throws an error on unhandled rejection, but in this case we have already printed - // a warning that Cordova is undefined or the plugin is uninstalled, so there is no reason - // to error - if (pluginResult && pluginResult.error) { - p.catch(() => { }); - typeof rej === 'function' && rej(pluginResult.error); - } - return p; -} - -function wrapOtherPromise(pluginObj: any, methodName: string, args: any[], opts: any = {}) { - return getPromise((resolve: Function, reject: Function) => { - const pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts); - if (pluginResult) { - if (pluginResult.error) { - reject(pluginResult.error); - } else if (pluginResult.then) { - pluginResult.then(resolve).catch(reject); - } - } else { - reject({ error: 'unexpected_error' }); - } - }); -} - -function wrapObservable(pluginObj: any, methodName: string, args: any[], opts: any = {}) { - return new Observable(observer => { - let pluginResult; - - if (opts.destruct) { - pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, (...args: any[]) => observer.next(args), (...args: any[]) => observer.error(args)); - } else { - pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, observer.next.bind(observer), observer.error.bind(observer)); - } - - if (pluginResult && pluginResult.error) { - observer.error(pluginResult.error); - observer.complete(); - } - return () => { - try { - if (opts.clearFunction) { - if (opts.clearWithArgs) { - return callCordovaPlugin(pluginObj, opts.clearFunction, args, opts, observer.next.bind(observer), observer.error.bind(observer)); - } - return callCordovaPlugin(pluginObj, opts.clearFunction, []); - } - } catch (e) { - console.warn('Unable to clear the previous observable watch for', pluginObj.constructor.getPluginName(), methodName); - console.warn(e); - } - }; - }); -} - -function callInstance(pluginObj: any, methodName: string, args: any[], opts: any = {}, resolve?: Function, reject?: Function) { +export function callInstance(pluginObj: any, methodName: string, args: any[], opts: any = {}, resolve?: Function, reject?: Function) { args = setIndex(args, opts, resolve, reject); @@ -208,43 +230,44 @@ function callInstance(pluginObj: any, methodName: string, args: any[], opts: any } -/** - * Wrap the event with an observable - * @private - * @param event even name - * @param element The element to attach the event listener to - * @returns {Observable} - */ -export function wrapEventObservable(event: string, element: any = window): Observable { - return Observable.fromEvent(element, event); +export function getPlugin(pluginRef: string): any { + return get(window, pluginRef); +} + +export function get(element: Element | Window, path: string) { + const paths: string[] = path.split('.'); + let obj: any = element; + for (let i: number = 0; i < paths.length; i++) { + if (!obj) { return null; } + obj = obj[paths[i]]; + } + return obj; +} + +export function pluginWarn(pluginName: string, plugin?: string, method?: string): void { + if (method) { + console.warn('Native: tried calling ' + pluginName + '.' + method + ', but the ' + pluginName + ' plugin is not installed.'); + } else { + console.warn('Native: tried accessing the ' + pluginName + ' plugin but it\'s not installed.'); + } + if (plugin) { + console.warn('Install the ' + pluginName + ' plugin: \'ionic cordova plugin add ' + plugin + '\''); + } } /** - * Certain plugins expect the user to override methods in the plugin. For example, - * window.cordova.plugins.backgroundMode.onactivate = function() { ... }. - * - * Unfortunately, this is brittle and would be better wrapped as an Observable. overrideFunction - * does just this. * @private + * @param pluginName + * @param method */ -export function overrideFunction(pluginObj: any, methodName: string, args: any[], opts: any = {}): Observable { - return new Observable(observer => { - - const availabilityCheck = checkAvailability(pluginObj, methodName); - - if (availabilityCheck === true) { - const pluginInstance = getPlugin(pluginObj.constructor.getPluginRef()); - pluginInstance[methodName] = observer.next.bind(observer); - return () => pluginInstance[methodName] = () => { }; - } else { - observer.error(availabilityCheck); - observer.complete(); - } - - }); +export function cordovaWarn(pluginName: string, method?: string): void { + if (method) { + console.warn('Native: tried calling ' + pluginName + '.' + method + ', but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'); + } else { + console.warn('Native: tried accessing the ' + pluginName + ' plugin but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'); + } } - /** * @private */ @@ -288,7 +311,6 @@ export function wrapInstance(pluginObj: any, methodName: string, opts: any = {}) if (pluginResult && pluginResult.error) { observer.error(pluginResult.error); - observer.complete(); } return () => { diff --git a/src/@ionic-native/core/decorators/cordova-function-override.ts b/src/@ionic-native/core/decorators/cordova-function-override.ts new file mode 100644 index 0000000000..54bb3bc1b4 --- /dev/null +++ b/src/@ionic-native/core/decorators/cordova-function-override.ts @@ -0,0 +1,23 @@ +import { checkAvailability, getPlugin } from './common'; +import { Observable } from 'rxjs/Observable'; + +function overrideFunction(pluginObj: any, methodName: string): Observable { + return new Observable(observer => { + + const availabilityCheck = checkAvailability(pluginObj, methodName); + + if (availabilityCheck === true) { + const pluginInstance = getPlugin(pluginObj.constructor.getPluginRef()); + pluginInstance[methodName] = observer.next.bind(observer); + return () => pluginInstance[methodName] = () => { }; + } else { + observer.error(availabilityCheck); + observer.complete(); + } + + }); +} + +export function cordovaFunctionOverride(pluginObj: any, methodName: string, args: IArguments | Array = []) { + return overrideFunction(pluginObj, methodName); +} diff --git a/src/@ionic-native/core/decorators/cordova-instance.ts b/src/@ionic-native/core/decorators/cordova-instance.ts new file mode 100644 index 0000000000..ff6efa61b8 --- /dev/null +++ b/src/@ionic-native/core/decorators/cordova-instance.ts @@ -0,0 +1,7 @@ +import { CordovaOptions } from './interfaces'; +import { wrapInstance } from './common'; + +export function cordovaInstance(pluginObj: any, methodName: string, config: CordovaOptions, args: IArguments | Array) { + args = Array.from(args); + return wrapInstance(pluginObj, methodName, config).apply(this, args); +} diff --git a/src/@ionic-native/core/decorators/cordova-property.ts b/src/@ionic-native/core/decorators/cordova-property.ts new file mode 100644 index 0000000000..9cc51a8189 --- /dev/null +++ b/src/@ionic-native/core/decorators/cordova-property.ts @@ -0,0 +1,14 @@ +import { checkAvailability, getPlugin } from './common'; + +export function cordovaPropertyGet(pluginObj: any, key: string) { + if (checkAvailability(pluginObj, key) === true) { + return getPlugin(pluginObj.constructor.getPluginRef())[key]; + } + return null; +} + +export function cordovaPropertySet(pluginObj: any, key: string, value: any) { + if (checkAvailability(pluginObj, key) === true) { + getPlugin(pluginObj.constructor.getPluginRef())[key] = value; + } +} diff --git a/src/@ionic-native/core/decorators/cordova.ts b/src/@ionic-native/core/decorators/cordova.ts new file mode 100644 index 0000000000..fe823d1474 --- /dev/null +++ b/src/@ionic-native/core/decorators/cordova.ts @@ -0,0 +1,6 @@ +import { CordovaOptions } from './interfaces'; +import { wrap } from './common'; + +export function cordova(pluginObj: any, methodName: string, config: CordovaOptions, args: IArguments | Array) { + return wrap(pluginObj, methodName, config).apply(this, args); +} diff --git a/src/@ionic-native/core/decorators/instance-property.ts b/src/@ionic-native/core/decorators/instance-property.ts new file mode 100644 index 0000000000..6d54ac6a1b --- /dev/null +++ b/src/@ionic-native/core/decorators/instance-property.ts @@ -0,0 +1,12 @@ +export function instancePropertyGet(pluginObj: any, key: string) { + if (!!pluginObj._objectInstance && !!pluginObj._objectInstance[key]) { + return pluginObj._objectInstance[key]; + } + return null; +} + +export function instancePropertySet(pluginObj: any, key: string, value: any) { + if (!!pluginObj._objectInstance && !!pluginObj._objectInstance[key]) { + pluginObj._objectInstance[key] = value; + } +} diff --git a/src/@ionic-native/core/decorators/interfaces.ts b/src/@ionic-native/core/decorators/interfaces.ts new file mode 100644 index 0000000000..487ee026a2 --- /dev/null +++ b/src/@ionic-native/core/decorators/interfaces.ts @@ -0,0 +1,105 @@ +export interface PluginConfig { + /** + * Plugin name, this should match the class name + */ + pluginName: string; + /** + * Plugin NPM package name + */ + plugin: string; + /** + * Plugin object reference + */ + pluginRef?: string; + /** + * Github repository URL + */ + repo?: string; + /** + * Custom install command + */ + install?: string; + /** + * Available installation variables + */ + installVariables?: string[]; + /** + * Supported platforms + */ + platforms?: string[]; + + [key: string]: any; +} + +export interface CordovaOptions { + destruct?: boolean; + /** + * Set to true if the wrapped method is a sync function + */ + sync?: boolean; + /** + * Callback order. Set to reverse if the success/error callbacks are the first 2 arguments that the wrapped method takes. + */ + callbackOrder?: 'reverse'; + /** + * Callback style + */ + callbackStyle?: 'node' | 'object'; + /** + * Set a custom index for the success callback function. This doesn't work if callbackOrder or callbackStyle are set. + */ + successIndex?: number; + /** + * Set a custom index for the error callback function. This doesn't work if callbackOrder or callbackStyle are set. + */ + errorIndex?: number; + /** + * Success function property name. This must be set if callbackStyle is set to object. + */ + successName?: string; + /** + * Error function property name. This must be set if callbackStyle is set to object. + */ + errorName?: string; + /** + * Set to true to return an observable + */ + observable?: boolean; + /** + * If observable is set to true, this can be set to a different function name that will cancel the observable. + */ + clearFunction?: string; + /** + * This can be used if clearFunction is set. Set this to true to call the clearFunction with the same arguments used in the initial function. + */ + clearWithArgs?: boolean; + /** + * Creates an observable that wraps a global event. Replaces document.addEventListener + */ + eventObservable?: boolean; + /** + * Event name, this must be set if eventObservable is set to true + */ + event?: string; + /** + * Element to attach the event listener to, this is optional, defaults to `window` + */ + element?: any; + /** + * Set to true if the wrapped method returns a promise + */ + otherPromise?: boolean; + /** + * Supported platforms + */ + platforms?: string[]; +} + +export declare const Plugin: (config: PluginConfig) => ClassDecorator; +export declare const Cordova: (config?: CordovaOptions) => MethodDecorator; +export declare const CordovaProperty: () => PropertyDecorator; +export declare const CordovaInstance: (config?: CordovaOptions) => MethodDecorator; +export declare const InstanceProperty: () => PropertyDecorator; +export declare const CordovaCheck: (config?: CordovaOptions) => MethodDecorator; +export declare const InstanceCheck: (config?: CordovaOptions) => MethodDecorator; +export declare const CordovaFunctionOverride: () => MethodDecorator; diff --git a/src/@ionic-native/core/index.ts b/src/@ionic-native/core/index.ts index e6e1ab8520..3a3740e0d7 100644 --- a/src/@ionic-native/core/index.ts +++ b/src/@ionic-native/core/index.ts @@ -1,4 +1,14 @@ -export * from './plugin'; -export * from './decorators'; -export * from './util'; -export * from './ionic-native-plugin'; +import { checkReady } from './bootstrap'; + +export { IonicNativePlugin } from './ionic-native-plugin'; + +// Decorators +export { checkAvailability, instanceAvailability, wrap, getPromise } from './decorators/common'; +export * from './decorators/cordova'; +export * from './decorators/cordova-function-override'; +export * from './decorators/cordova-instance'; +export * from './decorators/cordova-property'; +export * from './decorators/instance-property'; +export * from './decorators/interfaces'; + +checkReady(); diff --git a/src/@ionic-native/core/ionic-native-plugin.spec.ts b/src/@ionic-native/core/ionic-native-plugin.spec.ts deleted file mode 100644 index 69df51ce8a..0000000000 --- a/src/@ionic-native/core/ionic-native-plugin.spec.ts +++ /dev/null @@ -1,69 +0,0 @@ -// This is to verify that new (FileTransfer.getPlugin)() works - -import { Plugin, CordovaInstance } from './decorators'; -import { checkAvailability } from './plugin'; -import { IonicNativePlugin } from './ionic-native-plugin'; - -class FT { - hello(): string { - return 'world'; - } -} - -(window as any).FileTransfer = () => new FT(); - -@Plugin({ - plugin: 'cordova-plugin-file-transfer', - pluginRef: 'FileTransfer', - repo: '', - pluginName: 'FileTransfer' -}) -export class FileTransfer extends IonicNativePlugin { - create(): FileTransferObject { - let instance: any; - if (checkAvailability(FileTransfer.getPluginRef(), null, FileTransfer.getPluginName()) === true) { - instance = new (FileTransfer.getPlugin())(); - } - return new FileTransferObject(instance); - } -} - -export class FileTransferObject { - - constructor(public _objectInstance: any) { - console.info('Creating a new FileTransferObject with instance: ', _objectInstance); - } - - @CordovaInstance({ sync: true }) - hello(): string { return; } - -} - -describe('Mock FileTransfer Plugin', () => { - - let plugin: FileTransfer, - instance: FileTransferObject; - - beforeAll(() => { - plugin = new FileTransfer(); - instance = plugin.create(); - }); - - it('should create a new FileTransfer plugin instance', () => { - expect(plugin instanceof FileTransfer).toBeTruthy(); - }); - - it('should create new FileTransferObject instance', () => { - expect(instance instanceof FileTransferObject).toBeTruthy(); - }); - - it('FileTransferObject instance should have _objectInstance property', () => { - expect(instance._objectInstance).toBeDefined(); - }); - - it('FileTransferObject.hello should return world', () => { - console.info('instance hello is', instance.hello()); - expect(instance.hello()).toEqual('world'); - }); - -}); diff --git a/src/@ionic-native/core/ionic-native-plugin.ts b/src/@ionic-native/core/ionic-native-plugin.ts index ed62979b38..fd361b933c 100644 --- a/src/@ionic-native/core/ionic-native-plugin.ts +++ b/src/@ionic-native/core/ionic-native-plugin.ts @@ -1,3 +1,6 @@ +import { checkAvailability } from './decorators/common'; +import { get } from './util'; + export class IonicNativePlugin { static pluginName: string; @@ -16,31 +19,31 @@ export class IonicNativePlugin { * Returns a boolean that indicates whether the plugin is installed * @return {boolean} */ - static installed(): boolean { return false; } + static installed(): boolean { return checkAvailability(this.pluginRef) === true; } /** * Returns the original plugin object */ - static getPlugin(): any { } + static getPlugin(): any { return get(window, this.pluginRef); } /** * Returns the plugin's name */ - static getPluginName(): string { return; } + static getPluginName(): string { return this.pluginName; } /** * Returns the plugin's reference */ - static getPluginRef(): string { return; } + static getPluginRef(): string { return this.pluginRef; } /** * Returns the plugin's install name */ - static getPluginInstallName(): string { return; } + static getPluginInstallName(): string { return this.plugin; } /** * Returns the plugin's supported platforms */ - static getSupportedPlatforms(): string[] { return; } + static getSupportedPlatforms(): string[] { return this.platforms || []; } } diff --git a/src/@ionic-native/core/ng1.ts b/src/@ionic-native/core/ng1.ts new file mode 100644 index 0000000000..edf4fe3c5b --- /dev/null +++ b/src/@ionic-native/core/ng1.ts @@ -0,0 +1,25 @@ +declare const window: any; + +/** + * Initialize the ionic.native Angular module if we're running in ng1. + * This iterates through the list of registered plugins and dynamically + * creates Angular 1 services of the form $cordovaSERVICE, ex: $cordovaStatusBar. + */ +export function initAngular1(plugins: any) { + if (window.angular) { + const ngModule = window.angular.module('ionic.native', []); + + for (const name in plugins) { + let serviceName = '$cordova' + name; + let cls = plugins[name]; + + (function(serviceName, cls, name) { + ngModule.service(serviceName, [function() { + const funcs = window.angular.copy(cls); + funcs.__proto__['name'] = name; + return funcs; + }]); + })(serviceName, cls, name); + } + } +} diff --git a/src/@ionic-native/core/util.ts b/src/@ionic-native/core/util.ts index eddedaaaa2..bc28b44e4f 100644 --- a/src/@ionic-native/core/util.ts +++ b/src/@ionic-native/core/util.ts @@ -3,7 +3,7 @@ declare const window: any; /** * @private */ -export const get = (element: Element | Window, path: string): any => { +export function get(element: Element | Window, path: string) { const paths: string[] = path.split('.'); let obj: any = element; for (let i: number = 0; i < paths.length; i++) { @@ -11,17 +11,17 @@ export const get = (element: Element | Window, path: string): any => { obj = obj[paths[i]]; } return obj; -}; +} /** * @private */ -export const getPromise = (callback: Function): Promise => { +export function getPromise(callback: Function = () => {}): Promise { const tryNativePromise = () => { if (window.Promise) { - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { callback(resolve, reject); }); } else { @@ -30,40 +30,4 @@ export const getPromise = (callback: Function): Promise => { }; return tryNativePromise(); -}; - -/** - * @private - * @param pluginRef - * @returns {null|*} - */ -export const getPlugin = (pluginRef: string): any => { - return get(window, pluginRef); -}; - -/** - * @private - */ -export const pluginWarn = (pluginName: string, plugin?: string, method?: string): void => { - if (method) { - console.warn('Native: tried calling ' + pluginName + '.' + method + ', but the ' + pluginName + ' plugin is not installed.'); - } else { - console.warn('Native: tried accessing the ' + pluginName + ' plugin but it\'s not installed.'); - } - if (plugin) { - console.warn('Install the ' + pluginName + ' plugin: \'ionic cordova plugin add ' + plugin + '\''); - } -}; - -/** - * @private - * @param pluginName - * @param method - */ -export const cordovaWarn = (pluginName: string, method?: string): void => { - if (method) { - console.warn('Native: tried calling ' + pluginName + '.' + method + ', but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'); - } else { - console.warn('Native: tried accessing the ' + pluginName + ' plugin but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'); - } -}; +} diff --git a/src/@ionic-native/plugins/action-sheet/index.ts b/src/@ionic-native/plugins/action-sheet/index.ts index 28c33d8298..1eb8e86810 100644 --- a/src/@ionic-native/plugins/action-sheet/index.ts +++ b/src/@ionic-native/plugins/action-sheet/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface ActionSheetOptions { @@ -80,7 +80,7 @@ export interface ActionSheetOptions { * addDestructiveButtonWithLabel: 'Delete', * androidTheme: this.actionSheet.ANDROID_THEMES.THEME_HOLO_DARK, * destructiveButtonLast: true - * }; + * } * * this.actionSheet.show(options).then((buttonIndex: number) => { * console.log('Button pressed: ' + buttonIndex); @@ -123,7 +123,9 @@ export class ActionSheet extends IonicNativePlugin { * button pressed (1 based, so 1, 2, 3, etc.) */ @Cordova() - show(options?: ActionSheetOptions): Promise { return; } + show(options?: ActionSheetOptions): Promise { + return; + } /** @@ -131,5 +133,7 @@ export class ActionSheet extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves when the actionsheet is closed */ @Cordova() - hide(options?: any): Promise { return; } + hide(options?: any): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/admob-free/index.ts b/src/@ionic-native/plugins/admob-free/index.ts index bcd059b3d2..292eac08df 100644 --- a/src/@ionic-native/plugins/admob-free/index.ts +++ b/src/@ionic-native/plugins/admob-free/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/observable/fromEvent'; @@ -64,112 +64,6 @@ export interface AdMobFreeRewardVideoConfig { autoShow?: boolean; } -/** - * @name AdMob Free - * @description - * - * @usage - * ```typescript - * import { AdMobFree, AdMobFreeBannerConfig } from '@ionic-native/admob-free'; - * - * - * constructor(private admobFree: AdMobFree) { } - * - * - * ... - * - * - * const bannerConfig: AdMobFreeBannerConfig = { - * // add your config here - * // for the sake of this example we will just use the test config - * isTesting: true, - * autoShow: true - * }; - * this.admobFree.banner.config(bannerConfig); - * - * this.admobFree.banner.prepare() - * .then(() => { - * // banner Ad is ready - * // if we set autoShow to false, then we will need to call the show method here - * }) - * .catch(e => console.log(e)); - * - * - * ``` - * @interfaces - * AdMobFreeBannerConfig - * AdMobFreeInterstitialConfig - * AdMobFreeRewardVideoConfig - * @classes - * AdMobFreeBanner - * AdMobFreeInterstitial - * AdMobFreeRewardVideo - */ -@Plugin({ - pluginName: 'AdMobFree', - plugin: 'cordova-plugin-admob-free', - pluginRef: 'admob', - repo: 'https://github.com/ratson/cordova-plugin-admob-free', - platforms: ['Android', 'iOS'] -}) -@Injectable() -export class AdMobFree extends IonicNativePlugin { - - /** - * Convenience object to get event names - * @type {Object} - */ - events: any = { - BANNER_LOAD: 'admob.banner.events.LOAD', - BANNER_LOAD_FAIL: 'admob.banner.events.LOAD_FAIL', - BANNER_OPEN: 'admob.banner.events.OPEN', - BANNER_CLOSE: 'admob.banner.events.CLOSE', - BANNER_EXIT_APP: 'admob.banner.events.EXIT_APP', - - INTERSTITIAL_LOAD: 'admob.interstitial.events.LOAD', - INTERSTITIAL_LOAD_FAIL: 'admob.interstitial.events.LOAD_FAIL', - INTERSTITIAL_OPEN: 'admob.interstitial.events.OPEN', - INTERSTITIAL_CLOSE: 'admob.interstitial.events.CLOSE', - INTERSTITIAL_EXIT_APP: 'admob.interstitial.events.EXIT_APP', - - REWARD_VIDEO_LOAD: 'admob.rewardvideo.events.LOAD', - REWARD_VIDEO_LOAD_FAIL: 'admob.rewardvideo.events.LOAD_FAIL', - REWARD_VIDEO_OPEN: 'admob.rewardvideo.events.OPEN', - REWARD_VIDEO_CLOSE: 'admob.rewardvideo.events.CLOSE', - REWARD_VIDEO_EXIT_APP: 'admob.rewardvideo.events.EXIT_APP', - REWARD_VIDEO_START: 'admob.rewardvideo.events.START', - REWARD_VIDEO_REWARD: 'admob.rewardvideo.events.REWARD' - }; - - /** - * Watch an event - * @param event {string} event name - * @return {Observable} - */ - on(event: string): Observable { - return Observable.fromEvent(document, event); - } - - /** - * Returns the AdMobFreeBanner object - * @type {AdMobFreeBanner} - */ - banner: AdMobFreeBanner = new AdMobFreeBanner(); - - /** - * Returns the AdMobFreeInterstitial object - * @type {AdMobFreeInterstitial} - */ - interstitial: AdMobFreeInterstitial = new AdMobFreeInterstitial(); - - /** - * Returns the AdMobFreeRewardVideo object - * @type {AdMobFreeRewardVideo} - */ - rewardVideo: AdMobFreeRewardVideo = new AdMobFreeRewardVideo(); - -} - /** * @hidden */ @@ -186,35 +80,45 @@ export class AdMobFreeBanner { * @return {AdMobFreeBannerConfig} */ @Cordova({ sync: true }) - config(options: AdMobFreeBannerConfig): AdMobFreeBannerConfig { return; } + config(options: AdMobFreeBannerConfig): AdMobFreeBannerConfig { + return; + } /** * Hide the banner. * @return {Promise} */ @Cordova({ otherPromise: true }) - hide(): Promise { return; } + hide(): Promise { + return; + } /** * Create banner. * @return {Promise} */ @Cordova({ otherPromise: true }) - prepare(): Promise { return; } + prepare(): Promise { + return; + } /** * Remove the banner. * @return {Promise} */ @Cordova({ otherPromise: true }) - remove(): Promise { return; } + remove(): Promise { + return; + } /** * Show the banner. * @return {Promise} */ @Cordova({ otherPromise: true }) - show(): Promise { return; } + show(): Promise { + return; + } } @@ -234,28 +138,36 @@ export class AdMobFreeInterstitial { * @return {AdMobFreeInterstitialConfig} */ @Cordova({ sync: true }) - config(options: AdMobFreeInterstitialConfig): AdMobFreeInterstitialConfig { return; } + config(options: AdMobFreeInterstitialConfig): AdMobFreeInterstitialConfig { + return; + } /** * Check if interstitial is ready * @return {Promise} */ @Cordova({ otherPromise: true }) - isReady(): Promise { return; } + isReady(): Promise { + return; + } /** * Prepare interstitial * @return {Promise} */ @Cordova({ otherPromise: true }) - prepare(): Promise { return; } + prepare(): Promise { + return; + } /** * Show the interstitial * @return {Promise} */ @Cordova({ otherPromise: true }) - show(): Promise { return; } + show(): Promise { + return; + } } @@ -275,27 +187,138 @@ export class AdMobFreeRewardVideo { * @return {AdMobFreeRewardVideoConfig} */ @Cordova({ sync: true }) - config(options: AdMobFreeRewardVideoConfig): AdMobFreeRewardVideoConfig { return; } + config(options: AdMobFreeRewardVideoConfig): AdMobFreeRewardVideoConfig { + return; + } /** * Check if reward video is ready * @return {Promise} */ @Cordova({ otherPromise: true }) - isReady(): Promise { return; } + isReady(): Promise { + return; + } /** * Prepare reward video * @return {Promise} */ @Cordova({ otherPromise: true }) - prepare(): Promise { return; } + prepare(): Promise { + return; + } /** * Show the reward video * @return {Promise} */ @Cordova({ otherPromise: true }) - show(): Promise { return; } + show(): Promise { + return; + } + +} + +/** + * @name AdMob Free + * @description + * + * @usage + * ```typescript + * import { AdMobFree, AdMobFreeBannerConfig } from '@ionic-native/admob-free'; + * + * + * constructor(private admobFree: AdMobFree) { } + * + * + * ... + * + * + * const bannerConfig: AdMobFreeBannerConfig = { + * // add your config here + * // for the sake of this example we will just use the test config + * isTesting: true, + * autoShow: true + * } + * this.admobFree.banner.config(bannerConfig); + * + * this.admobFree.banner.prepare() + * .then(() => { + * // banner Ad is ready + * // if we set autoShow to false, then we will need to call the show method here + * }) + * .catch(e => console.log(e)); + * + * + * ``` + * @interfaces + * AdMobFreeBannerConfig + * AdMobFreeInterstitialConfig + * AdMobFreeRewardVideoConfig + * @classes + * AdMobFreeBanner + * AdMobFreeInterstitial + * AdMobFreeRewardVideo + */ +@Plugin({ + pluginName: 'AdMobFree', + plugin: 'cordova-plugin-admob-free', + pluginRef: 'admob', + repo: 'https://github.com/ratson/cordova-plugin-admob-free', + platforms: ['Android', 'iOS'] +}) +@Injectable() +export class AdMobFree extends IonicNativePlugin { + + /** + * Convenience object to get event names + * @type {Object} + */ + events: any = { + BANNER_LOAD: 'admob.banner.events.LOAD', + BANNER_LOAD_FAIL: 'admob.banner.events.LOAD_FAIL', + BANNER_OPEN: 'admob.banner.events.OPEN', + BANNER_CLOSE: 'admob.banner.events.CLOSE', + BANNER_EXIT_APP: 'admob.banner.events.EXIT_APP', + + INTERSTITIAL_LOAD: 'admob.interstitial.events.LOAD', + INTERSTITIAL_LOAD_FAIL: 'admob.interstitial.events.LOAD_FAIL', + INTERSTITIAL_OPEN: 'admob.interstitial.events.OPEN', + INTERSTITIAL_CLOSE: 'admob.interstitial.events.CLOSE', + INTERSTITIAL_EXIT_APP: 'admob.interstitial.events.EXIT_APP', + + REWARD_VIDEO_LOAD: 'admob.rewardvideo.events.LOAD', + REWARD_VIDEO_LOAD_FAIL: 'admob.rewardvideo.events.LOAD_FAIL', + REWARD_VIDEO_OPEN: 'admob.rewardvideo.events.OPEN', + REWARD_VIDEO_CLOSE: 'admob.rewardvideo.events.CLOSE', + REWARD_VIDEO_EXIT_APP: 'admob.rewardvideo.events.EXIT_APP', + REWARD_VIDEO_START: 'admob.rewardvideo.events.START', + REWARD_VIDEO_REWARD: 'admob.rewardvideo.events.REWARD' + }; + /** + * Returns the AdMobFreeBanner object + * @type {AdMobFreeBanner} + */ + banner: AdMobFreeBanner = new AdMobFreeBanner(); + /** + * Returns the AdMobFreeInterstitial object + * @type {AdMobFreeInterstitial} + */ + interstitial: AdMobFreeInterstitial = new AdMobFreeInterstitial(); + /** + * Returns the AdMobFreeRewardVideo object + * @type {AdMobFreeRewardVideo} + */ + rewardVideo: AdMobFreeRewardVideo = new AdMobFreeRewardVideo(); + + /** + * Watch an event + * @param event {string} event name + * @return {Observable} + */ + on(event: string): Observable { + return Observable.fromEvent(document, event); + } } diff --git a/src/@ionic-native/plugins/admob-pro/index.ts b/src/@ionic-native/plugins/admob-pro/index.ts index ad9c66b1d0..c4cfafc08c 100644 --- a/src/@ionic-native/plugins/admob-pro/index.ts +++ b/src/@ionic-native/plugins/admob-pro/index.ts @@ -1,8 +1,15 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; -export type AdSize = 'SMART_BANNER' | 'BANNER' | 'MEDIUM_RECTANGLE' | 'FULL_BANNER' | 'LEADERBOARD' | 'SKYSCRAPER' | 'CUSTOM'; +export type AdSize = + 'SMART_BANNER' + | 'BANNER' + | 'MEDIUM_RECTANGLE' + | 'FULL_BANNER' + | 'LEADERBOARD' + | 'SKYSCRAPER' + | 'CUSTOM'; export interface AdMobOptions { @@ -167,7 +174,9 @@ export class AdMobPro extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves when the banner is created */ @Cordova() - createBanner(adIdOrOptions: string | AdMobOptions): Promise { return; } + createBanner(adIdOrOptions: string | AdMobOptions): Promise { + return; + } /** * Destroy the banner, remove it from screen. @@ -175,7 +184,8 @@ export class AdMobPro extends IonicNativePlugin { @Cordova({ sync: true }) - removeBanner(): void { } + removeBanner(): void { + } /** * Show banner at position @@ -184,7 +194,8 @@ export class AdMobPro extends IonicNativePlugin { @Cordova({ sync: true }) - showBanner(position: number): void { } + showBanner(position: number): void { + } /** * Show banner at custom position @@ -194,7 +205,8 @@ export class AdMobPro extends IonicNativePlugin { @Cordova({ sync: true }) - showBannerAtXY(x: number, y: number): void { } + showBannerAtXY(x: number, y: number): void { + } /** * Hide the banner, remove it from screen, but can show it later @@ -202,7 +214,8 @@ export class AdMobPro extends IonicNativePlugin { @Cordova({ sync: true }) - hideBanner(): void { } + hideBanner(): void { + } /** * Prepare interstitial banner @@ -210,7 +223,9 @@ export class AdMobPro extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves when interstitial is prepared */ @Cordova() - prepareInterstitial(adIdOrOptions: string | AdMobOptions): Promise { return; } + prepareInterstitial(adIdOrOptions: string | AdMobOptions): Promise { + return; + } /** * Show interstitial ad when it's ready @@ -218,7 +233,8 @@ export class AdMobPro extends IonicNativePlugin { @Cordova({ sync: true }) - showInterstitial(): void { } + showInterstitial(): void { + } /** * Prepare a reward video ad @@ -226,7 +242,9 @@ export class AdMobPro extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves when the ad is prepared */ @Cordova() - prepareRewardVideoAd(adIdOrOptions: string | AdMobOptions): Promise { return; } + prepareRewardVideoAd(adIdOrOptions: string | AdMobOptions): Promise { + return; + } /** * Show a reward video ad @@ -234,7 +252,8 @@ export class AdMobPro extends IonicNativePlugin { @Cordova({ sync: true }) - showRewardVideoAd(): void { } + showRewardVideoAd(): void { + } /** * Sets the values for configuration and targeting @@ -242,14 +261,18 @@ export class AdMobPro extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves when the options have been set */ @Cordova() - setOptions(options: AdMobOptions): Promise { return; } + setOptions(options: AdMobOptions): Promise { + return; + } /** * Get user ad settings * @returns {Promise} Returns a promise that resolves with the ad settings */ @Cordova() - getAdSettings(): Promise { return; } + getAdSettings(): Promise { + return; + } /** * Triggered when failed to receive Ad @@ -258,9 +281,11 @@ export class AdMobPro extends IonicNativePlugin { @Cordova({ eventObservable: true, event: 'onAdFailLoad', - element: document + element: 'document' }) - onAdFailLoad(): Observable { return; } + onAdFailLoad(): Observable { + return; + } /** * Triggered when Ad received @@ -269,9 +294,11 @@ export class AdMobPro extends IonicNativePlugin { @Cordova({ eventObservable: true, event: 'onAdLoaded', - element: document + element: 'document' }) - onAdLoaded(): Observable { return; } + onAdLoaded(): Observable { + return; + } /** * Triggered when Ad will be showed on screen @@ -280,9 +307,11 @@ export class AdMobPro extends IonicNativePlugin { @Cordova({ eventObservable: true, event: 'onAdPresent', - element: document + element: 'document' }) - onAdPresent(): Observable { return; } + onAdPresent(): Observable { + return; + } /** * Triggered when user click the Ad, and will jump out of your App @@ -291,9 +320,11 @@ export class AdMobPro extends IonicNativePlugin { @Cordova({ eventObservable: true, event: 'onAdLeaveApp', - element: document + element: 'document' }) - onAdLeaveApp(): Observable { return; } + onAdLeaveApp(): Observable { + return; + } /** * Triggered when dismiss the Ad and back to your App @@ -302,8 +333,10 @@ export class AdMobPro extends IonicNativePlugin { @Cordova({ eventObservable: true, event: 'onAdDismiss', - element: document + element: 'document' }) - onAdDismiss(): Observable { return; } + onAdDismiss(): Observable { + return; + } } diff --git a/src/@ionic-native/plugins/alipay/index.ts b/src/@ionic-native/plugins/alipay/index.ts index c0e517e613..c73ef77b22 100644 --- a/src/@ionic-native/plugins/alipay/index.ts +++ b/src/@ionic-native/plugins/alipay/index.ts @@ -1,8 +1,7 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; - export interface AlipayOrder { /** * appId assigned by Alipay @@ -77,7 +76,7 @@ export interface AlipayOrder { * // Should get from server side with sign. * const alipayOrder: AlipayOrder = { * ... - * }; + * } * * * this.alipay.pay(alipayOrder) @@ -113,5 +112,7 @@ export class Alipay extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with the success return, or rejects with an error. */ @Cordova() - pay(order: AlipayOrder | string): Promise { return; } + pay(order: AlipayOrder | string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/android-exoplayer/index.ts b/src/@ionic-native/plugins/android-exoplayer/index.ts index 26fe488316..6020e0ebad 100644 --- a/src/@ionic-native/plugins/android-exoplayer/index.ts +++ b/src/@ionic-native/plugins/android-exoplayer/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export type AndroidExoPlayerAspectRatio = 'FILL_SCREEN' | 'FIT_SCREEN'; @@ -187,14 +187,16 @@ export class AndroidExoplayer extends IonicNativePlugin { * @param parameters {AndroidExoPlayerParams} Parameters * @return {Observable} */ - @Cordova({ - observable: true, - clearFunction: 'close', - clearWithArgs: false, - successIndex: 1, - errorIndex: 2 - }) - show(parameters: AndroidExoPlayerParams): Observable { return; } + @Cordova({ + observable: true, + clearFunction: 'close', + clearWithArgs: false, + successIndex: 1, + errorIndex: 2 + }) + show(parameters: AndroidExoPlayerParams): Observable { + return; + } /** * Switch stream without disposing of the player. @@ -203,21 +205,27 @@ export class AndroidExoplayer extends IonicNativePlugin { * @return {Promise} */ @Cordova() - setStream(url: string, controller: AndroidExoPlayerControllerConfig): Promise { return; } + setStream(url: string, controller: AndroidExoPlayerControllerConfig): Promise { + return; + } /** * Will pause if playing and play if paused * @return {Promise} */ @Cordova() - playPause(): Promise { return; } + playPause(): Promise { + return; + } /** * Stop playing. * @return {Promise} */ @Cordova() - stop(): Promise { return; } + stop(): Promise { + return; + } /** * Jump to a particular position. @@ -225,7 +233,9 @@ export class AndroidExoplayer extends IonicNativePlugin { * @return {Promise} */ @Cordova() - seekTo(milliseconds: number): Promise { return; } + seekTo(milliseconds: number): Promise { + return; + } /** * Jump to a particular time relative to the current position. @@ -233,28 +243,36 @@ export class AndroidExoplayer extends IonicNativePlugin { * @return {Promise} */ @Cordova() - seekBy(milliseconds: number): Promise { return; } + seekBy(milliseconds: number): Promise { + return; + } /** * Get the current player state. * @return {Promise} */ @Cordova() - getState(): Promise { return; } + getState(): Promise { + return; + } /** * Show the controller. * @return {Promise} */ @Cordova() - showController(): Promise { return; } + showController(): Promise { + return; + } /** * Hide the controller. * @return {Promise} */ @Cordova() - hideController(): Promise { return; } + hideController(): Promise { + return; + } /** * Update the controller configuration. @@ -262,12 +280,16 @@ export class AndroidExoplayer extends IonicNativePlugin { * @return {Promise} */ @Cordova() - setController(controller: AndroidExoPlayerControllerConfig): Promise { return; } + setController(controller: AndroidExoPlayerControllerConfig): Promise { + return; + } /** * Close and dispose of player, call before destroy. * @return {Promise} */ @Cordova() - close(): Promise { return; } + close(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/android-fingerprint-auth/index.ts b/src/@ionic-native/plugins/android-fingerprint-auth/index.ts index 2366e86bbf..c983a02e7c 100644 --- a/src/@ionic-native/plugins/android-fingerprint-auth/index.ts +++ b/src/@ionic-native/plugins/android-fingerprint-auth/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface AFAAuthOptions { @@ -177,7 +177,9 @@ export class AndroidFingerprintAuth extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - encrypt(options: AFAAuthOptions): Promise { return; } + encrypt(options: AFAAuthOptions): Promise { + return; + } /** * Opens a native dialog fragment to use the device hardware fingerprint scanner to authenticate against fingerprints registered for the device. @@ -185,19 +187,25 @@ export class AndroidFingerprintAuth extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - decrypt(options: AFAAuthOptions): Promise { return; } + decrypt(options: AFAAuthOptions): Promise { + return; + } /** * Check if service is available * @returns {Promise} Returns a Promise that resolves if fingerprint auth is available on the device */ @Cordova() - isAvailable(): Promise<{ isAvailable: boolean, isHardwareDetected: boolean, hasEnrolledFingerprints: boolean }> { return; } + isAvailable(): Promise<{ isAvailable: boolean, isHardwareDetected: boolean, hasEnrolledFingerprints: boolean }> { + return; + } /** * Delete the cipher used for encryption and decryption by username * @returns {Promise} Returns a Promise that resolves if the cipher was successfully deleted */ @Cordova() - delete(options: { clientId: string; username: string; }): Promise<{ deleted: boolean }> { return; } + delete(options: { clientId: string; username: string; }): Promise<{ deleted: boolean }> { + return; + } } diff --git a/src/@ionic-native/plugins/android-full-screen/index.ts b/src/@ionic-native/plugins/android-full-screen/index.ts index 8971f6dada..e9364953ff 100644 --- a/src/@ionic-native/plugins/android-full-screen/index.ts +++ b/src/@ionic-native/plugins/android-full-screen/index.ts @@ -1,9 +1,9 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * Bit flag values for setSystemUiVisibility() - * @see https://developer.android.com/reference/android/view/View.html#setSystemUiVisibility(int) + * @see https://developer.android.com/reference/android/view/View.html#setSystemUiVisibility(int) */ export enum AndroidSystemUiFlags { /** View has requested the system UI (status bar) to be visible (the default). SYSTEM_UI_FLAG_VISIBLE */ @@ -64,63 +64,81 @@ export class AndroidFullScreen extends IonicNativePlugin { * @return {Promise} */ @Cordova() - isSupported(): Promise { return; } + isSupported(): Promise { + return; + } /** * Is immersive mode supported? * @return {Promise} */ @Cordova() - isImmersiveModeSupported(): Promise { return; } + isImmersiveModeSupported(): Promise { + return; + } /** * The width of the screen in immersive mode. * @return {Promise} */ @Cordova() - immersiveWidth(): Promise { return; } + immersiveWidth(): Promise { + return; + } /** * The height of the screen in immersive mode. * @return {Promise} */ @Cordova() - immersiveHeight(): Promise { return; } + immersiveHeight(): Promise { + return; + } /** * Hide system UI until user interacts. * @return {Promise} */ @Cordova() - leanMode(): Promise { return; } + leanMode(): Promise { + return; + } /** * Show system UI. * @return {Promise} */ @Cordova() - showSystemUI(): Promise { return; } + showSystemUI(): Promise { + return; + } /** * Extend your app underneath the status bar (Android 4.4+ only). * @return {Promise} */ @Cordova() - showUnderStatusBar(): Promise { return; } + showUnderStatusBar(): Promise { + return; + } /** * Extend your app underneath the system UI (Android 4.4+ only). * @return {Promise} */ @Cordova() - showUnderSystemUI(): Promise { return; } + showUnderSystemUI(): Promise { + return; + } /** * Hide system UI and keep it hidden (Android 4.4+ only). * @return {Promise} */ @Cordova() - immersiveMode(): Promise { return; } + immersiveMode(): Promise { + return; + } /** * Manually set the the system UI to a custom mode. This mirrors the Android method of the same name. (Android 4.4+ only). @@ -129,5 +147,7 @@ export class AndroidFullScreen extends IonicNativePlugin { * @return {Promise} */ @Cordova() - setSystemUiVisibility(visibility: AndroidSystemUiFlags): Promise { return; } + setSystemUiVisibility(visibility: AndroidSystemUiFlags): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/android-permissions/index.ts b/src/@ionic-native/plugins/android-permissions/index.ts index 6ee438268d..67725c6031 100644 --- a/src/@ionic-native/plugins/android-permissions/index.ts +++ b/src/@ionic-native/plugins/android-permissions/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -199,7 +199,9 @@ export class AndroidPermissions extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - checkPermission(permission: string): Promise { return; } + checkPermission(permission: string): Promise { + return; + } /** * Request permission @@ -207,7 +209,9 @@ export class AndroidPermissions extends IonicNativePlugin { * @return {Promise} */ @Cordova() - requestPermission(permission: string): Promise { return; } + requestPermission(permission: string): Promise { + return; + } /** * Request permissions @@ -215,7 +219,9 @@ export class AndroidPermissions extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - requestPermissions(permissions: string[]): Promise { return; } + requestPermissions(permissions: string[]): Promise { + return; + } /** * This function still works now, will not support in the future. @@ -223,6 +229,8 @@ export class AndroidPermissions extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - hasPermission(permission: string): Promise { return; } + hasPermission(permission: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/app-availability/index.ts b/src/@ionic-native/plugins/app-availability/index.ts index 3011921b00..4542998b8e 100644 --- a/src/@ionic-native/plugins/app-availability/index.ts +++ b/src/@ionic-native/plugins/app-availability/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name App Availability @@ -48,6 +48,8 @@ export class AppAvailability extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - check(app: string): Promise { return; } + check(app: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/app-minimize/index.ts b/src/@ionic-native/plugins/app-minimize/index.ts index 5179a9b06c..ec5bd0783c 100644 --- a/src/@ionic-native/plugins/app-minimize/index.ts +++ b/src/@ionic-native/plugins/app-minimize/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -37,6 +37,8 @@ export class AppMinimize extends IonicNativePlugin { * @return {Promise} */ @Cordova() - minimize(): Promise { return; } + minimize(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/app-preferences/index.ts b/src/@ionic-native/plugins/app-preferences/index.ts index 6b7924315f..19389a8319 100644 --- a/src/@ionic-native/plugins/app-preferences/index.ts +++ b/src/@ionic-native/plugins/app-preferences/index.ts @@ -1,4 +1,4 @@ -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; import { Injectable } from '@angular/core'; @@ -40,7 +40,9 @@ export class AppPreferences extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - fetch(dict: string, key?: string): Promise { return; } + fetch(dict: string, key?: string): Promise { + return; + } /** * Set a preference value @@ -67,7 +69,9 @@ export class AppPreferences extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - remove(dict: string, key?: string): Promise { return; } + remove(dict: string, key?: string): Promise { + return; + } /** * Clear preferences @@ -77,7 +81,9 @@ export class AppPreferences extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - clearAll(): Promise { return; } + clearAll(): Promise { + return; + } /** * Show native preferences interface @@ -87,7 +93,9 @@ export class AppPreferences extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - show(): Promise { return; } + show(): Promise { + return; + } /** * Show native preferences interface @@ -98,7 +106,9 @@ export class AppPreferences extends IonicNativePlugin { @Cordova({ observable: true }) - watch(subscribe: boolean): Observable { return; } + watch(subscribe: boolean): Observable { + return; + } /** * Return named configuration context @@ -111,13 +121,17 @@ export class AppPreferences extends IonicNativePlugin { platforms: ['Android'], sync: true }) - suite(suiteName: string): any { return; } + suite(suiteName: string): any { + return; + } @Cordova({ platforms: ['iOS'], sync: true }) - iosSuite(suiteName: string): any { return; } + iosSuite(suiteName: string): any { + return; + } /** * Return cloud synchronized configuration context @@ -127,7 +141,9 @@ export class AppPreferences extends IonicNativePlugin { @Cordova({ platforms: ['iOS', 'Windows', 'Windows Phone 8'] }) - cloudSync(): Object { return; } + cloudSync(): Object { + return; + } /** * Return default configuration context @@ -137,6 +153,8 @@ export class AppPreferences extends IonicNativePlugin { @Cordova({ platforms: ['iOS', 'Windows', 'Windows Phone 8'] }) - defaults(): Object { return; } + defaults(): Object { + return; + } } diff --git a/src/@ionic-native/plugins/app-rate/index.ts b/src/@ionic-native/plugins/app-rate/index.ts index 6eb6b2cb6b..8204dacf0b 100644 --- a/src/@ionic-native/plugins/app-rate/index.ts +++ b/src/@ionic-native/plugins/app-rate/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, CordovaProperty, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface AppRatePreferences { @@ -121,7 +121,7 @@ export interface AppUrls { * ios: '', * android: 'market://details?id=', * windows: 'ms-windows-store://review/?ProductId=' - * }; + * } * * this.appRate.promptForRating(true); * @@ -133,7 +133,7 @@ export interface AppUrls { * android: 'market://details?id=', * windows: 'ms-windows-store://review/?ProductId=' * } - * }; + * } * * this.appRate.promptForRating(false); * ``` @@ -158,7 +158,7 @@ export class AppRate extends IonicNativePlugin { * Configure various settings for the Rating View. * See table below for options */ - @CordovaProperty + @CordovaProperty() preferences: AppRatePreferences; /** @@ -166,12 +166,14 @@ export class AppRate extends IonicNativePlugin { * @param {boolean} immediately Show the rating prompt immediately. */ @Cordova() - promptForRating(immediately: boolean): void { }; + promptForRating(immediately: boolean): void { + } /** * Immediately send the user to the app store rating page */ @Cordova() - navigateToAppStore(): void { }; + navigateToAppStore(): void { + } } diff --git a/src/@ionic-native/plugins/app-update/index.ts b/src/@ionic-native/plugins/app-update/index.ts index 3b2158ac68..a423c5d033 100644 --- a/src/@ionic-native/plugins/app-update/index.ts +++ b/src/@ionic-native/plugins/app-update/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -49,5 +49,7 @@ export class AppUpdate extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - checkAppUpdate(updateUrl: string): Promise { return; } + checkAppUpdate(updateUrl: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/app-version/index.ts b/src/@ionic-native/plugins/app-version/index.ts index 1962cdebd3..8ce241acd8 100644 --- a/src/@ionic-native/plugins/app-version/index.ts +++ b/src/@ionic-native/plugins/app-version/index.ts @@ -1,6 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; - +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -41,27 +40,35 @@ export class AppVersion extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - getAppName(): Promise { return; } + getAppName(): Promise { + return; + } /** * Returns the package name of the app * @returns {Promise} */ @Cordova() - getPackageName(): Promise { return; } + getPackageName(): Promise { + return; + } /** * Returns the build identifier of the app * @returns {Promise} */ @Cordova() - getVersionCode(): Promise { return; } + getVersionCode(): Promise { + return; + } /** * Returns the version of the app * @returns {Promise} */ @Cordova() - getVersionNumber(): Promise { return; } + getVersionNumber(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/apple-pay/index.ts b/src/@ionic-native/plugins/apple-pay/index.ts index 1995cb4965..5e06ffc8c6 100644 --- a/src/@ionic-native/plugins/apple-pay/index.ts +++ b/src/@ionic-native/plugins/apple-pay/index.ts @@ -1,15 +1,22 @@ -import {Injectable} from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import { - Plugin, - Cordova, - IonicNativePlugin -} from '@ionic-native/core'; +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; -export type IMakePayments = 'This device can make payments and has a supported card' | 'This device cannot make payments.' | 'This device can make payments but has no supported cards'; +export type IMakePayments = + 'This device can make payments and has a supported card' + | 'This device cannot make payments.' + | 'This device can make payments but has no supported cards'; export type IShippingType = 'shipping' | 'delivery' | 'store' | 'service'; -export type IBillingRequirement = 'none' | 'all' | 'postcode' | 'name' | 'email' | 'phone'; -export type ITransactionStatus = 'success' | 'failure' | 'invalid-billing-address' | 'invalid-shipping-address' | 'invalid-shipping-contact' | 'require-pin' | 'incorrect-pin' | 'locked-pin'; +export type IBillingRequirement = 'none' | 'all' | 'postcode' | 'name' | 'email' | 'phone'; +export type ITransactionStatus = + 'success' + | 'failure' + | 'invalid-billing-address' + | 'invalid-shipping-address' + | 'invalid-shipping-contact' + | 'require-pin' + | 'incorrect-pin' + | 'locked-pin'; export type ICompleteTransaction = 'Payment status applied.'; export type IUpdateItemsAndShippingStatus = 'Updated List Info' | 'Did you make a payment request?'; @@ -50,12 +57,14 @@ export interface IOrderItem { label: string; amount: number; } -export interface IShippingMethod { + +export interface IShippingMethod { identifier: string; label: string; detail: string; amount: number; } + export interface IOrderItemsAndShippingMethods { items: IOrderItem[]; shippingMethods?: IShippingMethod[]; @@ -221,7 +230,7 @@ export class ApplePay extends IonicNativePlugin { * this.paySheetItems.shippingCost = { * label: 'Shipping Cost', * amount: shippingMethod[0].amount - * }; + * } * this.applePay.updateItemsAndShippingMethods(this.paySheetItems, shippingMethods); * }); */ diff --git a/src/@ionic-native/plugins/appodeal/index.ts b/src/@ionic-native/plugins/appodeal/index.ts index 5d72981f12..cae6a0b023 100644 --- a/src/@ionic-native/plugins/appodeal/index.ts +++ b/src/@ionic-native/plugins/appodeal/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs'; import { Injectable } from '@angular/core'; @@ -46,14 +46,17 @@ export class Appodeal extends IonicNativePlugin { * @param {number} adType */ @Cordova() - initialize(appKey: string, adType: number): void { }; + initialize(appKey: string, adType: number): void { + } /** * check if SDK has been initialized * @returns {Promise} */ @Cordova() - isInitialized(): Promise { return; }; + isInitialized(): Promise { + return; + } /** * show ad of specified type @@ -61,7 +64,9 @@ export class Appodeal extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - show(adType: number): Promise { return; }; + show(adType: number): Promise { + return; + } /** * show ad of specified type with placement options @@ -70,24 +75,26 @@ export class Appodeal extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - showWithPlacement( - adType: number, - placement: any - ): Promise { return; }; + showWithPlacement(adType: number, + placement: any): Promise { + return; + } /** * hide ad of specified type * @param {number} adType */ @Cordova() - hide(adType: number): void { }; + hide(adType: number): void { + } /** * confirm use of ads of specified type * @param {number} adType */ @Cordova() - confirm(adType: number): void { }; + confirm(adType: number): void { + } /** * check if ad of specified type has been loaded @@ -95,7 +102,9 @@ export class Appodeal extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isLoaded(adType: number): Promise { return; }; + isLoaded(adType: number): Promise { + return; + } /** * check if ad of specified @@ -103,7 +112,9 @@ export class Appodeal extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isPrecache(adType: number): Promise { return; }; + isPrecache(adType: number): Promise { + return; + } /** * @@ -111,75 +122,87 @@ export class Appodeal extends IonicNativePlugin { * @param autoCache */ @Cordova() - setAutoCache(adType: number, autoCache: any): void { }; + setAutoCache(adType: number, autoCache: any): void { + } /** * forcefully cache an ad by type * @param {number} adType */ @Cordova() - cache(adType: number): void { }; + cache(adType: number): void { + } /** * * @param {boolean} set */ @Cordova() - setOnLoadedTriggerBoth(set: boolean): void { }; + setOnLoadedTriggerBoth(set: boolean): void { + } /** * enable or disable Smart Banners * @param {boolean} enabled */ @Cordova() - setSmartBanners(enabled: boolean): void { }; + setSmartBanners(enabled: boolean): void { + } /** * enable or disable banner backgrounds * @param {boolean} enabled */ @Cordova() - setBannerBackground(enabled: boolean): void { }; + setBannerBackground(enabled: boolean): void { + } /** * enable or disable banner animations * @param {boolean} enabled */ @Cordova() - setBannerAnimation(enabled: boolean): void { }; + setBannerAnimation(enabled: boolean): void { + } /** * * @param value */ @Cordova() - set728x90Banners(value: any): void { }; + set728x90Banners(value: any): void { + } /** * enable or disable logging * @param {boolean} logging */ @Cordova() - setLogging(logging: boolean): void { }; + setLogging(logging: boolean): void { + } /** * enable or disable testing mode * @param {boolean} testing */ @Cordova() - setTesting(testing: boolean): void { }; + setTesting(testing: boolean): void { + } /** * reset device ID */ @Cordova() - resetUUID(): void { }; + resetUUID(): void { + } /** * get version of Appdeal SDK */ @Cordova() - getVersion(): Promise { return; }; + getVersion(): Promise { + return; + } /** * @@ -187,7 +210,8 @@ export class Appodeal extends IonicNativePlugin { * @param {number} adType */ @Cordova() - disableNetwork(network?: string, adType?: number): void { }; + disableNetwork(network?: string, adType?: number): void { + } /** * @@ -195,54 +219,62 @@ export class Appodeal extends IonicNativePlugin { * @param {number} adType */ @Cordova() - disableNetworkType(network?: string, adType?: number): void { }; + disableNetworkType(network?: string, adType?: number): void { + } /** * disable Location permissions for Appodeal SDK */ @Cordova() - disableLocationPermissionCheck(): void { }; + disableLocationPermissionCheck(): void { + } /** * disable Storage permissions for Appodeal SDK */ @Cordova() - disableWriteExternalStoragePermissionCheck(): void { }; + disableWriteExternalStoragePermissionCheck(): void { + } /** * enable event listeners * @param {boolean} enabled */ @Cordova() - enableInterstitialCallbacks(enabled: boolean): void { }; + enableInterstitialCallbacks(enabled: boolean): void { + } /** * enable event listeners * @param {boolean} enabled */ @Cordova() - enableSkippableVideoCallbacks(enabled: boolean): void { }; + enableSkippableVideoCallbacks(enabled: boolean): void { + } /** * enable event listeners * @param {boolean} enabled */ @Cordova() - enableNonSkippableVideoCallbacks(enabled: boolean): void { }; + enableNonSkippableVideoCallbacks(enabled: boolean): void { + } /** * enable event listeners * @param {boolean} enabled */ @Cordova() - enableBannerCallbacks(enabled: boolean): void { }; + enableBannerCallbacks(enabled: boolean): void { + } /** * enable event listeners * @param {boolean} enabled */ @Cordova() - enableRewardedVideoCallbacks(enabled: boolean): void { }; + enableRewardedVideoCallbacks(enabled: boolean): void { + } /** * @@ -250,7 +282,8 @@ export class Appodeal extends IonicNativePlugin { * @param {boolean} value */ @Cordova() - setCustomBooleanRule(name: string, value: boolean): void { }; + setCustomBooleanRule(name: string, value: boolean): void { + } /** * @@ -258,7 +291,8 @@ export class Appodeal extends IonicNativePlugin { * @param {number} value */ @Cordova() - setCustomIntegerRule(name: string, value: number): void { }; + setCustomIntegerRule(name: string, value: number): void { + } /** * set rule with float value @@ -266,7 +300,8 @@ export class Appodeal extends IonicNativePlugin { * @param {number} value */ @Cordova() - setCustomDoubleRule(name: string, value: number): void { }; + setCustomDoubleRule(name: string, value: number): void { + } /** * set rule with string value @@ -274,243 +309,302 @@ export class Appodeal extends IonicNativePlugin { * @param {string} value */ @Cordova() - setCustomStringRule(name: string, value: string): void { }; + setCustomStringRule(name: string, value: string): void { + } /** * set ID preference in Appodeal for current user * @param id */ @Cordova() - setUserId(id: any): void { }; + setUserId(id: any): void { + } /** * set Email preference in Appodeal for current user * @param email */ @Cordova() - setEmail(email: any): void { }; + setEmail(email: any): void { + } /** * set Birthday preference in Appodeal for current user * @param birthday */ @Cordova() - setBirthday(birthday: any): void { }; + setBirthday(birthday: any): void { + } /** * et Age preference in Appodeal for current user * @param age */ @Cordova() - setAge(age: any): void { }; + setAge(age: any): void { + } /** * set Gender preference in Appodeal for current user * @param gender */ @Cordova() - setGender(gender: any): void { }; + setGender(gender: any): void { + } /** * set Occupation preference in Appodeal for current user * @param occupation */ @Cordova() - setOccupation(occupation: any): void { }; + setOccupation(occupation: any): void { + } /** * set Relation preference in Appodeal for current user * @param relation */ @Cordova() - setRelation(relation: any): void { }; + setRelation(relation: any): void { + } /** * set Smoking preference in Appodeal for current user * @param smoking */ @Cordova() - setSmoking(smoking: any): void { }; + setSmoking(smoking: any): void { + } /** * set Alcohol preference in Appodeal for current user * @param alcohol */ @Cordova() - setAlcohol(alcohol: any): void { }; + setAlcohol(alcohol: any): void { + } /** * set Interests preference in Appodeal for current user * @param interests */ @Cordova() - setInterests(interests: any): void { }; + setInterests(interests: any): void { + } @Cordova({ eventObservable: true, event: 'onInterstitialLoaded', - element: document + element: 'document' }) - onInterstitialLoaded(): Observable { return; } + onInterstitialLoaded(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onInterstitialFailedToLoad', - element: document + element: 'document' }) - onInterstitialFailedToLoad(): Observable { return; } + onInterstitialFailedToLoad(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onInterstitialShown', - element: document + element: 'document' }) - onInterstitialShown(): Observable { return; } + onInterstitialShown(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onInterstitialClicked', - element: document + element: 'document' }) - onInterstitialClicked(): Observable { return; } + onInterstitialClicked(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onInterstitialClosed', - element: document + element: 'document' }) - onInterstitialClosed(): Observable { return; } + onInterstitialClosed(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onSkippableVideoLoaded', - element: document + element: 'document' }) - onSkippableVideoLoaded(): Observable { return; } + onSkippableVideoLoaded(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onSkippableVideoFailedToLoad', - element: document + element: 'document' }) - onSkippableVideoFailedToLoad(): Observable { return; } + onSkippableVideoFailedToLoad(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onSkippableVideoShown', - element: document + element: 'document' }) - onSkippableVideoShown(): Observable { return; } + onSkippableVideoShown(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onSkippableVideoFinished', - element: document + element: 'document' }) - onSkippableVideoFinished(): Observable { return; } + onSkippableVideoFinished(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onSkippableVideoClosed', - element: document + element: 'document' }) - onSkippableVideoClosed(): Observable { return; } + onSkippableVideoClosed(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onRewardedVideoLoaded', - element: document + element: 'document' }) - onRewardedVideoLoaded(): Observable { return; } + onRewardedVideoLoaded(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onRewardedVideoFailedToLoad', - element: document + element: 'document' }) - onRewardedVideoFailedToLoad(): Observable { return; } + onRewardedVideoFailedToLoad(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onRewardedVideoShown', - element: document + element: 'document' }) - onRewardedVideoShown(): Observable { return; } + onRewardedVideoShown(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onRewardedVideoFinished', - element: document + element: 'document' }) - onRewardedVideoFinished(): Observable { return; } + onRewardedVideoFinished(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onRewardedVideoClosed', - element: document + element: 'document' }) - onRewardedVideoClosed(): Observable { return; } + onRewardedVideoClosed(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onNonSkippableVideoLoaded', - element: document + element: 'document' }) - onNonSkippableVideoLoaded(): Observable { return; } + onNonSkippableVideoLoaded(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onNonSkippableVideoFailedToLoad', - element: document + element: 'document' }) - onNonSkippableVideoFailedToLoad(): Observable { return; } + onNonSkippableVideoFailedToLoad(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onNonSkippableVideoShown', - element: document + element: 'document' }) - onNonSkippableVideoShown(): Observable { return; } + onNonSkippableVideoShown(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onNonSkippableVideoFinished', - element: document + element: 'document' }) - onNonSkippableVideoFinished(): Observable { return; } + onNonSkippableVideoFinished(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onNonSkippableVideoClosed', - element: document + element: 'document' }) - onNonSkippableVideoClosed(): Observable { return; } + onNonSkippableVideoClosed(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onBannerClicked', - element: document + element: 'document' }) - onBannerClicked(): Observable { return; } + onBannerClicked(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onBannerFailedToLoad', - element: document + element: 'document' }) - onBannerFailedToLoad(): Observable { return; } + onBannerFailedToLoad(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onBannerLoaded', - element: document + element: 'document' }) - onBannerLoaded(): Observable { return; } + onBannerLoaded(): Observable { + return; + } @Cordova({ eventObservable: true, event: 'onBannerShown', - element: document + element: 'document' }) - onBannerShown(): Observable { return; } + onBannerShown(): Observable { + return; + } } diff --git a/src/@ionic-native/plugins/autostart/index.ts b/src/@ionic-native/plugins/autostart/index.ts index e57c0d8293..3f7254912a 100644 --- a/src/@ionic-native/plugins/autostart/index.ts +++ b/src/@ionic-native/plugins/autostart/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -36,12 +36,14 @@ export class Autostart extends IonicNativePlugin { * Enable the automatic startup after the boot */ @Cordova({ sync: true }) - enable(): void { } + enable(): void { + } /** * Disable the automatic startup after the boot */ @Cordova({ sync: true }) - disable(): void { } + disable(): void { + } } diff --git a/src/@ionic-native/plugins/background-fetch/index.ts b/src/@ionic-native/plugins/background-fetch/index.ts index 67bcae52a9..0605f1ed39 100644 --- a/src/@ionic-native/plugins/background-fetch/index.ts +++ b/src/@ionic-native/plugins/background-fetch/index.ts @@ -1,4 +1,4 @@ -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; export interface BackgroundFetchConfig { @@ -27,7 +27,7 @@ export interface BackgroundFetchConfig { * * const config: BackgroundFetchConfig = { * stopOnTerminate: false, // Set true to cease background-fetch from operating after user "closes" the app. Defaults to true. - * }; + * } * * backgroundFetch.configure(config) * .then(() => { @@ -72,7 +72,9 @@ export class BackgroundFetch extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - configure(config: BackgroundFetchConfig): Promise { return; } + configure(config: BackgroundFetchConfig): Promise { + return; + } /** * Start the background-fetch API. @@ -80,14 +82,18 @@ export class BackgroundFetch extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - start(): Promise { return; } + start(): Promise { + return; + } /** * Stop the background-fetch API from firing fetch events. Your callbackFn provided to #configure will no longer be executed. * @returns {Promise} */ @Cordova() - stop(): Promise { return; } + stop(): Promise { + return; + } /** * You MUST call this method in your fetch callbackFn provided to #configure in order to signal to iOS that your fetch action is complete. iOS provides only 30s of background-time for a fetch-event -- if you exceed this 30s, iOS will kill your app. @@ -95,13 +101,16 @@ export class BackgroundFetch extends IonicNativePlugin { @Cordova({ sync: true }) - finish(): void { } + finish(): void { + } /** * Return the status of the background-fetch * @returns {Promise} */ @Cordova() - status(): Promise { return; } + status(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/background-geolocation/index.ts b/src/@ionic-native/plugins/background-geolocation/index.ts index 99461d26e6..9491406918 100644 --- a/src/@ionic-native/plugins/background-geolocation/index.ts +++ b/src/@ionic-native/plugins/background-geolocation/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface BackgroundGeolocationResponse { @@ -50,8 +50,8 @@ export interface BackgroundGeolocationResponse { altitude: number; /** - * accuracy of the altitude if available. - */ + * accuracy of the altitude if available. + */ altitudeAccuracy: number; /** @@ -276,7 +276,7 @@ export interface BackgroundGeolocationConfig { * distanceFilter: 30, * debug: true, // enable this hear sounds for background-geolocation life-cycle. * stopOnTerminate: false, // enable this to clear background location settings when the app terminates - * }; + * } * * this.backgroundGeolocation.configure(config) * .subscribe((location: BackgroundGeolocationResponse) => { @@ -369,7 +369,9 @@ export class BackgroundGeolocation extends IonicNativePlugin { callbackOrder: 'reverse', observable: true }) - configure(options: BackgroundGeolocationConfig): Observable { return; } + configure(options: BackgroundGeolocationConfig): Observable { + return; + } /** * Turn ON the background-geolocation system. @@ -377,14 +379,18 @@ export class BackgroundGeolocation extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - start(): Promise { return; } + start(): Promise { + return; + } /** * Turn OFF background-tracking * @returns {Promise} */ @Cordova() - stop(): Promise { return; } + stop(): Promise { + return; + } /** * Inform the native plugin that you're finished, the background-task may be completed @@ -393,7 +399,9 @@ export class BackgroundGeolocation extends IonicNativePlugin { @Cordova({ platforms: ['iOS'] }) - finish(): Promise { return; } + finish(): Promise { + return; + } /** * Force the plugin to enter "moving" or "stationary" state @@ -403,7 +411,9 @@ export class BackgroundGeolocation extends IonicNativePlugin { @Cordova({ platforms: ['iOS'] }) - changePace(isMoving: boolean): Promise { return; } + changePace(isMoving: boolean): Promise { + return; + } /** * Setup configuration @@ -413,7 +423,9 @@ export class BackgroundGeolocation extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - setConfig(options: BackgroundGeolocationConfig): Promise { return; } + setConfig(options: BackgroundGeolocationConfig): Promise { + return; + } /** * Returns current stationaryLocation if available. null if not @@ -422,7 +434,9 @@ export class BackgroundGeolocation extends IonicNativePlugin { @Cordova({ platforms: ['iOS'] }) - getStationaryLocation(): Promise { return; } + getStationaryLocation(): Promise { + return; + } /** * Add a stationary-region listener. Whenever the devices enters "stationary-mode", @@ -432,7 +446,9 @@ export class BackgroundGeolocation extends IonicNativePlugin { @Cordova({ platforms: ['iOS'] }) - onStationary(): Promise { return; } + onStationary(): Promise { + return; + } /** * Check if location is enabled on the device @@ -441,19 +457,23 @@ export class BackgroundGeolocation extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - isLocationEnabled(): Promise { return; } + isLocationEnabled(): Promise { + return; + } /** * Display app settings to change permissions */ @Cordova({ sync: true }) - showAppSettings(): void { } + showAppSettings(): void { + } /** * Display device location settings */ @Cordova({ sync: true }) - showLocationSettings(): void { } + showLocationSettings(): void { + } /** * Method can be used to detect user changes in location services settings. @@ -464,7 +484,9 @@ export class BackgroundGeolocation extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - watchLocationMode(): Promise { return; } + watchLocationMode(): Promise { + return; + } /** * Stop watching for location mode changes. @@ -473,7 +495,9 @@ export class BackgroundGeolocation extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - stopWatchingLocationMode(): Promise { return; } + stopWatchingLocationMode(): Promise { + return; + } /** * Method will return all stored locations. @@ -487,14 +511,18 @@ export class BackgroundGeolocation extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - getLocations(): Promise { return; } + getLocations(): Promise { + return; + } /**
 * Method will return locations, which has not been yet posted to server. NOTE: Locations does contain locationId.
 * @returns {Promise} */ @Cordova() - getValidLocations(): Promise { return; } + getValidLocations(): Promise { + return; + } /** * Delete stored location by given locationId. @@ -504,7 +532,9 @@ export class BackgroundGeolocation extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - deleteLocation(locationId: number): Promise { return; } + deleteLocation(locationId: number): Promise { + return; + } /** * Delete all stored locations. @@ -513,7 +543,9 @@ export class BackgroundGeolocation extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - deleteAllLocations(): Promise { return; } + deleteAllLocations(): Promise { + return; + } /** * Normally plugin will handle switching between BACKGROUND and FOREGROUND mode itself. @@ -531,7 +563,9 @@ export class BackgroundGeolocation extends IonicNativePlugin { @Cordova({ platforms: ['iOS'] }) - switchMode(modeId: number): Promise { return; } + switchMode(modeId: number): Promise { + return; + } /**
 * Return all logged events. Useful for plugin debugging. Parameter limit limits number of returned entries.
 @@ -541,6 +575,8 @@ export class BackgroundGeolocation extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - getLogEntries(limit: number): Promise { return; } + getLogEntries(limit: number): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/background-mode/index.ts b/src/@ionic-native/plugins/background-mode/index.ts index 2d7159290b..c3bb87f6f5 100644 --- a/src/@ionic-native/plugins/background-mode/index.ts +++ b/src/@ionic-native/plugins/background-mode/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; @@ -82,14 +82,17 @@ export class BackgroundMode extends IonicNativePlugin { @Cordova({ sync: true }) - enable(): void { } + enable(): void { + } /** * Disable the background mode. * Once the background mode has been disabled, the app will be paused when in background. */ @Cordova() - disable(): Promise { return; } + disable(): Promise { + return; + } /** * Checks if background mode is enabled or not. @@ -98,7 +101,9 @@ export class BackgroundMode extends IonicNativePlugin { @Cordova({ sync: true }) - isEnabled(): boolean { return; } + isEnabled(): boolean { + return; + } /** * Can be used to get the information if the background mode is active. @@ -107,7 +112,9 @@ export class BackgroundMode extends IonicNativePlugin { @Cordova({ sync: true }) - isActive(): boolean { return; } + isActive(): boolean { + return; + } /** * Override the default title, ticker and text. @@ -117,7 +124,9 @@ export class BackgroundMode extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - setDefaults(options?: BackgroundModeConfiguration): Promise { return; } + setDefaults(options?: BackgroundModeConfiguration): Promise { + return; + } /** * Modify the displayed information. @@ -128,7 +137,8 @@ export class BackgroundMode extends IonicNativePlugin { platforms: ['Android'], sync: true }) - configure(options?: BackgroundModeConfiguration): void {} + configure(options?: BackgroundModeConfiguration): void { + } /** * Listen for events that the plugin fires. Available events are `enable`, `disable`, `activate`, `deactivate` and `failure`. @@ -140,7 +150,9 @@ export class BackgroundMode extends IonicNativePlugin { clearFunction: 'un', clearWithArgs: true }) - on(event: string): Observable { return; } + on(event: string): Observable { + return; + } /** * Android allows to programmatically move from foreground to background. @@ -149,7 +161,8 @@ export class BackgroundMode extends IonicNativePlugin { platforms: ['Android'], sync: true }) - moveToBackground(): void { } + moveToBackground(): void { + } /** * Enable GPS-tracking in background (Android). @@ -158,7 +171,8 @@ export class BackgroundMode extends IonicNativePlugin { platforms: ['Android'], sync: true }) - disableWebViewOptimizations (): void { } + disableWebViewOptimizations(): void { + } /** * Android allows to programmatically move from background to foreground. @@ -167,7 +181,8 @@ export class BackgroundMode extends IonicNativePlugin { platforms: ['Android'], sync: true }) - moveToForeground(): void { } + moveToForeground(): void { + } /** * Override the back button on Android to go to background instead of closing the app. @@ -176,7 +191,8 @@ export class BackgroundMode extends IonicNativePlugin { platforms: ['Android'], sync: true }) - overrideBackButton(): void { } + overrideBackButton(): void { + } /** * Exclude the app from the recent task list. Works on Android 5.0+. @@ -185,7 +201,8 @@ export class BackgroundMode extends IonicNativePlugin { platforms: ['Android'], sync: true }) - excludeFromTaskList(): void { } + excludeFromTaskList(): void { + } /** * The method works async instead of isActive() or isEnabled(). @@ -193,7 +210,9 @@ export class BackgroundMode extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - isScreenOff(): Promise { return; } + isScreenOff(): Promise { + return; + } /** * Turn screen on @@ -202,7 +221,8 @@ export class BackgroundMode extends IonicNativePlugin { platforms: ['Android'], sync: true }) - wakeUp(): void { } + wakeUp(): void { + } /** * Turn screen on and show app even locked @@ -211,6 +231,7 @@ export class BackgroundMode extends IonicNativePlugin { platforms: ['Android'], sync: true }) - unlock(): void { } + unlock(): void { + } } diff --git a/src/@ionic-native/plugins/backlight/index.ts b/src/@ionic-native/plugins/backlight/index.ts index ab9c638da3..061b0f6839 100644 --- a/src/@ionic-native/plugins/backlight/index.ts +++ b/src/@ionic-native/plugins/backlight/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -39,13 +39,17 @@ export class Backlight extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when the backlight is on */ @Cordova() - on(): Promise { return; } + on(): Promise { + return; + } /** * This function turns backlight off * @return {Promise} Returns a promise that resolves when the backlight is off */ @Cordova() - off(): Promise { return; } + off(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/badge/index.ts b/src/@ionic-native/plugins/badge/index.ts index 7da09cf744..5b526acd7b 100644 --- a/src/@ionic-native/plugins/badge/index.ts +++ b/src/@ionic-native/plugins/badge/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -37,7 +37,9 @@ export class Badge extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - clear(): Promise { return; } + clear(): Promise { + return; + } /** * Set the badge of the app icon. @@ -45,14 +47,18 @@ export class Badge extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - set(badgeNumber: number): Promise { return; } + set(badgeNumber: number): Promise { + return; + } /** * Get the badge of the app icon. * @returns {Promise} */ @Cordova() - get(): Promise { return; } + get(): Promise { + return; + } /** * Increase the badge number. @@ -60,7 +66,9 @@ export class Badge extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - increase(increaseBy: number): Promise { return; } + increase(increaseBy: number): Promise { + return; + } /** * Decrease the badge number. @@ -68,20 +76,26 @@ export class Badge extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - decrease(decreaseBy: number): Promise { return; } + decrease(decreaseBy: number): Promise { + return; + } /** * Determine if the app has permission to show badges. * @returns {Promise} */ @Cordova() - hasPermission(): Promise { return; } + hasPermission(): Promise { + return; + } /** * Register permission to set badge notifications * @returns {Promise} */ @Cordova() - registerPermission(): Promise { return; } + registerPermission(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/barcode-scanner/index.ts b/src/@ionic-native/plugins/barcode-scanner/index.ts index f55f76a01a..66e497a13d 100644 --- a/src/@ionic-native/plugins/barcode-scanner/index.ts +++ b/src/@ionic-native/plugins/barcode-scanner/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface BarcodeScannerOptions { @@ -117,7 +117,9 @@ export class BarcodeScanner extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - scan(options?: BarcodeScannerOptions): Promise { return; } + scan(options?: BarcodeScannerOptions): Promise { + return; + } /** * Encodes data into a barcode. @@ -127,6 +129,8 @@ export class BarcodeScanner extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - encode(type: string, data: any): Promise { return; } + encode(type: string, data: any): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/base64-to-gallery/index.ts b/src/@ionic-native/plugins/base64-to-gallery/index.ts index 0acc4da069..101bc24e1f 100644 --- a/src/@ionic-native/plugins/base64-to-gallery/index.ts +++ b/src/@ionic-native/plugins/base64-to-gallery/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Base64 To Gallery diff --git a/src/@ionic-native/plugins/base64/index.ts b/src/@ionic-native/plugins/base64/index.ts index c43fda67de..cbbbcab15b 100644 --- a/src/@ionic-native/plugins/base64/index.ts +++ b/src/@ionic-native/plugins/base64/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @beta @@ -40,6 +40,8 @@ export class Base64 extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when the file is successfully encoded */ @Cordova() - encodeFile(filePath: string): Promise { return; } + encodeFile(filePath: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/battery-status/index.ts b/src/@ionic-native/plugins/battery-status/index.ts index 339503b69a..0eddeec08d 100644 --- a/src/@ionic-native/plugins/battery-status/index.ts +++ b/src/@ionic-native/plugins/battery-status/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface BatteryStatusResponse { @@ -62,7 +62,9 @@ export class BatteryStatus extends IonicNativePlugin { eventObservable: true, event: 'batterystatus' }) - onChange(): Observable { return; } + onChange(): Observable { + return; + } /** * Watch when the battery level goes low @@ -72,7 +74,9 @@ export class BatteryStatus extends IonicNativePlugin { eventObservable: true, event: 'batterylow' }) - onLow(): Observable { return; } + onLow(): Observable { + return; + } /** * Watch when the battery level goes to critial @@ -82,6 +86,8 @@ export class BatteryStatus extends IonicNativePlugin { eventObservable: true, event: 'batterycritical' }) - onCritical(): Observable { return; } + onCritical(): Observable { + return; + } } diff --git a/src/@ionic-native/plugins/ble/index.ts b/src/@ionic-native/plugins/ble/index.ts index 1a2688bfbd..be8c16ed16 100644 --- a/src/@ionic-native/plugins/ble/index.ts +++ b/src/@ionic-native/plugins/ble/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; /** @@ -194,7 +194,9 @@ export class BLE extends IonicNativePlugin { @Cordova({ observable: true }) - scan(services: string[], seconds: number): Observable { return; } + scan(services: string[], seconds: number): Observable { + return; + } /** * Scan and discover BLE peripherals until `stopScan` is called. @@ -217,7 +219,9 @@ export class BLE extends IonicNativePlugin { clearFunction: 'stopScan', clearWithArgs: false }) - startScan(services: string[]): Observable { return; } + startScan(services: string[]): Observable { + return; + } /** * Scans for BLE devices. This function operates similarly to the `startScan` function, but allows you to specify extra options (like allowing duplicate device reports). @@ -230,7 +234,9 @@ export class BLE extends IonicNativePlugin { clearFunction: 'stopScan', clearWithArgs: false }) - startScanWithOptions(services: string[], options: { reportDuplicates?: boolean } | any): Observable { return; } + startScanWithOptions(services: string[], options: { reportDuplicates?: boolean } | any): Observable { + return; + } /** * Stop a scan started by `startScan`. @@ -247,7 +253,9 @@ export class BLE extends IonicNativePlugin { * @return returns a Promise. */ @Cordova() - stopScan(): Promise { return; } + stopScan(): Promise { + return; + } /** * Connect to a peripheral. @@ -268,7 +276,9 @@ export class BLE extends IonicNativePlugin { clearFunction: 'disconnect', clearWithArgs: true }) - connect(deviceId: string): Observable { return; } + connect(deviceId: string): Observable { + return; + } /** * Disconnect from a peripheral. @@ -282,7 +292,9 @@ export class BLE extends IonicNativePlugin { * @return Returns a Promise */ @Cordova() - disconnect(deviceId: string): Promise { return; } + disconnect(deviceId: string): Promise { + return; + } /** * Read the value of a characteristic. @@ -293,11 +305,11 @@ export class BLE extends IonicNativePlugin { * @return Returns a Promise */ @Cordova() - read( - deviceId: string, - serviceUUID: string, - characteristicUUID: string - ): Promise { return; }; + read(deviceId: string, + serviceUUID: string, + characteristicUUID: string): Promise { + return; + } /** * Write the value of a characteristic. @@ -328,12 +340,12 @@ export class BLE extends IonicNativePlugin { * @return Returns a Promise */ @Cordova() - write( - deviceId: string, - serviceUUID: string, - characteristicUUID: string, - value: ArrayBuffer - ): Promise { return; } + write(deviceId: string, + serviceUUID: string, + characteristicUUID: string, + value: ArrayBuffer): Promise { + return; + } /** * Write the value of a characteristic without waiting for confirmation from the peripheral. @@ -345,12 +357,12 @@ export class BLE extends IonicNativePlugin { * @return Returns a Promise */ @Cordova() - writeWithoutResponse( - deviceId: string, - serviceUUID: string, - characteristicUUID: string, - value: ArrayBuffer - ): Promise { return; } + writeWithoutResponse(deviceId: string, + serviceUUID: string, + characteristicUUID: string, + value: ArrayBuffer): Promise { + return; + } /** * Register to be notified when the value of a characteristic changes. @@ -372,11 +384,11 @@ export class BLE extends IonicNativePlugin { clearFunction: 'stopNotification', clearWithArgs: true }) - startNotification( - deviceId: string, - serviceUUID: string, - characteristicUUID: string - ): Observable { return; } + startNotification(deviceId: string, + serviceUUID: string, + characteristicUUID: string): Observable { + return; + } /** * Stop being notified when the value of a characteristic changes. @@ -387,11 +399,11 @@ export class BLE extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - stopNotification( - deviceId: string, - serviceUUID: string, - characteristicUUID: string - ): Promise { return; } + stopNotification(deviceId: string, + serviceUUID: string, + characteristicUUID: string): Promise { + return; + } /** * Report the connection status. @@ -407,7 +419,9 @@ export class BLE extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isConnected(deviceId: string): Promise { return; } + isConnected(deviceId: string): Promise { + return; + } /** * Report if bluetooth is enabled. @@ -415,7 +429,9 @@ export class BLE extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves if Bluetooth is enabled, and rejects if disabled. */ @Cordova() - isEnabled(): Promise { return; } + isEnabled(): Promise { + return; + } /** * Register to be notified when Bluetooth state changes on the device. @@ -434,7 +450,9 @@ export class BLE extends IonicNativePlugin { clearFunction: 'stopStateNotifications', clearWithArgs: false }) - startStateNotifications(): Observable { return; } + startStateNotifications(): Observable { + return; + } /** * Stop state notifications. @@ -442,7 +460,9 @@ export class BLE extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - stopStateNotifications(): Promise { return; } + stopStateNotifications(): Promise { + return; + } /** * Open System Bluetooth settings (Android only). @@ -450,7 +470,9 @@ export class BLE extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - showBluetoothSettings(): Promise { return; } + showBluetoothSettings(): Promise { + return; + } /** * Enable Bluetooth on the device (Android only). @@ -458,7 +480,9 @@ export class BLE extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - enable(): Promise { return; } + enable(): Promise { + return; + } /** * Read the RSSI value on the device connection. @@ -468,7 +492,7 @@ export class BLE extends IonicNativePlugin { *@returns {Promise} */ @Cordova() - readRSSI( - deviceId: string, - ): Promise { return; } + readRSSI(deviceId: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/bluetooth-serial/index.ts b/src/@ionic-native/plugins/bluetooth-serial/index.ts index 7dfaeedff4..1abc17cfff 100644 --- a/src/@ionic-native/plugins/bluetooth-serial/index.ts +++ b/src/@ionic-native/plugins/bluetooth-serial/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; /** @@ -50,7 +50,9 @@ export class BluetoothSerial extends IonicNativePlugin { observable: true, clearFunction: 'disconnect' }) - connect(macAddress_or_uuid: string): Observable { return; } + connect(macAddress_or_uuid: string): Observable { + return; + } /** * Connect insecurely to a Bluetooth device @@ -62,14 +64,18 @@ export class BluetoothSerial extends IonicNativePlugin { observable: true, clearFunction: 'disconnect' }) - connectInsecure(macAddress: string): Observable { return; } + connectInsecure(macAddress: string): Observable { + return; + } /** * Disconnect from the connected device * @returns {Promise} */ @Cordova() - disconnect(): Promise { return; } + disconnect(): Promise { + return; + } /** * Writes data to the serial port @@ -79,7 +85,9 @@ export class BluetoothSerial extends IonicNativePlugin { @Cordova({ platforms: ['Android', 'iOS', 'Windows Phone'] }) - write(data: any): Promise { return; } + write(data: any): Promise { + return; + } /** * Gets the number of bytes of data available @@ -87,7 +95,10 @@ export class BluetoothSerial extends IonicNativePlugin { */ @Cordova({ platforms: ['Android', 'iOS', 'Windows Phone'] - }) available(): Promise { return; } + }) + available(): Promise { + return; + } /** * Reads data from the buffer @@ -96,7 +107,9 @@ export class BluetoothSerial extends IonicNativePlugin { @Cordova({ platforms: ['Android', 'iOS', 'Windows Phone'] }) - read(): Promise { return; } + read(): Promise { + return; + } /** * Reads data from the buffer until it reaches a delimiter @@ -106,7 +119,9 @@ export class BluetoothSerial extends IonicNativePlugin { @Cordova({ platforms: ['Android', 'iOS', 'Windows Phone'] }) - readUntil(delimiter: string): Promise { return; } + readUntil(delimiter: string): Promise { + return; + } /** * Subscribe to be notified when data is received @@ -118,7 +133,9 @@ export class BluetoothSerial extends IonicNativePlugin { observable: true, clearFunction: 'unsubscribe' }) - subscribe(delimiter: string): Observable { return; } + subscribe(delimiter: string): Observable { + return; + } /** * Subscribe to be notified when data is received @@ -129,7 +146,9 @@ export class BluetoothSerial extends IonicNativePlugin { observable: true, clearFunction: 'unsubscribeRawData' }) - subscribeRawData(): Observable { return; } + subscribeRawData(): Observable { + return; + } /** * Clears data in buffer @@ -138,7 +157,9 @@ export class BluetoothSerial extends IonicNativePlugin { @Cordova({ platforms: ['Android', 'iOS', 'Windows Phone'] }) - clear(): Promise { return; } + clear(): Promise { + return; + } /** * Lists bonded devices @@ -147,7 +168,9 @@ export class BluetoothSerial extends IonicNativePlugin { @Cordova({ platforms: ['Android', 'iOS', 'Windows Phone'] }) - list(): Promise { return; } + list(): Promise { + return; + } /** * Reports if bluetooth is enabled @@ -156,7 +179,9 @@ export class BluetoothSerial extends IonicNativePlugin { @Cordova({ platforms: ['Android', 'iOS', 'Windows Phone'] }) - isEnabled(): Promise { return; } + isEnabled(): Promise { + return; + } /** * Reports the connection status @@ -165,7 +190,9 @@ export class BluetoothSerial extends IonicNativePlugin { @Cordova({ platforms: ['Android', 'iOS', 'Windows Phone'] }) - isConnected(): Promise { return; } + isConnected(): Promise { + return; + } /** * Reads the RSSI from the connected peripheral @@ -174,7 +201,9 @@ export class BluetoothSerial extends IonicNativePlugin { @Cordova({ platforms: ['Android', 'iOS', 'Windows Phone'] }) - readRSSI(): Promise { return; } + readRSSI(): Promise { + return; + } /** * Show the Bluetooth settings on the device @@ -183,7 +212,9 @@ export class BluetoothSerial extends IonicNativePlugin { @Cordova({ platforms: ['Android', 'iOS', 'Windows Phone'] }) - showBluetoothSettings(): Promise { return; } + showBluetoothSettings(): Promise { + return; + } /** * Enable Bluetooth on the device @@ -192,7 +223,9 @@ export class BluetoothSerial extends IonicNativePlugin { @Cordova({ platforms: ['Android', 'iOS', 'Windows Phone'] }) - enable(): Promise { return; } + enable(): Promise { + return; + } /** * Discover unpaired devices @@ -201,7 +234,9 @@ export class BluetoothSerial extends IonicNativePlugin { @Cordova({ platforms: ['Android', 'iOS', 'Windows Phone'] }) - discoverUnpaired(): Promise { return; } + discoverUnpaired(): Promise { + return; + } /** * Subscribe to be notified on Bluetooth device discovery. Discovery process must be initiated with the `discoverUnpaired` function. @@ -212,7 +247,9 @@ export class BluetoothSerial extends IonicNativePlugin { observable: true, clearFunction: 'clearDeviceDiscoveredListener' }) - setDeviceDiscoveredListener(): Observable { return; } + setDeviceDiscoveredListener(): Observable { + return; + } /** * Sets the human readable device name that is broadcasted to other devices @@ -222,7 +259,8 @@ export class BluetoothSerial extends IonicNativePlugin { platforms: ['Android'], sync: true }) - setName(newName: string): void { } + setName(newName: string): void { + } /** * Makes the device discoverable by other devices @@ -232,6 +270,7 @@ export class BluetoothSerial extends IonicNativePlugin { platforms: ['Android'], sync: true }) - setDiscoverable(discoverableDuration: number): void { } + setDiscoverable(discoverableDuration: number): void { + } } diff --git a/src/@ionic-native/plugins/braintree/index.ts b/src/@ionic-native/plugins/braintree/index.ts index dd805ff9c3..7de4f13368 100644 --- a/src/@ionic-native/plugins/braintree/index.ts +++ b/src/@ionic-native/plugins/braintree/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * Options for the setupApplePay method. @@ -116,8 +116,7 @@ export interface PaymentUIResult { /** * Information about the Apple Pay card used to complete a payment (if Apple Pay was used). */ - applePaycard: { - }; + applePaycard: {}; /** * Information about 3D Secure card used to complete a payment (if 3D Secure was used). @@ -167,12 +166,12 @@ export interface PaymentUIResult { * merchantId: '', * currency: 'USD', * country: 'US' - * }; + * } * * const paymentOptions: PaymentUIOptions = { * amount: '14.99', * primaryDescription: 'Your product or service (per /item, /month, /week, etc)', - * }; + * } * * this.braintree.initialize(BRAINTREE_TOKEN) * .then(() => this.braintree.setupApplePay(appleOptions)) @@ -217,7 +216,9 @@ export class Braintree extends IonicNativePlugin { @Cordova({ platforms: ['Android', 'iOS'], }) - initialize(token: string): Promise { return; } + initialize(token: string): Promise { + return; + } /** * Used to configure Apple Pay on iOS. @@ -234,7 +235,9 @@ export class Braintree extends IonicNativePlugin { @Cordova({ platforms: ['iOS'], }) - setupApplePay(options: ApplePayOptions): Promise { return; } + setupApplePay(options: ApplePayOptions): Promise { + return; + } /** * Shows Braintree's Drop-In Payments UI. @@ -246,5 +249,7 @@ export class Braintree extends IonicNativePlugin { @Cordova({ platforms: ['Android', 'iOS'], }) - presentDropInPaymentUI(options?: PaymentUIOptions): Promise { return; } + presentDropInPaymentUI(options?: PaymentUIOptions): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/brightness/index.ts b/src/@ionic-native/plugins/brightness/index.ts index d6a4aa6775..005dab1d33 100644 --- a/src/@ionic-native/plugins/brightness/index.ts +++ b/src/@ionic-native/plugins/brightness/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -39,7 +39,9 @@ export class Brightness extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves if setting brightness was successful. */ @Cordova() - setBrightness(value: number): Promise { return; } + setBrightness(value: number): Promise { + return; + } /** * Reads the current brightness of the device display. @@ -48,12 +50,15 @@ export class Brightness extends IonicNativePlugin { * brightness value of the device display (floating number between 0 and 1). */ @Cordova() - getBrightness(): Promise { return; } + getBrightness(): Promise { + return; + } /** - * Keeps the screen on. Prevents the device from setting the screen to sleep. - */ + * Keeps the screen on. Prevents the device from setting the screen to sleep. + */ @Cordova() - setKeepScreenOn(value: boolean): void { } + setKeepScreenOn(value: boolean): void { + } } diff --git a/src/@ionic-native/plugins/broadcaster/index.ts b/src/@ionic-native/plugins/broadcaster/index.ts index 8aabbb9022..663e654c49 100644 --- a/src/@ionic-native/plugins/broadcaster/index.ts +++ b/src/@ionic-native/plugins/broadcaster/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; /** @@ -43,7 +43,9 @@ export class Broadcaster extends IonicNativePlugin { clearFunction: 'removeEventListener', clearWithArgs: true }) - addEventListener(eventName: string): Observable { return; } + addEventListener(eventName: string): Observable { + return; + } /** * This function sends data to the native code @@ -52,6 +54,8 @@ export class Broadcaster extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when an event is successfully fired */ @Cordova() - fireNativeEvent(eventName: string, eventData: any): Promise { return; } + fireNativeEvent(eventName: string, eventData: any): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/browser-tab/index.ts b/src/@ionic-native/plugins/browser-tab/index.ts index d41848c078..a0f24ccec3 100644 --- a/src/@ionic-native/plugins/browser-tab/index.ts +++ b/src/@ionic-native/plugins/browser-tab/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -47,7 +47,9 @@ export class BrowserTab extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when check is successful and returns true or false */ @Cordova() - isAvailable(): Promise { return; } + isAvailable(): Promise { + return; + } /** * Opens the provided URL using a browser tab @@ -55,12 +57,16 @@ export class BrowserTab extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when check open was successful */ @Cordova() - openUrl(url: string): Promise { return; } + openUrl(url: string): Promise { + return; + } /** * Closes browser tab * @return {Promise} Returns a promise that resolves when close was finished */ @Cordova() - close(): Promise { return; } + close(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/calendar/index.ts b/src/@ionic-native/plugins/calendar/index.ts index 329df36660..ffbf589cc9 100644 --- a/src/@ionic-native/plugins/calendar/index.ts +++ b/src/@ionic-native/plugins/calendar/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface CalendarOptions { @@ -95,42 +95,54 @@ export class Calendar extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - hasReadWritePermission(): Promise { return; } + hasReadWritePermission(): Promise { + return; + } /** * Check if we have read permission * @returns {Promise} */ @Cordova() - hasReadPermission(): Promise { return; } + hasReadPermission(): Promise { + return; + } /** * Check if we have write permission * @returns {Promise} */ @Cordova() - hasWritePermission(): Promise { return; } + hasWritePermission(): Promise { + return; + } /** * Request write permission * @returns {Promise} */ @Cordova() - requestWritePermission(): Promise { return; } + requestWritePermission(): Promise { + return; + } /** * Request read permission * @returns {Promise} */ @Cordova() - requestReadPermission(): Promise { return; } + requestReadPermission(): Promise { + return; + } /** * Requests read/write permissions * @returns {Promise} */ @Cordova() - requestReadWritePermission(): Promise { return; } + requestReadWritePermission(): Promise { + return; + } /** * Create a calendar. (iOS only) @@ -139,7 +151,9 @@ export class Calendar extends IonicNativePlugin { * @returns {Promise} Returns a Promise */ @Cordova() - createCalendar(nameOrOptions: string | any): Promise { return; } + createCalendar(nameOrOptions: string | any): Promise { + return; + } /** * Delete a calendar. (iOS only) @@ -147,7 +161,9 @@ export class Calendar extends IonicNativePlugin { * @returns {Promise} Returns a Promise */ @Cordova() - deleteCalendar(name: string): Promise { return; } + deleteCalendar(name: string): Promise { + return; + } /** * Returns the default calendar options. @@ -157,7 +173,9 @@ export class Calendar extends IonicNativePlugin { @Cordova({ sync: true }) - getCalendarOptions(): CalendarOptions { return; } + getCalendarOptions(): CalendarOptions { + return; + } /** * Silently create an event. @@ -169,13 +187,13 @@ export class Calendar extends IonicNativePlugin { * @returns {Promise} Returns a Promise */ @Cordova() - createEvent( - title?: string, - location?: string, - notes?: string, - startDate?: Date, - endDate?: Date - ): Promise { return; } + createEvent(title?: string, + location?: string, + notes?: string, + startDate?: Date, + endDate?: Date): Promise { + return; + } /** * Silently create an event with additional options. @@ -189,14 +207,14 @@ export class Calendar extends IonicNativePlugin { * @returns {Promise} Returns a Promise */ @Cordova() - createEventWithOptions( - title?: string, - location?: string, - notes?: string, - startDate?: Date, - endDate?: Date, - options?: CalendarOptions - ): Promise { return; } + createEventWithOptions(title?: string, + location?: string, + notes?: string, + startDate?: Date, + endDate?: Date, + options?: CalendarOptions): Promise { + return; + } /** * Interactively create an event. @@ -209,13 +227,13 @@ export class Calendar extends IonicNativePlugin { * @returns {Promise} Returns a Promise */ @Cordova() - createEventInteractively( - title?: string, - location?: string, - notes?: string, - startDate?: Date, - endDate?: Date - ): Promise { return; } + createEventInteractively(title?: string, + location?: string, + notes?: string, + startDate?: Date, + endDate?: Date): Promise { + return; + } /** * Interactively create an event with additional options. @@ -229,14 +247,14 @@ export class Calendar extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - createEventInteractivelyWithOptions( - title?: string, - location?: string, - notes?: string, - startDate?: Date, - endDate?: Date, - options?: CalendarOptions - ): Promise { return; } + createEventInteractivelyWithOptions(title?: string, + location?: string, + notes?: string, + startDate?: Date, + endDate?: Date, + options?: CalendarOptions): Promise { + return; + } /** * Find an event. @@ -249,13 +267,13 @@ export class Calendar extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - findEvent( - title?: string, - location?: string, - notes?: string, - startDate?: Date, - endDate?: Date - ): Promise { return; } + findEvent(title?: string, + location?: string, + notes?: string, + startDate?: Date, + endDate?: Date): Promise { + return; + } /** * Find an event with additional options. @@ -268,14 +286,14 @@ export class Calendar extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with the event, or rejects with an error. */ @Cordova() - findEventWithOptions( - title?: string, - location?: string, - notes?: string, - startDate?: Date, - endDate?: Date, - options?: CalendarOptions - ): Promise { return; } + findEventWithOptions(title?: string, + location?: string, + notes?: string, + startDate?: Date, + endDate?: Date, + options?: CalendarOptions): Promise { + return; + } /** * Find a list of events within the specified date range. (Android only) @@ -287,14 +305,18 @@ export class Calendar extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - listEventsInRange(startDate: Date, endDate: Date): Promise { return; } + listEventsInRange(startDate: Date, endDate: Date): Promise { + return; + } /** * Get a list of all calendars. * @returns {Promise} A Promise that resolves with the list of calendars, or rejects with an error. */ @Cordova() - listCalendars(): Promise { return; } + listCalendars(): Promise { + return; + } /** * Get a list of all future events in the specified calendar. (iOS only) @@ -303,7 +325,9 @@ export class Calendar extends IonicNativePlugin { @Cordova({ platforms: ['iOS'] }) - findAllEventsInNamedCalendar(calendarName: string): Promise { return; } + findAllEventsInNamedCalendar(calendarName: string): Promise { + return; + } /** * Modify an event. (iOS only) @@ -323,18 +347,18 @@ export class Calendar extends IonicNativePlugin { @Cordova({ platforms: ['iOS'] }) - modifyEvent( - title?: string, - location?: string, - notes?: string, - startDate?: Date, - endDate?: Date, - newTitle?: string, - newLocation?: string, - newNotes?: string, - newStartDate?: Date, - newEndDate?: Date - ): Promise { return; } + modifyEvent(title?: string, + location?: string, + notes?: string, + startDate?: Date, + endDate?: Date, + newTitle?: string, + newLocation?: string, + newNotes?: string, + newStartDate?: Date, + newEndDate?: Date): Promise { + return; + } /** * Modify an event with additional options. (iOS only) @@ -356,20 +380,20 @@ export class Calendar extends IonicNativePlugin { @Cordova({ platforms: ['iOS'] }) - modifyEventWithOptions( - title?: string, - location?: string, - notes?: string, - startDate?: Date, - endDate?: Date, - newTitle?: string, - newLocation?: string, - newNotes?: string, - newStartDate?: Date, - newEndDate?: Date, - filterOptions?: CalendarOptions, - newOptions?: CalendarOptions - ): Promise { return; } + modifyEventWithOptions(title?: string, + location?: string, + notes?: string, + startDate?: Date, + endDate?: Date, + newTitle?: string, + newLocation?: string, + newNotes?: string, + newStartDate?: Date, + newEndDate?: Date, + filterOptions?: CalendarOptions, + newOptions?: CalendarOptions): Promise { + return; + } /** * Delete an event. @@ -382,13 +406,13 @@ export class Calendar extends IonicNativePlugin { * @return Returns a Promise */ @Cordova() - deleteEvent( - title?: string, - location?: string, - notes?: string, - startDate?: Date, - endDate?: Date - ): Promise { return; } + deleteEvent(title?: string, + location?: string, + notes?: string, + startDate?: Date, + endDate?: Date): Promise { + return; + } /** * Delete an event from the specified Calendar. (iOS only) @@ -404,14 +428,14 @@ export class Calendar extends IonicNativePlugin { @Cordova({ platforms: ['iOS'] }) - deleteEventFromNamedCalendar( - title?: string, - location?: string, - notes?: string, - startDate?: Date, - endDate?: Date, - calendarName?: string - ): Promise { return; } + deleteEventFromNamedCalendar(title?: string, + location?: string, + notes?: string, + startDate?: Date, + endDate?: Date, + calendarName?: string): Promise { + return; + } /** * Open the calendar at the specified date. @@ -419,6 +443,8 @@ export class Calendar extends IonicNativePlugin { * @return {Promise} Promise returns a promise */ @Cordova() - openCalendar(date: Date): Promise { return; } + openCalendar(date: Date): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/call-number/index.ts b/src/@ionic-native/plugins/call-number/index.ts index aa78c34a5b..d902d30a4f 100644 --- a/src/@ionic-native/plugins/call-number/index.ts +++ b/src/@ionic-native/plugins/call-number/index.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; + /** * @name Call Number * @description diff --git a/src/@ionic-native/plugins/camera-preview/index.ts b/src/@ionic-native/plugins/camera-preview/index.ts index 4545d96352..fbefd1f7af 100644 --- a/src/@ionic-native/plugins/camera-preview/index.ts +++ b/src/@ionic-native/plugins/camera-preview/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface CameraPreviewDimensions { /** The width of the camera preview, default to window.screen.width */ @@ -77,7 +77,7 @@ export interface CameraPreviewPictureOptions { * previewDrag: true, * toBack: true, * alpha: 1 - * }; + * } * * // start camera * this.cameraPreview.startCamera(cameraPreviewOpts).then( @@ -189,35 +189,45 @@ export class CameraPreview extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - startCamera(options: CameraPreviewOptions): Promise { return; } + startCamera(options: CameraPreviewOptions): Promise { + return; + } /** * Stops the camera preview instance. (iOS & Android) * @return {Promise} */ @Cordova() - stopCamera(): Promise { return; } + stopCamera(): Promise { + return; + } /** * Switch from the rear camera and front camera, if available. * @return {Promise} */ @Cordova() - switchCamera(): Promise { return; } + switchCamera(): Promise { + return; + } /** * Hide the camera preview box. * @return {Promise} */ @Cordova() - hide(): Promise { return; } + hide(): Promise { + return; + } /** * Show the camera preview box. * @return {Promise} */ @Cordova() - show(): Promise { return; } + show(): Promise { + return; + } /** * Take the picture (base64) @@ -228,7 +238,9 @@ export class CameraPreview extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - takePicture(options?: CameraPreviewPictureOptions): Promise { return; } + takePicture(options?: CameraPreviewPictureOptions): Promise { + return; + } /** * @@ -241,7 +253,9 @@ export class CameraPreview extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - setColorEffect(effect: string): Promise { return; } + setColorEffect(effect: string): Promise { + return; + } /** * Set the zoom (Android) @@ -252,21 +266,27 @@ export class CameraPreview extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - setZoom(zoom?: number): Promise { return; } + setZoom(zoom?: number): Promise { + return; + } /** - * Get the maximum zoom (Android) - * @return {Promise} - */ + * Get the maximum zoom (Android) + * @return {Promise} + */ @Cordova() - getMaxZoom(): Promise { return; } + getMaxZoom(): Promise { + return; + } /** * Get current zoom (Android) * @return {Promise} */ @Cordova() - getZoom(): Promise { return; } + getZoom(): Promise { + return; + } /** * Set the preview Size @@ -277,14 +297,18 @@ export class CameraPreview extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - setPreviewSize(dimensions?: CameraPreviewDimensions): Promise { return; } + setPreviewSize(dimensions?: CameraPreviewDimensions): Promise { + return; + } /** * Get focus mode * @return {Promise} */ @Cordova() - getFocusMode(): Promise { return; } + getFocusMode(): Promise { + return; + } /** * Set the focus mode @@ -295,21 +319,27 @@ export class CameraPreview extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - setFocusMode(focusMode?: string): Promise { return; } + setFocusMode(focusMode?: string): Promise { + return; + } /** * Get supported focus modes * @return {Promise} */ @Cordova() - getSupportedFocusModes(): Promise { return; } + getSupportedFocusModes(): Promise { + return; + } /** * Get the current flash mode * @return {Promise} */ @Cordova() - getFlashMode(): Promise { return; } + getFlashMode(): Promise { + return; + } /** * Set the flashmode @@ -320,35 +350,45 @@ export class CameraPreview extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - setFlashMode(flashMode?: string): Promise { return; } + setFlashMode(flashMode?: string): Promise { + return; + } /** * Get supported flash modes * @return {Promise} */ @Cordova() - getSupportedFlashModes(): Promise { return; } + getSupportedFlashModes(): Promise { + return; + } /** * Get supported picture sizes * @return {Promise} */ @Cordova() - getSupportedPictureSizes(): Promise { return; } + getSupportedPictureSizes(): Promise { + return; + } /** * Get exposure mode * @return {Promise} */ @Cordova() - getExposureMode(): Promise { return; } + getExposureMode(): Promise { + return; + } /** * Get exposure modes * @return {Promise} */ @Cordova() - getExposureModes(): Promise { return; } + getExposureModes(): Promise { + return; + } /** * Set exposure mode @@ -359,14 +399,18 @@ export class CameraPreview extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - setExposureMode(lock?: string): Promise { return; } + setExposureMode(lock?: string): Promise { + return; + } /** * Get exposure compensation (Android) * @return {Promise} */ @Cordova() - getExposureCompensation(): Promise { return; } + getExposureCompensation(): Promise { + return; + } /** * Set exposure compensation (Android) @@ -377,14 +421,18 @@ export class CameraPreview extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - setExposureCompensation(exposureCompensation?: number): Promise { return; } + setExposureCompensation(exposureCompensation?: number): Promise { + return; + } /** * Get exposure compensation range (Android) * @return {Promise} */ @Cordova() - getExposureCompensationRange(): Promise { return; } + getExposureCompensationRange(): Promise { + return; + } /** * Set specific focus point. Note, this assumes the camera is full-screen. @@ -393,6 +441,8 @@ export class CameraPreview extends IonicNativePlugin { * @return {Promise} */ @Cordova() - tapToFocus(xPoint: number, yPoint: number): Promise { return; } + tapToFocus(xPoint: number, yPoint: number): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/camera/index.ts b/src/@ionic-native/plugins/camera/index.ts index ac789d5dcf..3fa3a30579 100644 --- a/src/@ionic-native/plugins/camera/index.ts +++ b/src/@ionic-native/plugins/camera/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface CameraOptions { /** Picture quality in range 0-100. Default is 50 */ @@ -33,7 +33,7 @@ export interface CameraOptions { /** * Width in pixels to scale image. Must be used with targetHeight. * Aspect ratio remains constant. - */ + */ targetWidth?: number; /** * Height in pixels to scale image. Must be used with targetWidth. @@ -243,7 +243,9 @@ export class Camera extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getPicture(options?: CameraOptions): Promise { return; } + getPicture(options?: CameraOptions): Promise { + return; + } /** * Remove intermediate image files that are kept in temporary storage after calling camera.getPicture. @@ -253,6 +255,8 @@ export class Camera extends IonicNativePlugin { @Cordova({ platforms: ['iOS'] }) - cleanup(): Promise { return; }; + cleanup(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/card-io/index.ts b/src/@ionic-native/plugins/card-io/index.ts index 5d96b76e5f..c81147c56e 100644 --- a/src/@ionic-native/plugins/card-io/index.ts +++ b/src/@ionic-native/plugins/card-io/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface CardIOOptions { @@ -9,7 +9,7 @@ export interface CardIOOptions { requireExpiry?: boolean; /** - * The user will be prompted for the card CVV + * The user will be prompted for the card CVV */ requireCVV?: boolean; @@ -19,7 +19,7 @@ export interface CardIOOptions { requirePostalCode?: boolean; /** - * Removes the keyboard button from the scan screen. + * Removes the keyboard button from the scan screen. */ supressManual?: boolean; @@ -44,7 +44,7 @@ export interface CardIOOptions { scanInstructions?: string; /** - * If set, the card will not be scanned with the camera. + * If set, the card will not be scanned with the camera. */ noCamera?: boolean; @@ -154,7 +154,7 @@ export interface CardIOResponse { * requireExpiry: true, * requireCVV: false, * requirePostalCode: false - * }; + * } * CardIO.scan(options); * } * } @@ -181,7 +181,9 @@ export class CardIO extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - canScan(): Promise { return; } + canScan(): Promise { + return; + } /** * Scan a credit card with card.io. @@ -189,13 +191,17 @@ export class CardIO extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - scan(options?: CardIOOptions): Promise { return; } + scan(options?: CardIOOptions): Promise { + return; + } /** * Retrieve the version of the card.io library. Useful when contacting support. * @returns {Promise} */ @Cordova() - version(): Promise { return; } + version(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/clipboard/index.ts b/src/@ionic-native/plugins/clipboard/index.ts index 1070bf6dad..4590c692e2 100644 --- a/src/@ionic-native/plugins/clipboard/index.ts +++ b/src/@ionic-native/plugins/clipboard/index.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; + /** * @name Clipboard * @description @@ -43,13 +44,17 @@ export class Clipboard extends IonicNativePlugin { * @returns {Promise} Returns a promise after the text has been copied */ @Cordova() - copy(text: string): Promise { return; } + copy(text: string): Promise { + return; + } /** * Pastes the text stored in clipboard * @returns {Promise} Returns a promise after the text has been pasted */ @Cordova() - paste(): Promise { return; } + paste(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/code-push/index.ts b/src/@ionic-native/plugins/code-push/index.ts index 59b5591cf3..f7ad5b2db8 100644 --- a/src/@ionic-native/plugins/code-push/index.ts +++ b/src/@ionic-native/plugins/code-push/index.ts @@ -1,6 +1,7 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; + namespace Http { export const enum Verb { GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH @@ -13,6 +14,7 @@ namespace Http { export interface Requester { request(verb: Verb, url: string, callback: Callback): void; + request(verb: Verb, url: string, requestBody: string, callback: Callback): void; } } @@ -93,20 +95,24 @@ export interface ILocalPackage extends IPackage { * Decomposed static side of RemotePackage. * For Class Decomposition guidelines see http://www.typescriptlang.org/Handbook#writing-dts-files-guidelines-and-specifics */ + /* tslint:disable */ interface RemotePackage_Static { new (): IRemotePackage; } + /* tslint:enable */ /** * Decomposed static side of LocalPackage. * For Class Decomposition guidelines see http://www.typescriptlang.org/Handbook#writing-dts-files-guidelines-and-specifics */ + /* tslint:disable */ interface LocalPackage_Static { new (): ILocalPackage; } + /* tslint:enable */ declare const RemotePackage: RemotePackage_Static; @@ -127,9 +133,17 @@ interface NativeUpdateNotification { appVersion: string; } -export interface Callback { (error: Error, parameter: T): void; } -export interface SuccessCallback { (result?: T): void; } -export interface ErrorCallback { (error?: Error): void; } +export interface Callback { + (error: Error, parameter: T): void; +} + +export interface SuccessCallback { + (result?: T): void; +} + +export interface ErrorCallback { + (error?: Error): void; +} interface Configuration { appVersion: string; @@ -146,8 +160,11 @@ declare class AcquisitionStatus { declare class AcquisitionManager { constructor(httpRequester: Http.Requester, configuration: Configuration); + public queryUpdateWithCurrentPackage(currentPackage: IPackage, callback?: Callback): void; + public reportStatusDeploy(pkg?: IPackage, status?: string, previousLabelOrAppVersion?: string, previousDeploymentKey?: string, callback?: Callback): void; + public reportStatusDownload(pkg: IPackage, callback?: Callback): void; } diff --git a/src/@ionic-native/plugins/contacts/index.ts b/src/@ionic-native/plugins/contacts/index.ts index f3e7f5d648..5be10d9e5f 100644 --- a/src/@ionic-native/plugins/contacts/index.ts +++ b/src/@ionic-native/plugins/contacts/index.ts @@ -1,10 +1,47 @@ import { Injectable } from '@angular/core'; -import { CordovaInstance, InstanceProperty, Plugin, getPromise, InstanceCheck, checkAvailability, CordovaCheck, IonicNativePlugin } from '@ionic-native/core'; +import { + checkAvailability, + CordovaCheck, + CordovaInstance, + getPromise, + InstanceCheck, + InstanceProperty, + IonicNativePlugin, + Plugin +} from '@ionic-native/core'; declare const window: any, navigator: any; -export type ContactFieldType = '*' | 'addresses' | 'birthday' | 'categories' | 'country' | 'department' | 'displayName' | 'emails' | 'familyName' | 'formatted' | 'givenName' | 'honorificPrefix' | 'honorificSuffix' | 'id' | 'ims' | 'locality' | 'middleName' | 'name' | 'nickname' | 'note' | 'organizations' | 'phoneNumbers' | 'photos' | 'postalCode' | 'region' | 'streetAddress' | 'title' | 'urls'; +export type ContactFieldType = + '*' + | 'addresses' + | 'birthday' + | 'categories' + | 'country' + | 'department' + | 'displayName' + | 'emails' + | 'familyName' + | 'formatted' + | 'givenName' + | 'honorificPrefix' + | 'honorificSuffix' + | 'id' + | 'ims' + | 'locality' + | 'middleName' + | 'name' + | 'nickname' + | 'note' + | 'organizations' + | 'phoneNumbers' + | 'photos' + | 'postalCode' + | 'region' + | 'streetAddress' + | 'title' + | 'urls'; export interface IContactProperties { @@ -56,21 +93,21 @@ export interface IContactProperties { * @hidden */ export class Contact implements IContactProperties { + @InstanceProperty() id: string; + @InstanceProperty() displayName: string; + @InstanceProperty() name: IContactName; + @InstanceProperty() nickname: string; + @InstanceProperty() phoneNumbers: IContactField[]; + @InstanceProperty() emails: IContactField[]; + @InstanceProperty() addresses: IContactAddress[]; + @InstanceProperty() ims: IContactField[]; + @InstanceProperty() organizations: IContactOrganization[]; + @InstanceProperty() birthday: Date; + @InstanceProperty() note: string; + @InstanceProperty() photos: IContactField[]; + @InstanceProperty() categories: IContactField[]; + @InstanceProperty() urls: IContactField[]; private _objectInstance: any; - @InstanceProperty id: string; - @InstanceProperty displayName: string; - @InstanceProperty name: IContactName; - @InstanceProperty nickname: string; - @InstanceProperty phoneNumbers: IContactField[]; - @InstanceProperty emails: IContactField[]; - @InstanceProperty addresses: IContactAddress[]; - @InstanceProperty ims: IContactField[]; - @InstanceProperty organizations: IContactOrganization[]; - @InstanceProperty birthday: Date; - @InstanceProperty note: string; - @InstanceProperty photos: IContactField[]; - @InstanceProperty categories: IContactField[]; - @InstanceProperty urls: IContactField[]; [key: string]: any; @@ -91,7 +128,9 @@ export class Contact implements IContactProperties { } @CordovaInstance() - remove(): Promise { return; } + remove(): Promise { + return; + } @InstanceCheck() save(): Promise { @@ -148,11 +187,12 @@ export interface IContactName { */ export class ContactName implements IContactName { constructor(public formatted?: string, - public familyName?: string, - public givenName?: string, - public middleName?: string, - public honorificPrefix?: string, - public honorificSuffix?: string) { } + public familyName?: string, + public givenName?: string, + public middleName?: string, + public honorificPrefix?: string, + public honorificSuffix?: string) { + } } export interface IContactField { @@ -169,8 +209,9 @@ export interface IContactField { */ export class ContactField implements IContactField { constructor(public type?: string, - public value?: string, - public pref?: boolean) { } + public value?: string, + public pref?: boolean) { + } } export interface IContactAddress { @@ -197,13 +238,14 @@ export interface IContactAddress { */ export class ContactAddress implements IContactAddress { constructor(public pref?: boolean, - public type?: string, - public formatted?: string, - public streetAddress?: string, - public locality?: string, - public region?: string, - public postalCode?: string, - public country?: string) { } + public type?: string, + public formatted?: string, + public streetAddress?: string, + public locality?: string, + public region?: string, + public postalCode?: string, + public country?: string) { + } } export interface IContactOrganization { @@ -223,13 +265,12 @@ export interface IContactOrganization { * @hidden */ export class ContactOrganization implements IContactOrganization { - constructor( - public type?: string, - public name?: string, - public department?: string, - public title?: string, - public pref?: boolean - ) { } + constructor(public type?: string, + public name?: string, + public department?: string, + public title?: string, + public pref?: boolean) { + } } /** Search options to filter navigator.contacts. */ @@ -251,9 +292,10 @@ export interface IContactFindOptions { */ export class ContactFindOptions implements IContactFindOptions { constructor(public filter?: string, - public multiple?: boolean, - public desiredFields?: string[], - public hasPhoneNumber?: boolean) { } + public multiple?: boolean, + public desiredFields?: string[], + public hasPhoneNumber?: boolean) { + } } /** diff --git a/src/@ionic-native/plugins/couchbase-lite/index.ts b/src/@ionic-native/plugins/couchbase-lite/index.ts index 467a0e80b6..097d433f63 100644 --- a/src/@ionic-native/plugins/couchbase-lite/index.ts +++ b/src/@ionic-native/plugins/couchbase-lite/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; @@ -66,8 +66,8 @@ import { Injectable } from '@angular/core'; * .catch((error:any) => { * return Observable.throw(error.json() || 'Couchbase Lite error'); * }) . - * } - * createDocument(database_name:string,document){ + * } + * createDocument(database_name:string,document){ * let url = this.getUrl(); * url = url + database_name; * return this._http @@ -84,9 +84,9 @@ import { Injectable } from '@angular/core'; * createDocument('justbe', document); * // successful response * { "id": "string","rev": "string","ok": true } - * updateDocument(database_name:string,document){ + * updateDocument(database_name:string,document){ * let url = this.getUrl(); - * url = url + database_name + '/' + document._id; + * url = url + database_name + '/' + document._id; * return this._http * .put(url,document) * .map(data => { this.results = data['results'] }) @@ -129,6 +129,8 @@ export class CouchbaseLite extends IonicNativePlugin { @Cordova({ callbackStyle: 'node' }) - getURL(): Promise { return; } + getURL(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/crop/index.ts b/src/@ionic-native/plugins/crop/index.ts index 52c5c041e8..6626d4f902 100644 --- a/src/@ionic-native/plugins/crop/index.ts +++ b/src/@ionic-native/plugins/crop/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Crop @@ -38,6 +38,8 @@ export class Crop extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - crop(pathToImage: string, options?: { quality: number }): Promise { return; } + crop(pathToImage: string, options?: { quality: number }): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/date-picker/index.ts b/src/@ionic-native/plugins/date-picker/index.ts index 5c66678649..13de0501c3 100644 --- a/src/@ionic-native/plugins/date-picker/index.ts +++ b/src/@ionic-native/plugins/date-picker/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface DatePickerOptions { /** diff --git a/src/@ionic-native/plugins/db-meter/index.ts b/src/@ionic-native/plugins/db-meter/index.ts index 01e54bd838..2c1b7140de 100644 --- a/src/@ionic-native/plugins/db-meter/index.ts +++ b/src/@ionic-native/plugins/db-meter/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; /** @@ -52,27 +52,35 @@ export class DBMeter extends IonicNativePlugin { observable: true, clearFunction: 'stop' }) - start(): Observable { return; } + start(): Observable { + return; + } /** * Stops listening * @hidden */ @Cordova() - stop(): Promise { return; } + stop(): Promise { + return; + } /** * Check if the DB Meter is listening * @returns {Promise} Returns a promise that resolves with a boolean that tells us whether the DB meter is listening */ @Cordova() - isListening(): Promise { return; } + isListening(): Promise { + return; + } /** * Delete the DB Meter instance * @returns {Promise} Returns a promise that will resolve if the instance has been deleted, and rejects if errors occur. */ @Cordova() - delete(): Promise { return; } + delete(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/deeplinks/index.ts b/src/@ionic-native/plugins/deeplinks/index.ts index 0b95191686..fd81aa94f2 100644 --- a/src/@ionic-native/plugins/deeplinks/index.ts +++ b/src/@ionic-native/plugins/deeplinks/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface DeeplinkMatch { @@ -105,7 +105,9 @@ export class Deeplinks extends IonicNativePlugin { @Cordova({ observable: true }) - route(paths: any): Observable { return; } + route(paths: any): Observable { + return; + } /** * @@ -123,7 +125,7 @@ export class Deeplinks extends IonicNativePlugin { * promise result which you can then use to navigate in the app as you see fit. * * @param {Object} paths - * + * * @param {DeeplinkOptions} options * * @returns {Observable} Returns an Observable that resolves each time a deeplink comes through, and @@ -132,6 +134,8 @@ export class Deeplinks extends IonicNativePlugin { @Cordova({ observable: true }) - routeWithNavController(navController: any, paths: any, options?: DeeplinkOptions): Observable { return; } + routeWithNavController(navController: any, paths: any, options?: DeeplinkOptions): Observable { + return; + } } diff --git a/src/@ionic-native/plugins/device-accounts/index.ts b/src/@ionic-native/plugins/device-accounts/index.ts index ec345c165f..fade1dfbd6 100644 --- a/src/@ionic-native/plugins/device-accounts/index.ts +++ b/src/@ionic-native/plugins/device-accounts/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Device Accounts @@ -35,27 +35,35 @@ export class DeviceAccounts extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - get(): Promise { return; } + get(): Promise { + return; + } /** * Get all accounts registered on Android device for requested type * @returns {Promise} */ @Cordova() - getByType(type: string): Promise { return; } + getByType(type: string): Promise { + return; + } /** * Get all emails registered on Android device (accounts with 'com.google' type) * @returns {Promise} */ @Cordova() - getEmails(): Promise { return; } + getEmails(): Promise { + return; + } /** * Get the first email registered on Android device * @returns {Promise} */ @Cordova() - getEmail(): Promise { return; } + getEmail(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/device-feedback/index.ts b/src/@ionic-native/plugins/device-feedback/index.ts index 5246e4e6de..ba626e47e8 100644 --- a/src/@ionic-native/plugins/device-feedback/index.ts +++ b/src/@ionic-native/plugins/device-feedback/index.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; + /** * @name Device Feedback * @description @@ -44,20 +45,24 @@ export class DeviceFeedback extends IonicNativePlugin { * Provide sound feedback to user, nevertheless respect user's settings and current active device profile as native feedback do. */ @Cordova({ sync: true }) - acoustic(): void { } + acoustic(): void { + } /** * Provide vibrate feedback to user, nevertheless respect user's tactile feedback setting as native feedback do. * @param type {Number} Specify type of vibration feedback. 0 for long press, 1 for virtual key, or 3 for keyboard tap. */ @Cordova({ sync: true }) - haptic(type: number): void { } + haptic(type: number): void { + } /** * Check if haptic and acoustic feedback is enabled by user settings. * @returns {Promise} */ @Cordova() - isFeedbackEnabled(): Promise<{ haptic: boolean; acoustic: boolean; }> { return; } + isFeedbackEnabled(): Promise<{ haptic: boolean; acoustic: boolean; }> { + return; + } } diff --git a/src/@ionic-native/plugins/device-motion/index.ts b/src/@ionic-native/plugins/device-motion/index.ts index c29ec8be3b..24197a09ba 100644 --- a/src/@ionic-native/plugins/device-motion/index.ts +++ b/src/@ionic-native/plugins/device-motion/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface DeviceMotionAccelerationData { @@ -82,7 +82,9 @@ export class DeviceMotion extends IonicNativePlugin { * @returns {Promise} Returns object with x, y, z, and timestamp properties */ @Cordova() - getCurrentAcceleration(): Promise { return; } + getCurrentAcceleration(): Promise { + return; + } /** * Watch the device acceleration. Clear the watch by unsubscribing from the observable. @@ -94,6 +96,8 @@ export class DeviceMotion extends IonicNativePlugin { observable: true, clearFunction: 'clearWatch' }) - watchAcceleration(options?: DeviceMotionAccelerometerOptions): Observable { return; } + watchAcceleration(options?: DeviceMotionAccelerometerOptions): Observable { + return; + } } diff --git a/src/@ionic-native/plugins/device-orientation/index.ts b/src/@ionic-native/plugins/device-orientation/index.ts index bbddc03394..01287bb811 100644 --- a/src/@ionic-native/plugins/device-orientation/index.ts +++ b/src/@ionic-native/plugins/device-orientation/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface DeviceOrientationCompassHeading { @@ -87,7 +87,9 @@ export class DeviceOrientation extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - getCurrentHeading(): Promise { return; } + getCurrentHeading(): Promise { + return; + } /** * Get the device current heading at a regular interval @@ -101,6 +103,8 @@ export class DeviceOrientation extends IonicNativePlugin { observable: true, clearFunction: 'clearWatch' }) - watchHeading(options?: DeviceOrientationCompassOptions): Observable { return; } + watchHeading(options?: DeviceOrientationCompassOptions): Observable { + return; + } } diff --git a/src/@ionic-native/plugins/device/index.ts b/src/@ionic-native/plugins/device/index.ts index 4a5caa2e59..94c980308a 100644 --- a/src/@ionic-native/plugins/device/index.ts +++ b/src/@ionic-native/plugins/device/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { CordovaProperty, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; declare const window: any; @@ -30,38 +30,38 @@ declare const window: any; export class Device extends IonicNativePlugin { /** Get the version of Cordova running on the device. */ - @CordovaProperty + @CordovaProperty() cordova: string; /** * The device.model returns the name of the device's model or product. The value is set * by the device manufacturer and may be different across versions of the same product. */ - @CordovaProperty + @CordovaProperty() model: string; /** Get the device's operating system name. */ - @CordovaProperty + @CordovaProperty() platform: string; /** Get the device's Universally Unique Identifier (UUID). */ - @CordovaProperty + @CordovaProperty() uuid: string; /** Get the operating system version. */ - @CordovaProperty + @CordovaProperty() version: string; /** Get the device's manufacturer. */ - @CordovaProperty + @CordovaProperty() manufacturer: string; /** Whether the device is running on a simulator. */ - @CordovaProperty + @CordovaProperty() isVirtual: boolean; /** Get the device hardware serial number. */ - @CordovaProperty + @CordovaProperty() serial: string; } diff --git a/src/@ionic-native/plugins/diagnostic/index.ts b/src/@ionic-native/plugins/diagnostic/index.ts index e4a4476640..95c8d2e8cd 100644 --- a/src/@ionic-native/plugins/diagnostic/index.ts +++ b/src/@ionic-native/plugins/diagnostic/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, CordovaProperty, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Diagnostic @@ -14,7 +14,7 @@ import { Cordova, Plugin, CordovaProperty, IonicNativePlugin } from '@ionic-nati * * ... * - * let successCallback = (isAvailable) => { console.log('Is available? ' + isAvailable); }; + * let successCallback = (isAvailable) => { console.log('Is available? ' + isAvailable); } * let errorCallback = (e) => console.error(e); * * this.diagnostic.isCameraAvailable().then(successCallback).catch(errorCallback); @@ -71,7 +71,7 @@ export class Diagnostic extends IonicNativePlugin { BODY_SENSORS: 'BODY_SENSORS' }; - @CordovaProperty + @CordovaProperty() permissionStatus: { GRANTED: string; DENIED: string; @@ -116,7 +116,7 @@ export class Diagnostic extends IonicNativePlugin { POWERING_ON: 'powering_on' }; - @CordovaProperty + @CordovaProperty() NFCState: { UNKNOWN: string; POWERED_OFF: string; @@ -125,7 +125,7 @@ export class Diagnostic extends IonicNativePlugin { POWERING_OFF: string; }; - @CordovaProperty + @CordovaProperty() motionStatus: { NOT_REQUESTED: string; GRANTED: string; @@ -141,7 +141,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isLocationAvailable(): Promise { return; } + isLocationAvailable(): Promise { + return; + } /** * Checks if Wifi is connected/enabled. On iOS this returns true if the device is connected to a network by WiFi. On Android and Windows 10 Mobile this returns true if the WiFi setting is set to enabled. @@ -149,17 +151,21 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isWifiAvailable(): Promise { return; } + isWifiAvailable(): Promise { + return; + } /** * Checks if the device has a camera. On Android this returns true if the device has a camera. On iOS this returns true if both the device has a camera AND the application is authorized to use it. On Windows 10 Mobile this returns true if both the device has a rear-facing camera AND the * application is authorized to use it. * @param {boolean} [externalStorage] Android only: If true, checks permission for READ_EXTERNAL_STORAGE in addition to CAMERA run-time permission. - * cordova-plugin-camera@2.2+ requires both of these permissions. Defaults to true. + * cordova-plugin-camera@2.2+ requires both of these permissions. Defaults to true. * @returns {Promise} */ @Cordova({ callbackOrder: 'reverse' }) - isCameraAvailable( externalStorage?: boolean ): Promise { return; } + isCameraAvailable(externalStorage?: boolean): Promise { + return; + } /** * Checks if the device has Bluetooth capabilities and if so that Bluetooth is switched on (same on Android, iOS and Windows 10 Mobile) @@ -167,38 +173,46 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isBluetoothAvailable(): Promise { return; } + isBluetoothAvailable(): Promise { + return; + } /** * Displays the device location settings to allow user to enable location services/change location mode. */ @Cordova({ sync: true, platforms: ['Android', 'Windows 10', 'iOS'] }) - switchToLocationSettings(): void { } + switchToLocationSettings(): void { + } /** * Displays mobile settings to allow user to enable mobile data. */ @Cordova({ sync: true, platforms: ['Android', 'Windows 10'] }) - switchToMobileDataSettings(): void { } + switchToMobileDataSettings(): void { + } /** * Displays Bluetooth settings to allow user to enable Bluetooth. */ @Cordova({ sync: true, platforms: ['Android', 'Windows 10'] }) - switchToBluetoothSettings(): void { } + switchToBluetoothSettings(): void { + } /** * Displays WiFi settings to allow user to enable WiFi. */ @Cordova({ sync: true, platforms: ['Android', 'Windows 10'] }) - switchToWifiSettings(): void { } + switchToWifiSettings(): void { + } /** * Returns true if the WiFi setting is set to enabled, and is the same as `isWifiAvailable()` * @returns {Promise} */ @Cordova({ platforms: ['Android', 'Windows 10'] }) - isWifiEnabled(): Promise { return; } + isWifiEnabled(): Promise { + return; + } /** * Enables/disables WiFi on the device. @@ -207,7 +221,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ callbackOrder: 'reverse', platforms: ['Android', 'Windows 10'] }) - setWifiState(state: boolean): Promise { return; } + setWifiState(state: boolean): Promise { + return; + } /** * Enables/disables Bluetooth on the device. @@ -216,7 +232,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ callbackOrder: 'reverse', platforms: ['Android', 'Windows 10'] }) - setBluetoothState(state: boolean): Promise { return; } + setBluetoothState(state: boolean): Promise { + return; + } // ANDROID AND IOS ONLY @@ -226,7 +244,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - isLocationEnabled(): Promise { return; } + isLocationEnabled(): Promise { + return; + } /** * Checks if the application is authorized to use location. @@ -234,14 +254,18 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isLocationAuthorized(): Promise { return; } + isLocationAuthorized(): Promise { + return; + } /** * Returns the location authorization status for the application. * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - getLocationAuthorizationStatus(): Promise { return; } + getLocationAuthorizationStatus(): Promise { + return; + } /** * Returns the location authorization status for the application. @@ -251,14 +275,18 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'], callbackOrder: 'reverse' }) - requestLocationAuthorization(mode?: string): Promise { return; } + requestLocationAuthorization(mode?: string): Promise { + return; + } /** * Checks if camera hardware is present on device. * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - isCameraPresent(): Promise { return; } + isCameraPresent(): Promise { + return; + } /** * Checks if the application is authorized to use the camera. @@ -268,7 +296,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'], callbackOrder: 'reverse' }) - isCameraAuthorized( externalStorage?: boolean ): Promise { return; } + isCameraAuthorized(externalStorage?: boolean): Promise { + return; + } /** * Returns the camera authorization status for the application. @@ -277,7 +307,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'], callbackOrder: 'reverse' }) - getCameraAuthorizationStatus( externalStorage?: boolean ): Promise { return; } + getCameraAuthorizationStatus(externalStorage?: boolean): Promise { + return; + } /** * Requests camera authorization for the application. @@ -286,49 +318,63 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'], callbackOrder: 'reverse' }) - requestCameraAuthorization( externalStorage?: boolean ): Promise { return; } + requestCameraAuthorization(externalStorage?: boolean): Promise { + return; + } /** * Checks if the application is authorized to use the microphone. * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - isMicrophoneAuthorized(): Promise { return; } + isMicrophoneAuthorized(): Promise { + return; + } /** * Returns the microphone authorization status for the application. * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - getMicrophoneAuthorizationStatus(): Promise { return; } + getMicrophoneAuthorizationStatus(): Promise { + return; + } /** * Requests microphone authorization for the application. * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - requestMicrophoneAuthorization(): Promise { return; } + requestMicrophoneAuthorization(): Promise { + return; + } /** * Checks if the application is authorized to use contacts (address book). * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - isContactsAuthorized(): Promise { return; } + isContactsAuthorized(): Promise { + return; + } /** * Returns the contacts authorization status for the application. * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - getContactsAuthorizationStatus(): Promise { return; } + getContactsAuthorizationStatus(): Promise { + return; + } /** * Requests contacts authorization for the application. * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - requestContactsAuthorization(): Promise { return; } + requestContactsAuthorization(): Promise { + return; + } /** * Checks if the application is authorized to use the calendar. @@ -341,7 +387,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - isCalendarAuthorized(): Promise { return; } + isCalendarAuthorized(): Promise { + return; + } /** * Returns the calendar authorization status for the application. @@ -355,7 +403,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - getCalendarAuthorizationStatus(): Promise { return; } + getCalendarAuthorizationStatus(): Promise { + return; + } /** * Requests calendar authorization for the application. @@ -372,7 +422,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - requestCalendarAuthorization(): Promise { return; } + requestCalendarAuthorization(): Promise { + return; + } /** * Opens settings page for this app. @@ -381,28 +433,34 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - switchToSettings(): Promise { return; } + switchToSettings(): Promise { + return; + } /** * Returns the state of Bluetooth on the device. * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'] }) - getBluetoothState(): Promise { return; } + getBluetoothState(): Promise { + return; + } /** * Registers a function to be called when a change in Bluetooth state occurs. * @param handler */ @Cordova({ platforms: ['Android', 'iOS'], sync: true }) - registerBluetoothStateChangeHandler(handler: Function): void { } + registerBluetoothStateChangeHandler(handler: Function): void { + } /** * Registers a function to be called when a change in Location state occurs. * @param handler */ @Cordova({ platforms: ['Android', 'iOS'], sync: true }) - registerLocationStateChangeHandler(handler: Function): void { } + registerLocationStateChangeHandler(handler: Function): void { + } // ANDROID ONLY @@ -413,7 +471,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - isGpsLocationAvailable(): Promise { return; } + isGpsLocationAvailable(): Promise { + return; + } /** * Checks if location mode is set to return high-accuracy locations from GPS hardware. @@ -423,7 +483,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - isGpsLocationEnabled(): Promise { return; } + isGpsLocationEnabled(): Promise { + return; + } /** * Checks if low-accuracy locations are available to the app from network triangulation/WiFi access points. @@ -431,7 +493,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - isNetworkLocationAvailable(): Promise { return; } + isNetworkLocationAvailable(): Promise { + return; + } /** * Checks if location mode is set to return low-accuracy locations from network triangulation/WiFi access points. @@ -441,14 +505,18 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - isNetworkLocationEnabled(): Promise { return; } + isNetworkLocationEnabled(): Promise { + return; + } /** * Returns the current location mode setting for the device. * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - getLocationMode(): Promise { return; } + getLocationMode(): Promise { + return; + } /** * Returns the current authorisation status for a given permission. @@ -457,7 +525,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android'], callbackOrder: 'reverse' }) - getPermissionAuthorizationStatus(permission: any): Promise { return; } + getPermissionAuthorizationStatus(permission: any): Promise { + return; + } /** * Returns the current authorisation status for multiple permissions. @@ -466,7 +536,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android'], callbackOrder: 'reverse' }) - getPermissionsAuthorizationStatus(permissions: any[]): Promise { return; } + getPermissionsAuthorizationStatus(permissions: any[]): Promise { + return; + } /** * Requests app to be granted authorisation for a runtime permission. @@ -475,7 +547,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android'], callbackOrder: 'reverse' }) - requestRuntimePermission(permission: any): Promise { return; } + requestRuntimePermission(permission: any): Promise { + return; + } /** * Requests app to be granted authorisation for multiple runtime permissions. @@ -484,7 +558,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android'], callbackOrder: 'reverse' }) - requestRuntimePermissions(permissions: any[]): Promise { return; } + requestRuntimePermissions(permissions: any[]): Promise { + return; + } /** * Indicates if the plugin is currently requesting a runtime permission via the native API. @@ -494,7 +570,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {boolean} */ @Cordova({ sync: true }) - isRequestingPermission(): boolean { return; } + isRequestingPermission(): boolean { + return; + } /** * Registers a function to be called when a runtime permission request has completed. @@ -502,7 +580,9 @@ export class Diagnostic extends IonicNativePlugin { * @param handler {Function} */ @Cordova({ sync: true }) - registerPermissionRequestCompleteHandler(handler: Function): void { return; } + registerPermissionRequestCompleteHandler(handler: Function): void { + return; + } /** * Checks if the device setting for Bluetooth is switched on. @@ -510,49 +590,63 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - isBluetoothEnabled(): Promise { return; } + isBluetoothEnabled(): Promise { + return; + } /** * Checks if the device has Bluetooth capabilities. * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - hasBluetoothSupport(): Promise { return; } + hasBluetoothSupport(): Promise { + return; + } /** * Checks if the device has Bluetooth Low Energy (LE) capabilities. * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - hasBluetoothLESupport(): Promise { return; } + hasBluetoothLESupport(): Promise { + return; + } /** * Checks if the device supports Bluetooth Low Energy (LE) Peripheral mode. * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - hasBluetoothLEPeripheralSupport(): Promise { return; } + hasBluetoothLEPeripheralSupport(): Promise { + return; + } /** * Checks if the application is authorized to use external storage. * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - isExternalStorageAuthorized(): Promise { return; } + isExternalStorageAuthorized(): Promise { + return; + } /** * CReturns the external storage authorization status for the application. * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - getExternalStorageAuthorizationStatus(): Promise { return; } + getExternalStorageAuthorizationStatus(): Promise { + return; + } /** * Requests external storage authorization for the application. * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - requestExternalStorageAuthorization(): Promise { return; } + requestExternalStorageAuthorization(): Promise { + return; + } /** * Returns details of external SD card(s): absolute path, is writable, free space. @@ -565,7 +659,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - getExternalSdCardDetails(): Promise { return; } + getExternalSdCardDetails(): Promise { + return; + } /** * Switches to the wireless settings page in the Settings app. Allows configuration of wireless controls such as Wi-Fi, Bluetooth and Mobile networks. @@ -574,7 +670,8 @@ export class Diagnostic extends IonicNativePlugin { platforms: ['Android'], sync: true }) - switchToWirelessSettings(): void { } + switchToWirelessSettings(): void { + } /** * Displays NFC settings to allow user to enable NFC. @@ -583,14 +680,17 @@ export class Diagnostic extends IonicNativePlugin { platforms: ['Android'], sync: true }) - switchToNFCSettings(): void { } + switchToNFCSettings(): void { + } /** * Checks if NFC hardware is present on device. * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - isNFCPresent(): Promise { return; } + isNFCPresent(): Promise { + return; + } /** * Checks if the device setting for NFC is switched on. @@ -598,7 +698,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - isNFCEnabled(): Promise { return; } + isNFCEnabled(): Promise { + return; + } /** * Checks if NFC is available to the app. Returns true if the device has NFC capabilities AND if NFC setting is switched on. @@ -606,7 +708,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - isNFCAvailable(): Promise { return; } + isNFCAvailable(): Promise { + return; + } /** * Registers a function to be called when a change in NFC state occurs. Pass in a falsey value to de-register the currently registered function. @@ -617,28 +721,35 @@ export class Diagnostic extends IonicNativePlugin { platforms: ['Android'], sync: true }) - registerNFCStateChangeHandler(handler: Function): void { } + registerNFCStateChangeHandler(handler: Function): void { + } /** * Checks if the device data roaming setting is enabled. * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - isDataRoamingEnabled(): Promise { return; } + isDataRoamingEnabled(): Promise { + return; + } /** * Checks if the device setting for ADB(debug) is switched on. * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - isADBModeEnabled(): Promise { return; } + isADBModeEnabled(): Promise { + return; + } /** * Checks if the device is rooted. * @returns {Promise} */ @Cordova({ platforms: ['Android'] }) - isDeviceRooted(): Promise { return; } + isDeviceRooted(): Promise { + return; + } // IOS ONLY @@ -647,14 +758,18 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['iOS'] }) - isCameraRollAuthorized(): Promise { return; } + isCameraRollAuthorized(): Promise { + return; + } /** * Returns the authorization status for the application to use the Camera Roll in Photos app. * @returns {Promise} */ @Cordova({ platforms: ['iOS'] }) - getCameraRollAuthorizationStatus(): Promise { return; } + getCameraRollAuthorizationStatus(): Promise { + return; + } /** * Requests camera roll authorization for the application. @@ -663,21 +778,27 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['iOS'] }) - requestCameraRollAuthorization(): Promise { return; } + requestCameraRollAuthorization(): Promise { + return; + } /** * Checks if remote (push) notifications are enabled. * @returns {Promise} */ @Cordova({ platforms: ['iOS', 'Android'] }) - isRemoteNotificationsEnabled(): Promise { return; } + isRemoteNotificationsEnabled(): Promise { + return; + } /** * Indicates if the app is registered for remote (push) notifications on the device. * @returns {Promise} */ @Cordova({ platforms: ['iOS'] }) - isRegisteredForRemoteNotifications(): Promise { return; } + isRegisteredForRemoteNotifications(): Promise { + return; + } /** * Returns the authorization status for the application to use Remote Notifications. @@ -685,7 +806,9 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['iOS'] }) - getRemoteNotificationsAuthorizationStatus(): Promise { return; } + getRemoteNotificationsAuthorizationStatus(): Promise { + return; + } /** * Indicates the current setting of notification types for the app in the Settings app. @@ -693,42 +816,54 @@ export class Diagnostic extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['iOS'] }) - getRemoteNotificationTypes(): Promise { return; } + getRemoteNotificationTypes(): Promise { + return; + } /** * Checks if the application is authorized to use reminders. * @returns {Promise} */ @Cordova({ platforms: ['iOS'] }) - isRemindersAuthorized(): Promise { return; } + isRemindersAuthorized(): Promise { + return; + } /** * Returns the reminders authorization status for the application. * @returns {Promise} */ @Cordova({ platforms: ['iOS'] }) - getRemindersAuthorizationStatus(): Promise { return; } + getRemindersAuthorizationStatus(): Promise { + return; + } /** * Requests reminders authorization for the application. * @returns {Promise} */ @Cordova({ platforms: ['iOS'] }) - requestRemindersAuthorization(): Promise { return; } + requestRemindersAuthorization(): Promise { + return; + } /** * Checks if the application is authorized for background refresh. * @returns {Promise} */ @Cordova({ platforms: ['iOS'] }) - isBackgroundRefreshAuthorized(): Promise { return; } + isBackgroundRefreshAuthorized(): Promise { + return; + } /** * Returns the background refresh authorization status for the application. * @returns {Promise} */ @Cordova({ platforms: ['iOS'] }) - getBackgroundRefreshStatus(): Promise { return; } + getBackgroundRefreshStatus(): Promise { + return; + } /** * Requests Bluetooth authorization for the application. @@ -737,14 +872,18 @@ export class Diagnostic extends IonicNativePlugin { * @return {Promise} */ @Cordova({ platforms: ['iOS'] }) - requestBluetoothAuthorization(): Promise { return; } + requestBluetoothAuthorization(): Promise { + return; + } /** * Checks if motion tracking is available on the current device. * @return {Promise} */ @Cordova({ platforms: ['iOS'] }) - isMotionAvailable(): Promise { return; } + isMotionAvailable(): Promise { + return; + } /** * Checks if it's possible to determine the outcome of a motion authorization request on the current device. @@ -754,7 +893,9 @@ export class Diagnostic extends IonicNativePlugin { * @return {Promise} */ @Cordova({ platforms: ['iOS'] }) - isMotionRequestOutcomeAvailable(): Promise { return; } + isMotionRequestOutcomeAvailable(): Promise { + return; + } /** * Requests motion tracking authorization for the application. @@ -764,7 +905,9 @@ export class Diagnostic extends IonicNativePlugin { * @return {Promise} */ @Cordova({ platforms: ['iOS'] }) - requestMotionAuthorization(): Promise { return; } + requestMotionAuthorization(): Promise { + return; + } /** * Checks motion authorization status for the application. @@ -774,6 +917,8 @@ export class Diagnostic extends IonicNativePlugin { * @return {Promise} */ @Cordova({ platforms: ['iOS'] }) - getMotionAuthorizationStatus(): Promise { return; } + getMotionAuthorizationStatus(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/dialogs/index.ts b/src/@ionic-native/plugins/dialogs/index.ts index 4c59e779d7..855d1fb8df 100644 --- a/src/@ionic-native/plugins/dialogs/index.ts +++ b/src/@ionic-native/plugins/dialogs/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface DialogsPromptCallback { @@ -62,7 +62,9 @@ export class Dialogs extends IonicNativePlugin { successIndex: 1, errorIndex: 4 }) - alert(message: string, title?: string, buttonName?: string): Promise { return; } + alert(message: string, title?: string, buttonName?: string): Promise { + return; + } /** * Displays a customizable confirmation dialog box. @@ -75,7 +77,9 @@ export class Dialogs extends IonicNativePlugin { successIndex: 1, errorIndex: 4 }) - confirm(message: string, title?: string, buttonLabels?: string[]): Promise { return; } + confirm(message: string, title?: string, buttonLabels?: string[]): Promise { + return; + } /** * Displays a native dialog box that is more customizable than the browser's prompt function. @@ -89,7 +93,9 @@ export class Dialogs extends IonicNativePlugin { successIndex: 1, errorIndex: 5 }) - prompt(message?: string, title?: string, buttonLabels?: string[], defaultText?: string): Promise { return; } + prompt(message?: string, title?: string, buttonLabels?: string[], defaultText?: string): Promise { + return; + } /** @@ -99,6 +105,7 @@ export class Dialogs extends IonicNativePlugin { @Cordova({ sync: true }) - beep(times: number): void { } + beep(times: number): void { + } } diff --git a/src/@ionic-native/plugins/dns/index.ts b/src/@ionic-native/plugins/dns/index.ts index ece314ed8b..9fe916509b 100644 --- a/src/@ionic-native/plugins/dns/index.ts +++ b/src/@ionic-native/plugins/dns/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -36,5 +36,7 @@ export class DNS extends IonicNativePlugin { * @returns {Promise} Returns a promise that resolves with the resolution. */ @Cordova() - resolve(hostname: string): Promise { return; } + resolve(hostname: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/document-viewer/index.ts b/src/@ionic-native/plugins/document-viewer/index.ts index ef4335cf16..c3686befee 100644 --- a/src/@ionic-native/plugins/document-viewer/index.ts +++ b/src/@ionic-native/plugins/document-viewer/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; export interface DocumentViewerOptions { @@ -69,7 +69,9 @@ export class DocumentViewer extends IonicNativePlugin { * @returns {Promise} Resolves promise when the EmailComposer has been opened */ @Cordova() - getSupportInfo(): Promise { return; } + getSupportInfo(): Promise { + return; + } /** * Check if the document can be shown @@ -83,7 +85,8 @@ export class DocumentViewer extends IonicNativePlugin { * @param [onError] {Function} */ @Cordova({ sync: true }) - canViewDocument(url: string, contentType: string, options: DocumentViewerOptions, onPossible?: Function, onMissingApp?: Function, onImpossible?: Function, onError?: Function): void { } + canViewDocument(url: string, contentType: string, options: DocumentViewerOptions, onPossible?: Function, onMissingApp?: Function, onImpossible?: Function, onError?: Function): void { + } /** * Opens the file @@ -97,6 +100,7 @@ export class DocumentViewer extends IonicNativePlugin { * @param [onError] {Function} */ @Cordova({ sync: true }) - viewDocument(url: string, contentType: string, options: DocumentViewerOptions, onShow?: Function, onClose?: Function, onMissingApp?: Function, onError?: Function): void { } + viewDocument(url: string, contentType: string, options: DocumentViewerOptions, onShow?: Function, onClose?: Function, onMissingApp?: Function, onError?: Function): void { + } } diff --git a/src/@ionic-native/plugins/email-composer/index.ts b/src/@ionic-native/plugins/email-composer/index.ts index ad148fd144..121ab215c8 100644 --- a/src/@ionic-native/plugins/email-composer/index.ts +++ b/src/@ionic-native/plugins/email-composer/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, CordovaCheck, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaCheck, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface EmailComposerOptions { @@ -81,7 +81,7 @@ export interface EmailComposerOptions { * subject: 'Cordova Icons', * body: 'How are you? Nice greetings from Leipzig', * isHtml: true - * }; + * } * * // Send a text message using default options * this.emailComposer.open(email); @@ -148,7 +148,9 @@ export class EmailComposer extends IonicNativePlugin { successIndex: 0, errorIndex: 2 }) - requestPermission(): Promise { return; } + requestPermission(): Promise { + return; + } /** * Checks if the app has a permission to access email accounts information @@ -158,7 +160,9 @@ export class EmailComposer extends IonicNativePlugin { successIndex: 0, errorIndex: 2 }) - hasPermission(): Promise { return; } + hasPermission(): Promise { + return; + } /** * Adds a new mail app alias. @@ -167,7 +171,8 @@ export class EmailComposer extends IonicNativePlugin { * @param packageName {string} The package name */ @Cordova() - addAlias(alias: string, packageName: string): void { } + addAlias(alias: string, packageName: string): void { + } /** * Displays the email composer pre-filled with data. @@ -180,6 +185,8 @@ export class EmailComposer extends IonicNativePlugin { successIndex: 1, errorIndex: 3 }) - open(options: EmailComposerOptions, scope?: any): Promise { return; } + open(options: EmailComposerOptions, scope?: any): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/estimote-beacons/index.ts b/src/@ionic-native/plugins/estimote-beacons/index.ts index 5a6fde940c..1df8a946fc 100644 --- a/src/@ionic-native/plugins/estimote-beacons/index.ts +++ b/src/@ionic-native/plugins/estimote-beacons/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface EstimoteBeaconRegion { @@ -124,7 +124,9 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - requestWhenInUseAuthorization(): Promise { return; } + requestWhenInUseAuthorization(): Promise { + return; + } /** * Ask the user for permission to use location services @@ -145,7 +147,9 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - requestAlwaysAuthorization(): Promise { return; } + requestAlwaysAuthorization(): Promise { + return; + } /** * Get the current location authorization status. @@ -164,7 +168,9 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - authorizationStatus(): Promise { return; } + authorizationStatus(): Promise { + return; + } /** * Start advertising as a beacon. @@ -186,7 +192,9 @@ export class EstimoteBeacons extends IonicNativePlugin { @Cordova({ clearFunction: 'stopAdvertisingAsBeacon' }) - startAdvertisingAsBeacon(uuid: string, major: number, minor: number, regionId: string): Promise { return; } + startAdvertisingAsBeacon(uuid: string, major: number, minor: number, regionId: string): Promise { + return; + } /** * Stop advertising as a beacon. @@ -202,7 +210,9 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - stopAdvertisingAsBeacon(): Promise { return; } + stopAdvertisingAsBeacon(): Promise { + return; + } /** * Enable analytics. @@ -217,12 +227,14 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - enableAnalytics(enable: boolean): Promise { return; } + enableAnalytics(enable: boolean): Promise { + return; + } /** - * Test if analytics is enabled. - * - * @see {@link http://estimote.github.io/iOS-SDK/Classes/ESTConfig.html|Further details} + * Test if analytics is enabled. + * + * @see {@link http://estimote.github.io/iOS-SDK/Classes/ESTConfig.html|Further details} * * @usage * ``` @@ -231,12 +243,14 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isAnalyticsEnabled(): Promise { return; } + isAnalyticsEnabled(): Promise { + return; + } /** - * Test if App ID and App Token is set. - * - * @see {@link http://estimote.github.io/iOS-SDK/Classes/ESTConfig.html|Further details} + * Test if App ID and App Token is set. + * + * @see {@link http://estimote.github.io/iOS-SDK/Classes/ESTConfig.html|Further details} * * @usage * ``` @@ -245,12 +259,14 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isAuthorized(): Promise { return; } + isAuthorized(): Promise { + return; + } /** - * Set App ID and App Token. - * - * @see {@link http://estimote.github.io/iOS-SDK/Classes/ESTConfig.html|Further details} + * Set App ID and App Token. + * + * @see {@link http://estimote.github.io/iOS-SDK/Classes/ESTConfig.html|Further details} * * @usage * ``` @@ -261,7 +277,9 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - setupAppIDAndAppToken(appID: string, appToken: string): Promise { return; } + setupAppIDAndAppToken(appID: string, appToken: string): Promise { + return; + } /** * Start scanning for all nearby beacons using CoreBluetooth (no region object is used). @@ -282,7 +300,9 @@ export class EstimoteBeacons extends IonicNativePlugin { observable: true, clearFunction: 'stopEstimoteBeaconDiscovery' }) - startEstimoteBeaconDiscovery(): Observable { return; } + startEstimoteBeaconDiscovery(): Observable { + return; + } /** * Stop CoreBluetooth scan. Available on iOS. @@ -299,7 +319,9 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - stopEstimoteBeaconDiscovery(): Promise { return; } + stopEstimoteBeaconDiscovery(): Promise { + return; + } /** * Start ranging beacons. Available on iOS and Android. @@ -322,7 +344,9 @@ export class EstimoteBeacons extends IonicNativePlugin { clearFunction: 'stopRangingBeaconsInRegion', clearWithArgs: true }) - startRangingBeaconsInRegion(region: EstimoteBeaconRegion): Observable { return; } + startRangingBeaconsInRegion(region: EstimoteBeaconRegion): Observable { + return; + } /** * Stop ranging beacons. Available on iOS and Android. @@ -341,7 +365,9 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - stopRangingBeaconsInRegion(region: EstimoteBeaconRegion): Promise { return; } + stopRangingBeaconsInRegion(region: EstimoteBeaconRegion): Promise { + return; + } /** * Start ranging secure beacons. Available on iOS. @@ -356,7 +382,9 @@ export class EstimoteBeacons extends IonicNativePlugin { clearFunction: 'stopRangingSecureBeaconsInRegion', clearWithArgs: true }) - startRangingSecureBeaconsInRegion(region: EstimoteBeaconRegion): Observable { return; } + startRangingSecureBeaconsInRegion(region: EstimoteBeaconRegion): Observable { + return; + } /** * Stop ranging secure beacons. Available on iOS. @@ -365,7 +393,9 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - stopRangingSecureBeaconsInRegion(region: EstimoteBeaconRegion): Promise { return; } + stopRangingSecureBeaconsInRegion(region: EstimoteBeaconRegion): Promise { + return; + } /** * Start monitoring beacons. Available on iOS and Android. @@ -391,7 +421,9 @@ export class EstimoteBeacons extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - startMonitoringForRegion(region: EstimoteBeaconRegion, notifyEntryStateOnDisplay: boolean): Observable { return; } + startMonitoringForRegion(region: EstimoteBeaconRegion, notifyEntryStateOnDisplay: boolean): Observable { + return; + } /** * Stop monitoring beacons. Available on iOS and Android. @@ -405,7 +437,9 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - stopMonitoringForRegion(region: EstimoteBeaconRegion): Promise { return; } + stopMonitoringForRegion(region: EstimoteBeaconRegion): Promise { + return; + } /** * Start monitoring secure beacons. Available on iOS. @@ -425,17 +459,21 @@ export class EstimoteBeacons extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - startSecureMonitoringForRegion(region: EstimoteBeaconRegion, notifyEntryStateOnDisplay: boolean): Observable { return; } + startSecureMonitoringForRegion(region: EstimoteBeaconRegion, notifyEntryStateOnDisplay: boolean): Observable { + return; + } /** - * Stop monitoring secure beacons. Available on iOS. - * This function has the same parameters/behaviour as - * {@link EstimoteBeacons.stopMonitoringForRegion}. - * @param region {EstimoteBeaconRegion} Region - * @returns {Promise} - */ + * Stop monitoring secure beacons. Available on iOS. + * This function has the same parameters/behaviour as + * {@link EstimoteBeacons.stopMonitoringForRegion}. + * @param region {EstimoteBeaconRegion} Region + * @returns {Promise} + */ @Cordova() - stopSecureMonitoringForRegion(region: EstimoteBeaconRegion): Promise { return; } + stopSecureMonitoringForRegion(region: EstimoteBeaconRegion): Promise { + return; + } /** * Connect to Estimote Beacon. Available on Android. @@ -455,7 +493,9 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - connectToBeacon(beacon: any): Promise { return; } + connectToBeacon(beacon: any): Promise { + return; + } /** * Disconnect from connected Estimote Beacon. Available on Android. @@ -467,7 +507,9 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - disconnectConnectedBeacon(): Promise { return; } + disconnectConnectedBeacon(): Promise { + return; + } /** * Write proximity UUID to connected Estimote Beacon. Available on Android. @@ -481,7 +523,9 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - writeConnectedProximityUUID(uuid: any): Promise { return; } + writeConnectedProximityUUID(uuid: any): Promise { + return; + } /** * Write major to connected Estimote Beacon. Available on Android. @@ -495,7 +539,9 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - writeConnectedMajor(major: number): Promise { return; } + writeConnectedMajor(major: number): Promise { + return; + } /** * Write minor to connected Estimote Beacon. Available on Android. @@ -509,6 +555,8 @@ export class EstimoteBeacons extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - writeConnectedMinor(minor: number): Promise { return; } + writeConnectedMinor(minor: number): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/extended-device-information/index.ts b/src/@ionic-native/plugins/extended-device-information/index.ts index 2a4b3110ae..9f86602318 100644 --- a/src/@ionic-native/plugins/extended-device-information/index.ts +++ b/src/@ionic-native/plugins/extended-device-information/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { CordovaProperty, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Extended Device Information @@ -31,19 +31,19 @@ export class ExtendedDeviceInformation extends IonicNativePlugin { /** * Get the device's memory size */ - @CordovaProperty + @CordovaProperty() memory: number; /** * Get the device's CPU mhz */ - @CordovaProperty + @CordovaProperty() cpumhz: string; /** * Get the total storage */ - @CordovaProperty + @CordovaProperty() totalstorage: string; } diff --git a/src/@ionic-native/plugins/facebook/index.ts b/src/@ionic-native/plugins/facebook/index.ts index 21bd6f5985..7a23a2b5ad 100644 --- a/src/@ionic-native/plugins/facebook/index.ts +++ b/src/@ionic-native/plugins/facebook/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface FacebookLoginResponse { @@ -189,7 +189,9 @@ export class Facebook extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with a status object if login succeeds, and rejects if login fails. */ @Cordova() - login(permissions: string[]): Promise { return; } + login(permissions: string[]): Promise { + return; + } /** * Logout of Facebook. @@ -198,7 +200,9 @@ export class Facebook extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves on a successful logout, and rejects if logout fails. */ @Cordova() - logout(): Promise { return; } + logout(): Promise { + return; + } /** * Determine if a user is logged in to Facebook and has authenticated your app. There are three possible states for a user: @@ -227,7 +231,9 @@ export class Facebook extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with a status, or rejects with an error */ @Cordova() - getLoginStatus(): Promise { return; } + getLoginStatus(): Promise { + return; + } /** * Get a Facebook access token for using Facebook services. @@ -235,7 +241,9 @@ export class Facebook extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with an access token, or rejects with an error */ @Cordova() - getAccessToken(): Promise { return; } + getAccessToken(): Promise { + return; + } /** * Show one of various Facebook dialogs. Example of options for a Share dialog: @@ -255,7 +263,9 @@ export class Facebook extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with success data, or rejects with an error */ @Cordova() - showDialog(options: any): Promise { return; } + showDialog(options: any): Promise { + return; + } /** * Make a call to Facebook Graph API. Can take additional permissions beyond those granted on login. @@ -271,7 +281,9 @@ export class Facebook extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with the result of the request, or rejects with an error */ @Cordova() - api(requestPath: string, permissions: string[]): Promise { return; } + api(requestPath: string, permissions: string[]): Promise { + return; + } /** * Log an event. For more information see the Events section above. @@ -285,7 +297,9 @@ export class Facebook extends IonicNativePlugin { successIndex: 3, errorIndex: 4 }) - logEvent(name: string, params?: Object, valueToSum?: number): Promise { return; } + logEvent(name: string, params?: Object, valueToSum?: number): Promise { + return; + } /** * Log a purchase. For more information see the Events section above. @@ -295,7 +309,9 @@ export class Facebook extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - logPurchase(value: number, currency: string): Promise { return; } + logPurchase(value: number, currency: string): Promise { + return; + } /** * Open App Invite dialog. Does not require login. @@ -315,6 +331,8 @@ export class Facebook extends IonicNativePlugin { appInvite(options: { url: string, picture: string - }): Promise { return; } + }): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/fcm/index.ts b/src/@ionic-native/plugins/fcm/index.ts index af5f0b5e39..8065783ae1 100644 --- a/src/@ionic-native/plugins/fcm/index.ts +++ b/src/@ionic-native/plugins/fcm/index.ts @@ -1,4 +1,4 @@ -import { Plugin, IonicNativePlugin, Cordova } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs/Observable'; @@ -42,7 +42,7 @@ export interface NotificationData { * console.log("Received in background"); * } else { * console.log("Received in foreground"); - * }; + * } * }) * * fcm.onTokenRefresh().subscribe(token=>{ @@ -71,7 +71,9 @@ export class FCM extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with the registration id token */ @Cordova() - getToken(): Promise { return; } + getToken(): Promise { + return; + } /** * Event firing on the token refresh @@ -81,7 +83,9 @@ export class FCM extends IonicNativePlugin { @Cordova({ observable: true }) - onTokenRefresh(): Observable { return; } + onTokenRefresh(): Observable { + return; + } /** * Subscribes you to a [topic](https://firebase.google.com/docs/notifications/android/console-topics) @@ -91,7 +95,9 @@ export class FCM extends IonicNativePlugin { * @returns {Promise} Returns a promise resolving in result of subscribing to a topic */ @Cordova() - subscribeToTopic(topic: string): Promise { return; } + subscribeToTopic(topic: string): Promise { + return; + } /** * Unubscribes you from a [topic](https://firebase.google.com/docs/notifications/android/console-topics) @@ -101,7 +107,9 @@ export class FCM extends IonicNativePlugin { * @returns {Promise} Returns a promise resolving in result of unsubscribing from a topic */ @Cordova() - unsubscribeFromTopic(topic: string): Promise { return; } + unsubscribeFromTopic(topic: string): Promise { + return; + } /** * Watch for incoming notifications @@ -113,6 +121,8 @@ export class FCM extends IonicNativePlugin { successIndex: 0, errorIndex: 2 }) - onNotification(): Observable { return; } + onNotification(): Observable { + return; + } } diff --git a/src/@ionic-native/plugins/file-chooser/index.ts b/src/@ionic-native/plugins/file-chooser/index.ts index 3104418860..254516ae6d 100644 --- a/src/@ionic-native/plugins/file-chooser/index.ts +++ b/src/@ionic-native/plugins/file-chooser/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name File Chooser @@ -36,6 +36,8 @@ export class FileChooser extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - open(): Promise { return; } + open(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/file-encryption/index.ts b/src/@ionic-native/plugins/file-encryption/index.ts index 345cdb2e35..55b3e2de2f 100644 --- a/src/@ionic-native/plugins/file-encryption/index.ts +++ b/src/@ionic-native/plugins/file-encryption/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -38,7 +38,9 @@ export class FileEncryption extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when something happens */ @Cordova() - encrypt(file: string, key: string): Promise { return; } + encrypt(file: string, key: string): Promise { + return; + } /** * Decrypt a file @@ -47,6 +49,8 @@ export class FileEncryption extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when something happens */ @Cordova() - decrypt(file: string, key: string): Promise { return; } + decrypt(file: string, key: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/file-opener/index.ts b/src/@ionic-native/plugins/file-opener/index.ts index 1250e1c7d3..26e382ce6f 100644 --- a/src/@ionic-native/plugins/file-opener/index.ts +++ b/src/@ionic-native/plugins/file-opener/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name File Opener @@ -41,7 +41,9 @@ export class FileOpener extends IonicNativePlugin { successName: 'success', errorName: 'error' }) - open(filePath: string, fileMIMEType: string): Promise { return; } + open(filePath: string, fileMIMEType: string): Promise { + return; + } /** * Uninstalls a package @@ -53,7 +55,9 @@ export class FileOpener extends IonicNativePlugin { successName: 'success', errorName: 'error' }) - uninstall(packageId: string): Promise { return; } + uninstall(packageId: string): Promise { + return; + } /** * Check if an app is already installed @@ -65,6 +69,8 @@ export class FileOpener extends IonicNativePlugin { successName: 'success', errorName: 'error' }) - appIsInstalled(packageId: string): Promise { return; } + appIsInstalled(packageId: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/file-path/index.ts b/src/@ionic-native/plugins/file-path/index.ts index 29dc9b7195..86c8dc2dc7 100644 --- a/src/@ionic-native/plugins/file-path/index.ts +++ b/src/@ionic-native/plugins/file-path/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; declare const window: any; @@ -39,6 +39,8 @@ export class FilePath extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - resolveNativePath(path: string): Promise { return; } + resolveNativePath(path: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/file-transfer/index.ts b/src/@ionic-native/plugins/file-transfer/index.ts index 41df16a665..3cb349192b 100644 --- a/src/@ionic-native/plugins/file-transfer/index.ts +++ b/src/@ionic-native/plugins/file-transfer/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { CordovaInstance, Plugin, InstanceCheck, checkAvailability, IonicNativePlugin } from '@ionic-native/core'; +import { checkAvailability, CordovaInstance, InstanceCheck, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface FileUploadOptions { @@ -237,7 +237,9 @@ export class FileTransferObject { successIndex: 2, errorIndex: 3 }) - upload(fileUrl: string, url: string, options?: FileUploadOptions, trustAllHosts?: boolean): Promise { return; } + upload(fileUrl: string, url: string, options?: FileUploadOptions, trustAllHosts?: boolean): Promise { + return; + } /** * Downloads a file from server. @@ -252,7 +254,9 @@ export class FileTransferObject { successIndex: 2, errorIndex: 3 }) - download(source: string, target: string, trustAllHosts?: boolean, options?: { [s: string]: any; }): Promise { return; } + download(source: string, target: string, trustAllHosts?: boolean, options?: { [s: string]: any; }): Promise { + return; + } /** * Registers a listener that gets called whenever a new chunk of data is transferred. @@ -270,5 +274,6 @@ export class FileTransferObject { @CordovaInstance({ sync: true }) - abort(): void {} + abort(): void { + } } diff --git a/src/@ionic-native/plugins/file/index.ts b/src/@ionic-native/plugins/file/index.ts index 4436fcb6c5..3c0fe16e78 100644 --- a/src/@ionic-native/plugins/file/index.ts +++ b/src/@ionic-native/plugins/file/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { CordovaProperty, Plugin, CordovaCheck, IonicNativePlugin } from '@ionic-native/core'; +import { CordovaCheck, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface IFile extends Blob { /** @@ -25,6 +25,7 @@ export interface IFile extends Blob { localURL: string; start: number; end: number; + /** * Returns a "slice" of the file. Since Cordova Files don't contain the actual * content, this really returns a File with adjusted start and end. @@ -129,42 +130,38 @@ export interface Entry { * Entry is a directory. */ isDirectory: boolean; - - /** - * Look up metadata about this entry. - * @param successCallback A callback that is called with the time of the last modification. - * @param errorCallback ErrorCallback A callback that is called when errors happen. - */ - getMetadata(successCallback: MetadataCallback, errorCallback?: ErrorCallback): void; - - /** - * Set the metadata of the entry. - * @param successCallback {Function} is called with a Metadata object - * @param errorCallback {Function} is called with a FileError - * @param metadataObject {Metadata} keys and values to set - */ - setMetadata(successCallback: MetadataCallback, errorCallback: ErrorCallback, metadataObject: Metadata): void; - /** * The name of the entry, excluding the path leading to it. */ name: string; - /** * The full absolute path from the root to the entry. */ fullPath: string; - /** * The file system on which the entry resides. */ filesystem: FileSystem; - /** * an alternate URL which can be used by native webview controls, for example media players. */ nativeURL: string; + /** + * Look up metadata about this entry. + * @param successCallback A callback that is called with the time of the last modification. + * @param errorCallback ErrorCallback A callback that is called when errors happen. + */ + getMetadata(successCallback: MetadataCallback, errorCallback?: ErrorCallback): void; + + /** + * Set the metadata of the entry. + * @param successCallback {Function} is called with a Metadata object + * @param errorCallback {Function} is called with a FileError + * @param metadataObject {Metadata} keys and values to set + */ + setMetadata(successCallback: MetadataCallback, errorCallback: ErrorCallback, metadataObject: Metadata): void; + /** * Move an entry to a different location on the file system. It is an error to try to: * @@ -286,6 +283,7 @@ export interface DirectoryEntry extends Entry { export interface DirectoryReader { localURL: string; hasReadEntries: boolean; + /** * Read the next block of entries from this directory. * @param successCallback Called once per successful call to readEntries to deliver the next previously-unreported set of Entries in the associated Directory. If all Entries have already been returned from previous invocations of readEntries, successCallback must be called with a zero-length array as an argument. @@ -402,45 +400,21 @@ export interface RemoveResult { /** @hidden */ export declare class FileSaver extends EventTarget { - /** - * When the FileSaver constructor is called, the user agent must return a new FileSaver object with readyState set to INIT. - * This constructor must be visible when the script's global object is either a Window object or an object implementing the WorkerUtils interface. - */ - constructor(data: Blob); - - /** - * When the abort method is called, user agents must run the steps below: - *
    - *
  1. If readyState == DONE or readyState == INIT, terminate this overall series of steps without doing anything else.
  2. - *
  3. Set readyState to DONE.
  4. - *
  5. If there are any tasks from the object's FileSaver task source in one of the task queues, then remove those tasks.
  6. - *
  7. Terminate the write algorithm being processed.
  8. - *
  9. Set the error attribute to a DOMError object of type "AbortError".
  10. - *
  11. Fire a progress event called abort
  12. - *
  13. Fire a progress event called writeend
  14. - *
  15. Terminate this algorithm.
  16. - *
- */ - abort(): void; - /** * The blob is being written. * @readonly */ INIT: number; - /** * The object has been constructed, but there is no pending write. * @readonly */ WRITING: number; - /** * The entire Blob has been written to the file, an error occurred during the write, or the write was aborted using abort(). The FileSaver is no longer writing the blob. * @readonly */ DONE: number; - /** * The FileSaver object can be in one of 3 states. The readyState attribute, on getting, must return the current state, which must be one of the following values: *
    @@ -451,42 +425,56 @@ export declare class FileSaver extends EventTarget { * @readonly */ readyState: number; - /** * The last error that occurred on the FileSaver. * @readonly */ error: Error; - /** * Handler for writestart events */ onwritestart: (event: ProgressEvent) => void; - /** * Handler for progress events. */ onprogress: (event: ProgressEvent) => void; - /** * Handler for write events. */ onwrite: (event: ProgressEvent) => void; - /** * Handler for abort events. */ onabort: (event: ProgressEvent) => void; - /** * Handler for error events. */ onerror: (event: ProgressEvent) => void; - /** * Handler for writeend events. */ onwriteend: (event: ProgressEvent) => void; + + /** + * When the FileSaver constructor is called, the user agent must return a new FileSaver object with readyState set to INIT. + * This constructor must be visible when the script's global object is either a Window object or an object implementing the WorkerUtils interface. + */ + constructor(data: Blob); + + /** + * When the abort method is called, user agents must run the steps below: + *
      + *
    1. If readyState == DONE or readyState == INIT, terminate this overall series of steps without doing anything else.
    2. + *
    3. Set readyState to DONE.
    4. + *
    5. If there are any tasks from the object's FileSaver task source in one of the task queues, then remove those tasks.
    6. + *
    7. Terminate the write algorithm being processed.
    8. + *
    9. Set the error attribute to a DOMError object of type "AbortError".
    10. + *
    11. Fire a progress event called abort
    12. + *
    13. Fire a progress event called writeend
    14. + *
    15. Terminate this algorithm.
    16. + *
    + */ + abort(): void; } /** @@ -532,7 +520,6 @@ export interface IWriteOptions { /** @hidden */ export declare class FileError { - constructor(code: number); static NOT_FOUND_ERR: number; static SECURITY_ERR: number; static ABORT_ERR: number; @@ -548,6 +535,8 @@ export declare class FileError { /** Error code */ code: number; message: string; + + constructor(code: number); } /** @hidden */ @@ -569,9 +558,13 @@ export declare class FileReader { onabort: (evt: ProgressEvent) => void; abort(): void; + readAsText(fe: IFile, encoding?: string): void; + readAsDataURL(fe: IFile): void; + readAsBinaryString(fe: IFile): void; + readAsArrayBuffer(fe: IFile): void; /** @@ -581,7 +574,8 @@ export declare class FileReader { } -interface Window extends LocalFileSystem {} +interface Window extends LocalFileSystem { +} declare const window: Window; @@ -628,74 +622,74 @@ export class File extends IonicNativePlugin { /** * Read-only directory where the application is installed. */ - @CordovaProperty + @CordovaProperty() applicationDirectory: string; /** * Read-only directory where the application is installed. */ - @CordovaProperty + @CordovaProperty() applicationStorageDirectory: string; /** * Where to put app-specific data files. */ - @CordovaProperty + @CordovaProperty() dataDirectory: string; /** * Cached files that should survive app restarts. * Apps should not rely on the OS to delete files in here. */ - @CordovaProperty + @CordovaProperty() cacheDirectory: string; /** * Android: the application space on external storage. */ - @CordovaProperty + @CordovaProperty() externalApplicationStorageDirectory: string; /** * Android: Where to put app-specific data files on external storage. */ - @CordovaProperty + @CordovaProperty() externalDataDirectory: string; /** * Android: the application cache on external storage. */ - @CordovaProperty + @CordovaProperty() externalCacheDirectory: string; /** * Android: the external storage (SD card) root. */ - @CordovaProperty + @CordovaProperty() externalRootDirectory: string; /** * iOS: Temp directory that the OS can clear at will. */ - @CordovaProperty + @CordovaProperty() tempDirectory: string; /** * iOS: Holds app-specific files that should be synced (e.g. to iCloud). */ - @CordovaProperty + @CordovaProperty() syncedDataDirectory: string; /** * iOS: Files private to the app, but that are meaningful to other applications (e.g. Office files) */ - @CordovaProperty + @CordovaProperty() documentsDirectory: string; /** * BlackBerry10: Files globally available to all apps */ - @CordovaProperty + @CordovaProperty() sharedDirectory: string; cordovaFileError: any = { @@ -1027,31 +1021,6 @@ export class File extends IonicNativePlugin { }); } - /** Write content to FileEntry. - * - * @hidden - * @param {FileEntry} fe file entry object - * @param {string | Blob} text content or blob to write - * @param {IWriteOptions} options replace file if set to true. See WriteOptions for more information. - * @returns {Promise} Returns a Promise that resolves to updated file entry or rejects with an error. - */ - private writeFileEntry(fe: FileEntry, text: string | Blob | ArrayBuffer, options: IWriteOptions) { - return this.createWriter(fe) - .then((writer) => { - if (options.append) { - writer.seek(writer.length); - } - - if (options.truncate) { - writer.truncate(options.truncate); - } - - return this.write(writer, text); - }) - .then(() => fe); - } - - /** Write to an existing file. * * @param {string} path Base FileSystem. Please refer to the iOS and Android filesystems above @@ -1112,40 +1081,6 @@ export class File extends IonicNativePlugin { return this.readFile(path, file, 'ArrayBuffer'); } - private readFile(path: string, file: string, readAs: 'ArrayBuffer' | 'BinaryString' | 'DataURL' | 'Text'): Promise { - if ((/^\//.test(file))) { - let err = new FileError(5); - err.message = 'file-name cannot start with \/'; - return Promise.reject(err); - } - - return this.resolveDirectoryUrl(path) - .then((directoryEntry: DirectoryEntry) => { - return this.getFile(directoryEntry, file, { create: false }); - }) - .then((fileEntry: FileEntry) => { - const reader = new FileReader(); - return new Promise((resolve, reject) => { - reader.onloadend = () => { - if (reader.result !== undefined || reader.result !== null) { - resolve(reader.result); - } else if (reader.error !== undefined || reader.error !== null) { - reject(reader.error); - } else { - reject({ code: null, message: 'READER_ONLOADEND_ERR' }); - } - }; - - fileEntry.file(file => { - reader[`readAs${readAs}`].call(reader, file); - }, error => { - reject(error); - }); - - }); - }); - } - /** * Move a file to a given path. * @@ -1208,15 +1143,6 @@ export class File extends IonicNativePlugin { }); } - /** - * @hidden - */ - private fillErrorMessage(err: FileError): void { - try { - err.message = this.cordovaFileError[err.code]; - } catch (e) { } - } - /** * Resolves a local file system URL * @param fileUrl {string} file system url @@ -1304,6 +1230,74 @@ export class File extends IonicNativePlugin { }); } + /** Write content to FileEntry. + * + * @hidden + * @param {FileEntry} fe file entry object + * @param {string | Blob} text content or blob to write + * @param {IWriteOptions} options replace file if set to true. See WriteOptions for more information. + * @returns {Promise} Returns a Promise that resolves to updated file entry or rejects with an error. + */ + private writeFileEntry(fe: FileEntry, text: string | Blob | ArrayBuffer, options: IWriteOptions) { + return this.createWriter(fe) + .then((writer) => { + if (options.append) { + writer.seek(writer.length); + } + + if (options.truncate) { + writer.truncate(options.truncate); + } + + return this.write(writer, text); + }) + .then(() => fe); + } + + private readFile(path: string, file: string, readAs: 'ArrayBuffer' | 'BinaryString' | 'DataURL' | 'Text'): Promise { + if ((/^\//.test(file))) { + let err = new FileError(5); + err.message = 'file-name cannot start with \/'; + return Promise.reject(err); + } + + return this.resolveDirectoryUrl(path) + .then((directoryEntry: DirectoryEntry) => { + return this.getFile(directoryEntry, file, { create: false }); + }) + .then((fileEntry: FileEntry) => { + const reader = new FileReader(); + return new Promise((resolve, reject) => { + reader.onloadend = () => { + if (reader.result !== undefined || reader.result !== null) { + resolve(reader.result); + } else if (reader.error !== undefined || reader.error !== null) { + reject(reader.error); + } else { + reject({ code: null, message: 'READER_ONLOADEND_ERR' }); + } + }; + + fileEntry.file(file => { + reader[`readAs${readAs}`].call(reader, file); + }, error => { + reject(error); + }); + + }); + }); + } + + /** + * @hidden + */ + private fillErrorMessage(err: FileError): void { + try { + err.message = this.cordovaFileError[err.code]; + } catch (e) { + } + } + /** * @hidden */ diff --git a/src/@ionic-native/plugins/fingerprint-aio/index.ts b/src/@ionic-native/plugins/fingerprint-aio/index.ts index 8d414ccb23..b2c30d4823 100644 --- a/src/@ionic-native/plugins/fingerprint-aio/index.ts +++ b/src/@ionic-native/plugins/fingerprint-aio/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface FingerprintOptions { @@ -72,7 +72,9 @@ export class FingerprintAIO extends IonicNativePlugin { * @return {Promise} Returns a promise with result */ @Cordova() - isAvailable(): Promise { return; } + isAvailable(): Promise { + return; + } /** * Show authentication dialogue @@ -80,6 +82,8 @@ export class FingerprintAIO extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when authentication was successfull */ @Cordova() - show(options: FingerprintOptions): Promise { return; } + show(options: FingerprintOptions): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/firebase-analytics/index.ts b/src/@ionic-native/plugins/firebase-analytics/index.ts index a6ef388dd2..cb4ac3b9e8 100644 --- a/src/@ionic-native/plugins/firebase-analytics/index.ts +++ b/src/@ionic-native/plugins/firebase-analytics/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @beta @@ -44,7 +44,9 @@ export class FirebaseAnalytics extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - logEvent(name: string, params: any): Promise { return; } + logEvent(name: string, params: any): Promise { + return; + } /** * Sets the user ID property. @@ -53,7 +55,9 @@ export class FirebaseAnalytics extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - setUserId(id: string): Promise { return; } + setUserId(id: string): Promise { + return; + } /** * This feature must be used in accordance with Google's Privacy Policy. @@ -63,7 +67,9 @@ export class FirebaseAnalytics extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - setUserProperty(name: string, value: string): Promise { return; } + setUserProperty(name: string, value: string): Promise { + return; + } /** * Sets whether analytics collection is enabled for this app on this device. @@ -71,7 +77,9 @@ export class FirebaseAnalytics extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - setEnabled(enabled: boolean): Promise { return; } + setEnabled(enabled: boolean): Promise { + return; + } /** * Sets the current screen name, which specifies the current visual context in your app. @@ -80,6 +88,8 @@ export class FirebaseAnalytics extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - setCurrentScreen(name: string): Promise { return; } + setCurrentScreen(name: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/firebase-dynamic-links/index.ts b/src/@ionic-native/plugins/firebase-dynamic-links/index.ts index 00bc7cbda2..179472f12b 100644 --- a/src/@ionic-native/plugins/firebase-dynamic-links/index.ts +++ b/src/@ionic-native/plugins/firebase-dynamic-links/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface DynamicLinksOptions { title: string; @@ -78,7 +78,9 @@ export class FirebaseDynamicLinks extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - onDynamicLink(): Promise { return; } + onDynamicLink(): Promise { + return; + } /** * Display invitation dialog. @@ -86,6 +88,8 @@ export class FirebaseDynamicLinks extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - sendInvitation(options: DynamicLinksOptions): Promise { return; } + sendInvitation(options: DynamicLinksOptions): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/firebase/index.ts b/src/@ionic-native/plugins/firebase/index.ts index bee4737f5c..38a260f9f7 100644 --- a/src/@ionic-native/plugins/firebase/index.ts +++ b/src/@ionic-native/plugins/firebase/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; /** diff --git a/src/@ionic-native/plugins/flashlight/index.ts b/src/@ionic-native/plugins/flashlight/index.ts index 01cce21482..219dfc1634 100644 --- a/src/@ionic-native/plugins/flashlight/index.ts +++ b/src/@ionic-native/plugins/flashlight/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Flashlight @@ -34,28 +34,36 @@ export class Flashlight extends IonicNativePlugin { * @returns {Promise} Returns a promise that resolves with a boolean stating if the flashlight is available. */ @Cordova() - available(): Promise { return; } + available(): Promise { + return; + } /** * Switches the flashlight on * @returns {Promise} */ @Cordova() - switchOn(): Promise { return; } + switchOn(): Promise { + return; + } /** * Switches the flashlight off * @returns {Promise} */ @Cordova() - switchOff(): Promise { return; } + switchOff(): Promise { + return; + } /** * Toggles the flashlight * @returns {Promise} */ @Cordova() - toggle(): Promise { return; } + toggle(): Promise { + return; + } /** @@ -65,6 +73,8 @@ export class Flashlight extends IonicNativePlugin { @Cordova({ sync: true }) - isSwitchedOn(): boolean { return; } + isSwitchedOn(): boolean { + return; + } } diff --git a/src/@ionic-native/plugins/flurry-analytics/index.ts b/src/@ionic-native/plugins/flurry-analytics/index.ts index 6116dd1959..7f49866c26 100644 --- a/src/@ionic-native/plugins/flurry-analytics/index.ts +++ b/src/@ionic-native/plugins/flurry-analytics/index.ts @@ -1,4 +1,4 @@ -import { Plugin, CordovaInstance, checkAvailability, IonicNativePlugin } from '@ionic-native/core'; +import { checkAvailability, CordovaInstance, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; export interface FlurryAnalyticsOptions { @@ -73,11 +73,12 @@ export interface FlurryAnalyticsLocation { } /** -* @hidden -*/ + * @hidden + */ export class FlurryAnalyticsObject { - constructor(private _objectInstance: any) { } + constructor(private _objectInstance: any) { + } /** * This function set the Event @@ -192,7 +193,7 @@ export class FlurryAnalyticsObject { * appKey: '', // REQUIRED * reportSessionsOnClose: true, * enableLogging: true - * }; + * } * * let fa: FlurryAnalyticsObject = this.flurryAnalytics.create(options); * diff --git a/src/@ionic-native/plugins/ftp/index.ts b/src/@ionic-native/plugins/ftp/index.ts index c2c3be5ae6..90abdc3a9a 100644 --- a/src/@ionic-native/plugins/ftp/index.ts +++ b/src/@ionic-native/plugins/ftp/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs'; /** @@ -34,16 +34,18 @@ import { Observable } from 'rxjs'; export class FTP extends IonicNativePlugin { /** - * Connect to one ftp server. - * - * Just need to init the connection once. If success, you can do any ftp actions later. - * @param hostname {string} The ftp server url. Like ip without protocol prefix, e.g. "192.168.1.1". - * @param username {string} The ftp login username. If it and `password` are all blank/undefined, the default username "anonymous" is used. - * @param password {string} The ftp login password. If it and `username` are all blank/undefined, the default password "anonymous@" is used. - * @return {Promise} The success callback. Notice: For iOS, if triggered, means `init` success, but NOT means the later action, e.g. `ls`... `download` will success! - */ + * Connect to one ftp server. + * + * Just need to init the connection once. If success, you can do any ftp actions later. + * @param hostname {string} The ftp server url. Like ip without protocol prefix, e.g. "192.168.1.1". + * @param username {string} The ftp login username. If it and `password` are all blank/undefined, the default username "anonymous" is used. + * @param password {string} The ftp login password. If it and `username` are all blank/undefined, the default password "anonymous@" is used. + * @return {Promise} The success callback. Notice: For iOS, if triggered, means `init` success, but NOT means the later action, e.g. `ls`... `download` will success! + */ @Cordova() - connect(hostname: string, username: string, password: string): Promise { return; } + connect(hostname: string, username: string, password: string): Promise { + return; + } /** * List files (with info of `name`, `type`, `link`, `size`, `modifiedDate`) under one directory on the ftp server. @@ -60,7 +62,9 @@ export class FTP extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - ls(path: string): Promise { return; } + ls(path: string): Promise { + return; + } /** * Create one directory on the ftp server. @@ -69,7 +73,9 @@ export class FTP extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - mkdir(path: string): Promise { return; } + mkdir(path: string): Promise { + return; + } /** * Delete one directory on the ftp server. @@ -80,7 +86,9 @@ export class FTP extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - rmdir(path: string): Promise { return; } + rmdir(path: string): Promise { + return; + } /** * Delete one file on the ftp server. @@ -89,7 +97,9 @@ export class FTP extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - rm(file: string): Promise { return; } + rm(file: string): Promise { + return; + } /** * Upload one local file to the ftp server. @@ -103,7 +113,9 @@ export class FTP extends IonicNativePlugin { @Cordova({ observable: true }) - upload(localFile: string, remoteFile: string): Observable { return; } + upload(localFile: string, remoteFile: string): Observable { + return; + } /** * Download one remote file on the ftp server to local path. @@ -117,7 +129,9 @@ export class FTP extends IonicNativePlugin { @Cordova({ observable: true }) - download(localFile: string, remoteFile: string): Observable { return; } + download(localFile: string, remoteFile: string): Observable { + return; + } /** * Cancel all requests. Always success. @@ -125,7 +139,9 @@ export class FTP extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - cancel(): Promise { return; } + cancel(): Promise { + return; + } /** * Disconnect from ftp server. @@ -133,6 +149,8 @@ export class FTP extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - disconnect(): Promise { return; } + disconnect(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/geofence/index.ts b/src/@ionic-native/plugins/geofence/index.ts index a906aca882..026c9f75dd 100644 --- a/src/@ionic-native/plugins/geofence/index.ts +++ b/src/@ionic-native/plugins/geofence/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, CordovaFunctionOverride, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaFunctionOverride, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; declare const window: any; @@ -96,7 +96,9 @@ export class Geofence extends IonicNativePlugin { * @return {Observable} */ @CordovaFunctionOverride() - onTransitionReceived(): Observable { return; }; + onTransitionReceived(): Observable { + return; + } /** * Initializes the plugin. User will be prompted to allow the app to use location and notifications. @@ -104,7 +106,9 @@ export class Geofence extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - initialize(): Promise { return; }; + initialize(): Promise { + return; + } /** * Adds a new geofence or array of geofences. For geofence object, see above. @@ -112,7 +116,9 @@ export class Geofence extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - addOrUpdate(geofences: Object | Array): Promise { return; }; + addOrUpdate(geofences: Object | Array): Promise { + return; + } /** * Removes a geofence or array of geofences. `geofenceID` corresponds to one or more IDs specified when the @@ -121,7 +127,9 @@ export class Geofence extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - remove(geofenceId: string | Array): Promise { return; }; + remove(geofenceId: string | Array): Promise { + return; + } /** * Removes all geofences. @@ -129,7 +137,9 @@ export class Geofence extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - removeAll(): Promise { return; }; + removeAll(): Promise { + return; + } /** * Returns an array of geofences currently being monitored. @@ -137,7 +147,9 @@ export class Geofence extends IonicNativePlugin { * @returns {Promise>} */ @Cordova() - getWatched(): Promise { return; }; + getWatched(): Promise { + return; + } /** * Called when the user clicks a geofence notification. iOS and Android only. @@ -148,7 +160,8 @@ export class Geofence extends IonicNativePlugin { return new Observable((observer) => { window && window.geofence && (window.geofence.onNotificationClicked = observer.next.bind(observer)); - return () => window.geofence.onNotificationClicked = () => { }; + return () => window.geofence.onNotificationClicked = () => { + }; }); } diff --git a/src/@ionic-native/plugins/geolocation/index.ts b/src/@ionic-native/plugins/geolocation/index.ts index 52e8f52d29..f4676e506e 100644 --- a/src/@ionic-native/plugins/geolocation/index.ts +++ b/src/@ionic-native/plugins/geolocation/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; declare const navigator: any; @@ -169,7 +169,9 @@ export class Geolocation extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getCurrentPosition(options?: GeolocationOptions): Promise { return; } + getCurrentPosition(options?: GeolocationOptions): Promise { + return; + } /** * Watch the current device's position. Clear the watch by unsubscribing from diff --git a/src/@ionic-native/plugins/globalization/index.ts b/src/@ionic-native/plugins/globalization/index.ts index 29763d1296..b165c02cb7 100644 --- a/src/@ionic-native/plugins/globalization/index.ts +++ b/src/@ionic-native/plugins/globalization/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Globalization @@ -36,14 +36,18 @@ export class Globalization extends IonicNativePlugin { * @returns {Promise<{value: string}>} */ @Cordova() - getPreferredLanguage(): Promise<{ value: string }> { return; } + getPreferredLanguage(): Promise<{ value: string }> { + return; + } /** * Returns the BCP 47 compliant locale identifier string to the successCallback with a properties object as a parameter. * @returns {Promise<{value: string}>} */ @Cordova() - getLocaleName(): Promise<{ value: string }> { return; } + getLocaleName(): Promise<{ value: string }> { + return; + } /** * Converts date to string @@ -55,7 +59,9 @@ export class Globalization extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - dateToString(date: Date, options: { formatLength: string, selector: string }): Promise<{ value: string }> { return; } + dateToString(date: Date, options: { formatLength: string, selector: string }): Promise<{ value: string }> { + return; + } /** * Parses a date formatted as a string, according to the client's user preferences and calendar using the time zone of the client, and returns the corresponding date object. @@ -67,7 +73,9 @@ export class Globalization extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - stringToDate(dateString: string, options: { formatLength: string, selector: string }): Promise<{ year: number, month: number, day: number, hour: number, minute: number, second: number, millisecond: number }> { return; } + stringToDate(dateString: string, options: { formatLength: string, selector: string }): Promise<{ year: number, month: number, day: number, hour: number, minute: number, second: number, millisecond: number }> { + return; + } /** * Returns a pattern string to format and parse dates according to the client's user preferences. @@ -77,7 +85,9 @@ export class Globalization extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getDatePattern(options: { formatLength: string, selector: string }): Promise<{ pattern: string, timezone: string, utf_offset: number, dst_offset: number }> { return; } + getDatePattern(options: { formatLength: string, selector: string }): Promise<{ pattern: string, timezone: string, utf_offset: number, dst_offset: number }> { + return; + } /** * Returns an array of the names of the months or days of the week, depending on the client's user preferences and calendar. @@ -87,7 +97,9 @@ export class Globalization extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getDateNames(options: { type: string, item: string }): Promise<{ value: Array }> { return; } + getDateNames(options: { type: string, item: string }): Promise<{ value: Array }> { + return; + } /** * Indicates whether daylight savings time is in effect for a given date using the client's time zone and calendar. @@ -95,14 +107,18 @@ export class Globalization extends IonicNativePlugin { * @returns {Promise<{dst: string}>} reutrns a promise with the value */ @Cordova() - isDayLightSavingsTime(date: Date): Promise<{ dst: string }> { return; } + isDayLightSavingsTime(date: Date): Promise<{ dst: string }> { + return; + } /** * Returns the first day of the week according to the client's user preferences and calendar. * @returns {Promise<{value: string}>} returns a promise with the value */ @Cordova() - getFirstDayOfWeek(): Promise<{ value: string }> { return; } + getFirstDayOfWeek(): Promise<{ value: string }> { + return; + } /** * Returns a number formatted as a string according to the client's user preferences. @@ -113,7 +129,9 @@ export class Globalization extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - numberToString(numberToConvert: number, options: { type: string }): Promise<{ value: string }> { return; } + numberToString(numberToConvert: number, options: { type: string }): Promise<{ value: string }> { + return; + } /** * @@ -125,7 +143,9 @@ export class Globalization extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - stringToNumber(stringToConvert: string, options: { type: string }): Promise<{ value: number | string }> { return; } + stringToNumber(stringToConvert: string, options: { type: string }): Promise<{ value: number | string }> { + return; + } /** * Returns a pattern string to format and parse numbers according to the client's user preferences. @@ -135,7 +155,9 @@ export class Globalization extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getNumberPattern(options: { type: string }): Promise<{ pattern: string, symbol: string, fraction: number, rounding: number, positive: string, negative: string, decimal: string, grouping: string }> { return; } + getNumberPattern(options: { type: string }): Promise<{ pattern: string, symbol: string, fraction: number, rounding: number, positive: string, negative: string, decimal: string, grouping: string }> { + return; + } /** * Returns a pattern string to format and parse currency values according to the client's user preferences and ISO 4217 currency code. @@ -143,6 +165,8 @@ export class Globalization extends IonicNativePlugin { * @returns {Promise<{ pattern: string, code: string, fraction: number, rounding: number, decimal: number, grouping: string }>} */ @Cordova() - getCurrencyPattern(currencyCode: string): Promise<{ pattern: string, code: string, fraction: number, rounding: number, decimal: number, grouping: string }> { return; } + getCurrencyPattern(currencyCode: string): Promise<{ pattern: string, code: string, fraction: number, rounding: number, decimal: number, grouping: string }> { + return; + } } diff --git a/src/@ionic-native/plugins/google-analytics/index.ts b/src/@ionic-native/plugins/google-analytics/index.ts index 9af3c62e5e..722eefee58 100644 --- a/src/@ionic-native/plugins/google-analytics/index.ts +++ b/src/@ionic-native/plugins/google-analytics/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Google Analytics @@ -50,7 +50,9 @@ export class GoogleAnalytics extends IonicNativePlugin { successIndex: 2, errorIndex: 3 }) - startTrackerWithId(id: string, interval?: number): Promise { return; } + startTrackerWithId(id: string, interval?: number): Promise { + return; + } /** * Enabling Advertising Features in Google Analytics allows you to take advantage of Remarketing, Demographics & Interests reports, and more @@ -58,7 +60,9 @@ export class GoogleAnalytics extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - setAllowIDFACollection(allow: boolean): Promise { return; } + setAllowIDFACollection(allow: boolean): Promise { + return; + } /** * Set a UserId @@ -67,7 +71,9 @@ export class GoogleAnalytics extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - setUserId(id: string): Promise { return; } + setUserId(id: string): Promise { + return; + } /** * Set a anonymize Ip address @@ -75,7 +81,9 @@ export class GoogleAnalytics extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - setAnonymizeIp(anonymize: boolean): Promise { return; } + setAnonymizeIp(anonymize: boolean): Promise { + return; + } /** * Sets the app version @@ -83,7 +91,9 @@ export class GoogleAnalytics extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - setAppVersion(appVersion: string): Promise { return; } + setAppVersion(appVersion: string): Promise { + return; + } /** * Set OptOut @@ -91,14 +101,18 @@ export class GoogleAnalytics extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - setOptOut(optout: boolean): Promise { return; } + setOptOut(optout: boolean): Promise { + return; + } /** * Enable verbose logging * @returns {Promise} */ @Cordova() - debugMode(): Promise { return; } + debugMode(): Promise { + return; + } /** * Track custom metric @@ -110,7 +124,9 @@ export class GoogleAnalytics extends IonicNativePlugin { successIndex: 2, errorIndex: 3 }) - trackMetric(key: number, value?: number): Promise { return; } + trackMetric(key: number, value?: number): Promise { + return; + } /** * Track a screen @@ -125,7 +141,9 @@ export class GoogleAnalytics extends IonicNativePlugin { successIndex: 3, errorIndex: 4 }) - trackView(title: string, campaignUrl?: string, newSession?: boolean): Promise { return; } + trackView(title: string, campaignUrl?: string, newSession?: boolean): Promise { + return; + } /** * Add a Custom Dimension @@ -135,7 +153,9 @@ export class GoogleAnalytics extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - addCustomDimension(key: number, value: string): Promise { return; } + addCustomDimension(key: number, value: string): Promise { + return; + } /** * Track an event @@ -151,7 +171,9 @@ export class GoogleAnalytics extends IonicNativePlugin { successIndex: 5, errorIndex: 6 }) - trackEvent(category: string, action: string, label?: string, value?: number, newSession?: boolean): Promise { return; } + trackEvent(category: string, action: string, label?: string, value?: number, newSession?: boolean): Promise { + return; + } /** * Track an exception @@ -160,7 +182,9 @@ export class GoogleAnalytics extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - trackException(description: string, fatal: boolean): Promise { return; } + trackException(description: string, fatal: boolean): Promise { + return; + } /** * Track User Timing (App Speed) @@ -171,7 +195,9 @@ export class GoogleAnalytics extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - trackTiming(category: string, intervalInMilliseconds: number, variable: string, label: string): Promise { return; } + trackTiming(category: string, intervalInMilliseconds: number, variable: string, label: string): Promise { + return; + } /** * Add a Transaction (Ecommerce) @@ -185,7 +211,9 @@ export class GoogleAnalytics extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - addTransaction(id: string, affiliation: string, revenue: number, tax: number, shipping: number, currencyCode: string): Promise { return; } + addTransaction(id: string, affiliation: string, revenue: number, tax: number, shipping: number, currencyCode: string): Promise { + return; + } /** * Add a Transaction Item (Ecommerce) @@ -200,7 +228,9 @@ export class GoogleAnalytics extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - addTransactionItem(id: string, name: string, sku: string, category: string, price: number, quantity: number, currencyCode: string): Promise { return; } + addTransactionItem(id: string, name: string, sku: string, category: string, price: number, quantity: number, currencyCode: string): Promise { + return; + } /** * Enable/disable automatic reporting of uncaught exceptions @@ -208,6 +238,8 @@ export class GoogleAnalytics extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - enableUncaughtExceptionReporting(shouldEnable: boolean): Promise { return; } + enableUncaughtExceptionReporting(shouldEnable: boolean): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/google-maps/index.ts b/src/@ionic-native/plugins/google-maps/index.ts index fee5b298fd..160b049a2d 100644 --- a/src/@ionic-native/plugins/google-maps/index.ts +++ b/src/@ionic-native/plugins/google-maps/index.ts @@ -1,10 +1,24 @@ import { Injectable } from '@angular/core'; -import { CordovaCheck, CordovaInstance, Plugin, InstanceProperty, InstanceCheck, checkAvailability, IonicNativePlugin } from '@ionic-native/core'; +import { + checkAvailability, + CordovaCheck, + CordovaInstance, + InstanceCheck, + InstanceProperty, + IonicNativePlugin, + Plugin +} from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/observable/fromEvent'; -export type MapType = 'MAP_TYPE_NORMAL' | 'MAP_TYPE_ROADMAP' | 'MAP_TYPE_SATELLITE' | 'MAP_TYPE_HYBRID' | 'MAP_TYPE_TERRAIN' | 'MAP_TYPE_NONE'; +export type MapType = + 'MAP_TYPE_NORMAL' + | 'MAP_TYPE_ROADMAP' + | 'MAP_TYPE_SATELLITE' + | 'MAP_TYPE_HYBRID' + | 'MAP_TYPE_TERRAIN' + | 'MAP_TYPE_NONE'; /** * @hidden @@ -44,12 +58,11 @@ export interface ILatLngBounds { */ export class LatLngBounds implements ILatLngBounds { + @InstanceProperty() northeast: ILatLng; + @InstanceProperty() southwest: ILatLng; + @InstanceProperty() type: string; private _objectInstance: any; - @InstanceProperty northeast: ILatLng; - @InstanceProperty southwest: ILatLng; - @InstanceProperty type: string; - constructor(points?: ILatLng[]) { this._objectInstance = new (GoogleMaps.getPlugin()).LatLngBounds(points); } @@ -59,7 +72,9 @@ export class LatLngBounds implements ILatLngBounds { * @return {string} */ @CordovaInstance({ sync: true }) - toString(): string { return; } + toString(): string { + return; + } /** * Returns a string of the form "lat_sw,lng_sw,lat_ne,lng_ne" for this bounds, where "sw" corresponds to the southwest corner of the bounding box, while "ne" corresponds to the northeast corner of that box. @@ -67,28 +82,35 @@ export class LatLngBounds implements ILatLngBounds { * @return {string} */ @CordovaInstance({ sync: true }) - toUrlValue(precision?: number): string { return; } + toUrlValue(precision?: number): string { + return; + } /** * Extends this bounds to contain the given point. * @param LatLng {ILatLng} */ @CordovaInstance({ sync: true }) - extend(LatLng: ILatLng): void {} + extend(LatLng: ILatLng): void { + } /** * Returns true if the given lat/lng is in this bounds. * @param LatLng {ILatLng} */ @CordovaInstance({ sync: true }) - contains(LatLng: ILatLng): boolean { return; } + contains(LatLng: ILatLng): boolean { + return; + } /** * Computes the center of this LatLngBounds * @return {LatLng} */ @CordovaInstance({ sync: true }) - getCenter(): LatLng { return; } + getCenter(): LatLng { + return; + } } export interface GoogleMapOptions { @@ -168,7 +190,7 @@ export interface GoogleMapOptions { zoom?: { minZoom?: number; maxZoom?: number; - }; + } /** * Paddings of controls. @@ -178,7 +200,7 @@ export interface GoogleMapOptions { top?: number; bottom?: number; right?: number; - }; + } /** * Turns the 3D buildings layer on or off. @@ -290,7 +312,7 @@ export interface GeocoderRequest { * [geocoding usage1] * let request: GeocoderRequest = { * address: "Los Angeles, California, USA" - * }; + * } * * [geocoding usage2] * let request: GeocoderRequest = { @@ -298,7 +320,7 @@ export interface GeocoderRequest { * "Los Angeles, California, USA", * "San Francisco, California, USA", * ] - * }; + * } */ address?: string | string[]; @@ -307,7 +329,7 @@ export interface GeocoderRequest { * [reverse-geocoding usage1] * let request: GeocoderRequest = { * position: {"lat": 37.421655, "lng": -122.085637} - * }; + * } * * [reverse-geocoding usage2] * let request: GeocoderRequest = { @@ -315,7 +337,7 @@ export interface GeocoderRequest { * {"lat": 37.421655, "lng": -122.085637}, * {"lat": 37.332, "lng": -122.030781} * ] - * }; + * } */ position?: ILatLng | ILatLng[]; } @@ -420,7 +442,7 @@ export interface MarkerOptions { position?: ILatLng; /** - * Specify the anchor of the InfoWindow + * Specify the anchor of the InfoWindow */ infoWindowAnchor?: number[]; @@ -430,12 +452,12 @@ export interface MarkerOptions { draggable?: boolean; /** - * Set true if you want to use a flat marker. (Default: false) + * Set true if you want to use a flat marker. (Default: false) */ flat?: boolean; /** - * Set rotation angle. (Default: 0) + * Set rotation angle. (Default: 0) */ rotation?: number; @@ -684,16 +706,15 @@ export interface TileOverlayOptions { * @hidden */ export class VisibleRegion implements ILatLngBounds { + @InstanceProperty() northeast: ILatLng; + @InstanceProperty() southwest: ILatLng; + @InstanceProperty() farLeft: ILatLng; + @InstanceProperty() farRight: ILatLng; + @InstanceProperty() nearLeft: ILatLng; + @InstanceProperty() nearRight: ILatLng; + @InstanceProperty() type: string; private _objectInstance: any; - @InstanceProperty northeast: ILatLng; - @InstanceProperty southwest: ILatLng; - @InstanceProperty farLeft: ILatLng; - @InstanceProperty farRight: ILatLng; - @InstanceProperty nearLeft: ILatLng; - @InstanceProperty nearRight: ILatLng; - @InstanceProperty type: string; - constructor(southwest: LatLngBounds, northeast: LatLngBounds, farLeft: ILatLng, farRight: ILatLng, nearLeft: ILatLng, nearRight: ILatLng) { this._objectInstance = new (GoogleMaps.getPlugin()).VisibleRegion(southwest, northeast, farLeft, farRight, nearLeft, nearRight); } @@ -703,7 +724,9 @@ export class VisibleRegion implements ILatLngBounds { * @return {string} */ @CordovaInstance({ sync: true }) - toString(): string { return; } + toString(): string { + return; + } /** * Returns a string of the form "lat_sw,lng_sw,lat_ne,lng_ne" for this bounds, where "sw" corresponds to the southwest corner of the bounding box, while "ne" corresponds to the northeast corner of that box. @@ -711,7 +734,9 @@ export class VisibleRegion implements ILatLngBounds { * @return {string} */ @CordovaInstance({ sync: true }) - toUrlValue(precision?: number): string { return; } + toUrlValue(precision?: number): string { + return; + } /** @@ -719,7 +744,9 @@ export class VisibleRegion implements ILatLngBounds { * @param LatLng {ILatLng} */ @CordovaInstance({ sync: true }) - contains(LatLng: ILatLng): boolean { return; } + contains(LatLng: ILatLng): boolean { + return; + } } @@ -818,7 +845,7 @@ export const GoogleMapsMapTypeId: { [mapType: string]: MapType; } = { * zoom: 18, * tilt: 30 * } - * }; + * } * * this.map = this.googleMaps.create('map_canvas', mapOptions); * @@ -909,7 +936,7 @@ export class GoogleMaps extends IonicNativePlugin { static create(element: string | HTMLElement | GoogleMapOptions, options?: GoogleMapOptions): GoogleMap { if (element instanceof HTMLElement) { if (element.getAttribute('__pluginMapId')) { - console.error('GoogleMaps', element.tagName + '[__pluginMapId=\'' + element.getAttribute('__pluginMapId') + '\'] has already map.'); + console.error('GoogleMaps', element.tagName + '[__pluginMapId=\'' + element.getAttribute('__pluginMapId') + '\'] has already map.'); return; } } else if (typeof element === 'object') { @@ -1018,7 +1045,9 @@ export class BaseClass { * @param key */ @CordovaInstance({ sync: true }) - get(key: string): any { return; } + get(key: string): any { + return; + } /** * Sets a value @@ -1026,7 +1055,8 @@ export class BaseClass { * @param value */ @CordovaInstance({ sync: true }) - set(key: string, value: any, noNotify?: boolean): void { } + set(key: string, value: any, noNotify?: boolean): void { + } /** * Bind a key to another object @@ -1036,7 +1066,8 @@ export class BaseClass { * @param noNotify? {boolean} */ @CordovaInstance({ sync: true }) - bindTo(key: string, target: any, targetKey?: string, noNotify?: boolean): void { } + bindTo(key: string, target: any, targetKey?: string, noNotify?: boolean): void { + } /** * Listen to a map event. @@ -1110,13 +1141,15 @@ export class BaseClass { * Clears all stored values */ @CordovaInstance({ sync: true }) - empty(): void { } + empty(): void { + } /** * Dispatch event. */ @CordovaInstance({ sync: true }) - trigger(eventName: string, ...parameters: any[]): void {} + trigger(eventName: string, ...parameters: any[]): void { + } /** @@ -1158,7 +1191,8 @@ export class BaseArrayClass extends BaseClass { * @param noNotify? {boolean} Set true to prevent remove_at events. */ @CordovaInstance({ sync: true }) - empty(noNotify?: boolean): void {} + empty(noNotify?: boolean): void { + } /** * Iterate over each element, calling the provided callback. @@ -1166,7 +1200,8 @@ export class BaseArrayClass extends BaseClass { * @param callback? {Function} */ @CordovaInstance({ sync: true }) - forEach(fn: (element: T, index?: number) => void): void {} + forEach(fn: (element: T, index?: number) => void): void { + } /** * Iterate over each element, calling the provided callback. @@ -1188,7 +1223,9 @@ export class BaseArrayClass extends BaseClass { * @return {Array} returns a new array with the results */ @CordovaInstance({ sync: true }) - map(fn: (element: T, index: number) => any): any[] { return; } + map(fn: (element: T, index: number) => any): any[] { + return; + } /** * Iterate over each element, calling the provided callback. @@ -1211,7 +1248,9 @@ export class BaseArrayClass extends BaseClass { * @return {Array} returns a new filtered array */ @CordovaInstance({ sync: true }) - filter(fn: (element: T, index: number) => boolean): T[] { return; } + filter(fn: (element: T, index: number) => boolean): T[] { + return; + } /** * The filterAsync() method creates a new array with all elements that pass the test implemented by the provided function. @@ -1231,7 +1270,9 @@ export class BaseArrayClass extends BaseClass { * @return {Array} */ @CordovaInstance({ sync: true }) - getArray(): T[] { return; } + getArray(): T[] { + return; + } /** * Returns the element at the specified index. @@ -1239,14 +1280,17 @@ export class BaseArrayClass extends BaseClass { * @return {Object} */ @CordovaInstance({ sync: true }) - getAt(index: number): any {} + getAt(index: number): any { + } /** * Returns the number of the elements. * @return {number} */ @CordovaInstance({ sync: true }) - getLength(): number { return; } + getLength(): number { + return; + } /** * The indexOf() method returns the first index at which a given element can be found in the array, or -1 if it is not present. @@ -1254,19 +1298,23 @@ export class BaseArrayClass extends BaseClass { * @return {number} */ @CordovaInstance({ sync: true }) - indexOf(element: T): number { return; } + indexOf(element: T): number { + return; + } /** * The reverse() method reverses an array in place. */ @CordovaInstance({ sync: true }) - reverse(): void {} + reverse(): void { + } /** * The sort() method sorts the elements of an array in place and returns the array. */ @CordovaInstance({ sync: true }) - sort(): void {} + sort(): void { + } /** * Inserts an element at the specified index. @@ -1276,7 +1324,8 @@ export class BaseArrayClass extends BaseClass { * @return {Object} */ @CordovaInstance({ sync: true }) - insertAt(index: number, element: T, noNotify?: boolean) {} + insertAt(index: number, element: T, noNotify?: boolean) { + } /** * Removes the last element of the array and returns that element. @@ -1284,7 +1333,9 @@ export class BaseArrayClass extends BaseClass { * @return {Object} */ @CordovaInstance({ sync: true }) - pop(noNotify?: boolean): T { return; } + pop(noNotify?: boolean): T { + return; + } /** * Adds one element to the end of the array and returns the new length of the array. @@ -1292,7 +1343,8 @@ export class BaseArrayClass extends BaseClass { * @param noNotify? {boolean} Set true to prevent insert_at events. */ @CordovaInstance({ sync: true }) - push(element: T, noNotify?: boolean): void {} + push(element: T, noNotify?: boolean): void { + } /** * Removes an element from the specified index. @@ -1300,7 +1352,8 @@ export class BaseArrayClass extends BaseClass { * @param noNotify? {boolean} Set true to prevent insert_at events. */ @CordovaInstance({ sync: true }) - removeAt(index: number, noNotify?: boolean): void {} + removeAt(index: number, noNotify?: boolean): void { + } /** * Sets an element at the specified index. @@ -1309,7 +1362,8 @@ export class BaseArrayClass extends BaseClass { * @param noNotify? {boolean} Set true to prevent set_at events. */ @CordovaInstance({ sync: true }) - setAt(index: number, element: T, noNotify?: boolean): void {} + setAt(index: number, element: T, noNotify?: boolean): void { + } } /** @@ -1331,138 +1385,169 @@ export class Circle extends BaseClass { * @return {string} */ @CordovaInstance({ sync: true }) - getId(): string { return; } + getId(): string { + return; + } /** * Return the map instance. * @return {GoogleMap} */ - getMap(): any { return this._map; } + getMap(): any { + return this._map; + } /** * Change the center position. * @param latLng {ILatLng} */ @CordovaInstance({ sync: true }) - setCenter(latLng: ILatLng): void {} + setCenter(latLng: ILatLng): void { + } /** * Return the current center position * @return {ILatLng} */ @CordovaInstance({ sync: true }) - getCenter(): ILatLng { return; } + getCenter(): ILatLng { + return; + } /** * Return the current circle radius. * @return {number} */ @CordovaInstance({ sync: true }) - getRadius(): number { return; } + getRadius(): number { + return; + } /** * Change the circle radius. * @param radius {number} */ @CordovaInstance({ sync: true }) - setRadius(radius: number): void {} + setRadius(radius: number): void { + } /** * Change the filling color (inner color). * @param color {string} */ @CordovaInstance({ sync: true }) - setFillColor(color: string): void {} + setFillColor(color: string): void { + } /** * Return the current circle filling color (inner color). * @return {string} */ @CordovaInstance({ sync: true }) - getFillColor(): string { return; } + getFillColor(): string { + return; + } /** * Change the stroke width. * @param strokeWidth {number} */ @CordovaInstance({ sync: true }) - setStrokeWidth(strokeWidth: number): void {} + setStrokeWidth(strokeWidth: number): void { + } /** * Return the current circle stroke width (unit: pixel). * @return {number} */ @CordovaInstance({ sync: true }) - getStrokeWidth(): number { return; } + getStrokeWidth(): number { + return; + } /** * Change the stroke color (outter color). * @param strokeColor {string} */ @CordovaInstance({ sync: true }) - setStrokeColor(strokeColor: string): void {} + setStrokeColor(strokeColor: string): void { + } /** * Return the current circle stroke color (outer color). * @return {string} */ @CordovaInstance({ sync: true }) - getStrokeColor(): string { return; } + getStrokeColor(): string { + return; + } /** * Change clickablity of the circle. * @param clickable {boolean} */ @CordovaInstance({ sync: true }) - setClickable(clickable: boolean): void {} + setClickable(clickable: boolean): void { + } /** * Return true if the circle is clickable. * @return {boolean} */ @CordovaInstance({ sync: true }) - getClickable(): boolean { return; } + getClickable(): boolean { + return; + } /** * Change the circle zIndex order. * @param zIndex {number} */ @CordovaInstance({ sync: true }) - setZIndex(zIndex: number): void {} + setZIndex(zIndex: number): void { + } /** * Return the current circle zIndex. * @return {number} */ @CordovaInstance({ sync: true }) - getZIndex(): number { return; } + getZIndex(): number { + return; + } /** * Remove the circle. */ @CordovaInstance({ sync: true }) - remove(): void {} + remove(): void { + } /** * Return the latLngBounds (rectangle) that contains the circle. * @return {LatLngBounds} */ @CordovaInstance({ sync: true }) - getBounds(): LatLngBounds { return; } + getBounds(): LatLngBounds { + return; + } /** * Set circle visibility * @param visible {boolean} */ @CordovaInstance({ sync: true }) - setVisible(visible: boolean): void {} + setVisible(visible: boolean): void { + } /** * Returns a boolean that indicates whether the circle is visible * @return {boolean} */ @CordovaInstance({ sync: true }) - getVisible(): boolean { return; } + getVisible(): boolean { + return; + } } /** @@ -1486,6 +1571,14 @@ export class Environment { }); } + /** + * Specifies the background color of the app. + * @param color + */ + static setBackgroundColor(color: string): void { + GoogleMaps.getPlugin().environment.setBackgroundColor(color); + } + /** * @deprecation * @hidden @@ -1495,14 +1588,6 @@ export class Environment { return Environment.getLicenseInfo(); } - /** - * Specifies the background color of the app. - * @param color - */ - static setBackgroundColor(color: string): void { - GoogleMaps.getPlugin().environment.setBackgroundColor(color); - } - /** * @deprecation * @hidden @@ -1524,15 +1609,6 @@ export class Environment { }) export class Geocoder { - /** - * @deprecation - * @hidden - */ - geocode(request: GeocoderRequest): Promise> { - console.error('GoogleMaps', '[deprecated] This method is static. Please use Geocoder.geocode()'); - return Geocoder.geocode(request); - } - /** * Converts position to address and vice versa * @param {GeocoderRequest} request Request object with either an address or a position @@ -1576,6 +1652,15 @@ export class Geocoder { }); } } + + /** + * @deprecation + * @hidden + */ + geocode(request: GeocoderRequest): Promise> { + console.error('GoogleMaps', '[deprecated] This method is static. Please use Geocoder.geocode()'); + return Geocoder.geocode(request); + } } /** @@ -1589,6 +1674,25 @@ export class Geocoder { }) export class Encoding { + /** + * Decodes an encoded path string into a sequence of LatLngs. + * @param encoded {string} an encoded path string + * @param precision? {number} default: 5 + * @return {LatLng} + */ + static decodePath(encoded: string, precision?: number): LatLng { + return; + } + + /** + * Encodes a sequence of LatLngs into an encoded path string. + * @param path {Array | BaseArrayClass} a sequence of LatLngs + * @return {string} + */ + static encodePath(path: Array | BaseArrayClass): string { + return; + } + /** * @deprecation * @hidden @@ -1606,21 +1710,6 @@ export class Encoding { console.error('GoogleMaps', '[deprecated] This method is static. Please use Encoding.encodePath()'); return Encoding.encodePath(path); } - - /** - * Decodes an encoded path string into a sequence of LatLngs. - * @param encoded {string} an encoded path string - * @param precision? {number} default: 5 - * @return {LatLng} - */ - static decodePath(encoded: string, precision?: number): LatLng { return; } - - /** - * Encodes a sequence of LatLngs into an encoded path string. - * @param path {Array | BaseArrayClass} a sequence of LatLngs - * @return {string} - */ - static encodePath(path: Array | BaseArrayClass): string { return; } } /** @@ -1666,84 +1755,6 @@ export class Poly { }) export class Spherical { - /** - * @deprecation - * @hidden - */ - computeDistanceBetween(from: ILatLng, to: ILatLng): number { - console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeDistanceBetween()'); - return Spherical.computeDistanceBetween(from, to); - } - - /** - * @deprecation - * @hidden - */ - computeOffset(from: ILatLng, distance: number, heading: number): LatLng { - console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeOffset()'); - return Spherical.computeOffset(from, distance, heading); - } - - /** - * @deprecation - * @hidden - */ - computeOffsetOrigin(to: ILatLng, distance: number, heading: number): LatLng { - console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeOffsetOrigin()'); - return Spherical.computeOffsetOrigin(to, distance, heading); - } - - /** - * @deprecation - * @hidden - */ - computeLength(path: Array | BaseArrayClass): number { - console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeLength()'); - return Spherical.computeLength(path); - } - - /** - * @deprecation - * @hidden - */ - computeArea(path: Array | BaseArrayClass): number { - console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeArea()'); - return Spherical.computeArea(path); - } - - /** - * @deprecation - * @hidden - */ - computeSignedArea(path: Array | BaseArrayClass): number { - console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeSignedArea()'); - return Spherical.computeSignedArea(path); - } - - /** - * @deprecation - * @hidden - */ - computeHeading(from: ILatLng, to: ILatLng): number { - console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeHeading()'); - return Spherical.computeHeading(from, to); - } - - /** - * @deprecation - * @hidden - */ - interpolate(from: ILatLng, to: ILatLng, fraction: number): LatLng { - console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.interpolate()'); - return Spherical.interpolate(from, to, fraction); - } - - - - - - - /** * Returns the distance, in meters, between two LatLngs. * @param locationA {ILatLng} @@ -1823,6 +1834,78 @@ export class Spherical { static interpolate(from: ILatLng, to: ILatLng, fraction: number): LatLng { return GoogleMaps.getPlugin().geometry.spherical.interpolate(from, to, fraction); } + + /** + * @deprecation + * @hidden + */ + computeDistanceBetween(from: ILatLng, to: ILatLng): number { + console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeDistanceBetween()'); + return Spherical.computeDistanceBetween(from, to); + } + + /** + * @deprecation + * @hidden + */ + computeOffset(from: ILatLng, distance: number, heading: number): LatLng { + console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeOffset()'); + return Spherical.computeOffset(from, distance, heading); + } + + /** + * @deprecation + * @hidden + */ + computeOffsetOrigin(to: ILatLng, distance: number, heading: number): LatLng { + console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeOffsetOrigin()'); + return Spherical.computeOffsetOrigin(to, distance, heading); + } + + /** + * @deprecation + * @hidden + */ + computeLength(path: Array | BaseArrayClass): number { + console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeLength()'); + return Spherical.computeLength(path); + } + + /** + * @deprecation + * @hidden + */ + computeArea(path: Array | BaseArrayClass): number { + console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeArea()'); + return Spherical.computeArea(path); + } + + /** + * @deprecation + * @hidden + */ + computeSignedArea(path: Array | BaseArrayClass): number { + console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeSignedArea()'); + return Spherical.computeSignedArea(path); + } + + /** + * @deprecation + * @hidden + */ + computeHeading(from: ILatLng, to: ILatLng): number { + console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.computeHeading()'); + return Spherical.computeHeading(from, to); + } + + /** + * @deprecation + * @hidden + */ + interpolate(from: ILatLng, to: ILatLng, fraction: number): LatLng { + console.error('GoogleMaps', '[deprecated] This method is static. Please use Spherical.interpolate()'); + return Spherical.interpolate(from, to, fraction); + } } /** @@ -1833,7 +1916,7 @@ export class Spherical { plugin: 'cordova-plugin-googlemaps' }) export class GoogleMap extends BaseClass { - constructor(element: string | HTMLElement, options?: GoogleMapOptions) { + constructor(element: any, options?: GoogleMapOptions) { super(); if (checkAvailability(GoogleMaps.getPluginRef(), null, GoogleMaps.getPluginName()) === true) { if (element instanceof HTMLElement) { @@ -1880,22 +1963,22 @@ export class GoogleMap extends BaseClass { } }, 100); })) - .then((target: any) => { - this._objectInstance = GoogleMaps.getPlugin().Map.getMap(target, options); - this._objectInstance.one(GoogleMapsEvent.MAP_READY, () => { - this.set('_overlays', {}); - onListeners.forEach((args) => { - this.on.apply(this, args); - }); - oneListeners.forEach((args) => { - this.one.apply(this, args); + .then((target: any) => { + this._objectInstance = GoogleMaps.getPlugin().Map.getMap(target, options); + this._objectInstance.one(GoogleMapsEvent.MAP_READY, () => { + this.set('_overlays', {}); + onListeners.forEach((args) => { + this.on.apply(this, args); + }); + oneListeners.forEach((args) => { + this.one.apply(this, args); + }); + dummyObj.trigger(GoogleMapsEvent.MAP_READY); }); - dummyObj.trigger(GoogleMapsEvent.MAP_READY); + }) + .catch(() => { + this._objectInstance = null; }); - }) - .catch(() => { - this._objectInstance = null; - }); } else if (element === null && options) { this._objectInstance = GoogleMaps.getPlugin().Map.getMap(null, options); } @@ -1920,119 +2003,148 @@ export class GoogleMap extends BaseClass { * @return {HTMLElement} */ @CordovaInstance({ sync: true }) - getDiv(): HTMLElement { return; } + getDiv(): HTMLElement { + return; + } /** * Changes the map type id * @param mapTypeId {string} */ @CordovaInstance({ sync: true }) - setMapTypeId(mapTypeId: MapType): void { } + setMapTypeId(mapTypeId: MapType): void { + } /** * Moves the camera with animation * @return {Promise} */ @CordovaInstance() - animateCamera(cameraPosition: CameraPosition): Promise { return; } + animateCamera(cameraPosition: CameraPosition): Promise { + return; + } /** * Zooming in the camera with animation * @return {Promise} */ @CordovaInstance() - animateCameraZoomIn(): Promise { return; } + animateCameraZoomIn(): Promise { + return; + } /** * Zooming out the camera with animation * @return {Promise} */ @CordovaInstance() - animateCameraZoomOut(): Promise { return; } + animateCameraZoomOut(): Promise { + return; + } /** * Moves the camera without animation * @return {Promise} */ @CordovaInstance() - moveCamera(cameraPosition: CameraPosition): Promise { return; } + moveCamera(cameraPosition: CameraPosition): Promise { + return; + } /** * Zooming in the camera without animation * @return {Promise} */ @CordovaInstance() - moveCameraZoomIn(): Promise { return; } + moveCameraZoomIn(): Promise { + return; + } /** * Zooming out the camera without animation * @return {Promise} */ @CordovaInstance() - moveCameraZoomOut(): Promise { return; } + moveCameraZoomOut(): Promise { + return; + } /** * Get the position of the camera. * @return {CameraPosition} */ @CordovaInstance({ sync: true }) - getCameraPosition(): CameraPosition { return; } + getCameraPosition(): CameraPosition { + return; + } /** * Get the current camera target position * @return {Promise} */ @CordovaInstance({ sync: true }) - getCameraTarget(): ILatLng { return; } + getCameraTarget(): ILatLng { + return; + } /** * Get the current camera zoom level * @return {number} */ @CordovaInstance({ sync: true }) - getCameraZoom(): number { return; } + getCameraZoom(): number { + return; + } /** * Get the current camera bearing * @return {number} */ @CordovaInstance({ sync: true }) - getCameraBearing(): number { return; } + getCameraBearing(): number { + return; + } /** * Get the current camera tilt (view angle) * @return {number} */ @CordovaInstance({ sync: true }) - getCameraTilt(): number { return; } + getCameraTilt(): number { + return; + } /** * Set the center position of the camera view * @param latLng {ILatLng | Array} */ @CordovaInstance({ sync: true }) - setCameraTarget(latLng: ILatLng | Array): void { } + setCameraTarget(latLng: ILatLng | Array): void { + } /** * Set zoom level of the camera * @param zoomLevel {number} Zoom level */ @CordovaInstance({ sync: true }) - setCameraZoom(zoomLevel: number): void {} + setCameraZoom(zoomLevel: number): void { + } /** * Set the camera view angle * @param tiltLevel {number} Tilt level */ @CordovaInstance({ sync: true }) - setCameraTilt(tiltLevel: number): void {} + setCameraTilt(tiltLevel: number): void { + } /** * Set camera bearing * @param bearing {any} */ @CordovaInstance({ sync: true }) - setCameraBearing(bearing: any): void {} + setCameraBearing(bearing: any): void { + } /** * Change the center of the map by the given distance in pixels @@ -2040,28 +2152,34 @@ export class GoogleMap extends BaseClass { * @param y {any} */ @CordovaInstance({ sync: true }) - panBy(x: string | number, y: string | number): void { } + panBy(x: string | number, y: string | number): void { + } /** * Get the current visible region (southWest and northEast) * @return {VisibleRegion} */ @CordovaInstance({ sync: true }) - getVisibleRegion(): VisibleRegion { return; } + getVisibleRegion(): VisibleRegion { + return; + } /** * Get the current device location * @return {Promise} */ @CordovaInstance() - getMyLocation(options?: MyLocationOptions): Promise { return; } + getMyLocation(options?: MyLocationOptions): Promise { + return; + } /** * Set false to ignore all clicks on the map * @param isClickable {boolean} */ @CordovaInstance({ sync: true }) - setClickable(isClickable: boolean): void {} + setClickable(isClickable: boolean): void { + } /** * Destroy a map completely @@ -2102,63 +2220,75 @@ export class GoogleMap extends BaseClass { * @return {Promise} */ @CordovaInstance() - fromLatLngToPoint(latLng: ILatLng): Promise { return; } + fromLatLngToPoint(latLng: ILatLng): Promise { + return; + } /** * Convert the unit from the pixels from the left/top to the LatLng * @return {Promise} */ @CordovaInstance() - fromPointToLatLng(point: any): Promise { return; } + fromPointToLatLng(point: any): Promise { + return; + } /** * Set true if you want to show the MyLocation button * @param enabled {boolean} */ @CordovaInstance({ sync: true }) - setMyLocationEnabled(enabled: boolean): void {} + setMyLocationEnabled(enabled: boolean): void { + } /** * Get the currently focused building * @return {Promise} */ @CordovaInstance() - getFocusedBuilding(): Promise { return; } + getFocusedBuilding(): Promise { + return; + } /** * Set true if you want to show the indoor map * @param enabled {boolean} */ @CordovaInstance({ sync: true }) - setIndoorEnabled(enabled: boolean): void {} + setIndoorEnabled(enabled: boolean): void { + } /** * Set true if you want to show the traffic layer * @param enabled {boolean} */ @CordovaInstance({ sync: true }) - setTrafficEnabled(enabled: boolean): void {} + setTrafficEnabled(enabled: boolean): void { + } /** * Set true if you want to show the compass button * @param enabled {boolean} */ @CordovaInstance({ sync: true }) - setCompassEnabled(enabled: boolean): void {} + setCompassEnabled(enabled: boolean): void { + } /** * Sets the preference for whether all gestures should be enabled or disabled * @param enabled {boolean} */ @CordovaInstance({ sync: true }) - setAllGesturesEnabled(enabled: boolean): void {} + setAllGesturesEnabled(enabled: boolean): void { + } /** * Set visibility of the map * @param visible {boolean} */ @CordovaInstance({ sync: true }) - setVisible(visible: boolean): void {} + setVisible(visible: boolean): void { + } /** * Adjust the map padding (same as CSS padding rule) @@ -2168,14 +2298,16 @@ export class GoogleMap extends BaseClass { * @param bottom {number} */ @CordovaInstance({ sync: true }) - setPadding(top?: number, right?: number, bottom?: number, left?: number): void { } + setPadding(top?: number, right?: number, bottom?: number, left?: number): void { + } /** * Set options * @param options */ @CordovaInstance({ sync: true }) - setOptions(options: GoogleMapOptions): void {} + setOptions(options: GoogleMapOptions): void { + } /** * Adds a marker @@ -2359,13 +2491,16 @@ export class GoogleMap extends BaseClass { * You can execute it, but you don't need to do that. The plugin does this automatically. */ @CordovaInstance({ sync: true }) - refreshLayout(): void {} + refreshLayout(): void { + } /** * @return {Promise} */ @CordovaInstance() - toDataURL(): Promise { return; } + toDataURL(): Promise { + return; + } // /** // * @return {Promise} @@ -2403,96 +2538,117 @@ export class GroundOverlay extends BaseClass { * @return {string} */ @CordovaInstance({ sync: true }) - getId(): string { return; } + getId(): string { + return; + } /** * Return the map instance. * @return {GoogleMap} */ - getMap(): any { return this._map; } + getMap(): any { + return this._map; + } /** * Change the bounds of the GroundOverlay * @param bounds { ILatLng[]} */ @CordovaInstance({ sync: true }) - setBounds(bounds: ILatLng[]): void {} + setBounds(bounds: ILatLng[]): void { + } /** * Change the bearing of the ground overlay * @param bearing {number} */ @CordovaInstance({ sync: true }) - setBearing(bearing: number): void { } + setBearing(bearing: number): void { + } /** * Return the current bearing value */ @CordovaInstance({ sync: true }) - getBearing(): number { return; } + getBearing(): number { + return; + } /** * Change the image of the ground overlay * @param image {string} URL of image */ @CordovaInstance({ sync: true }) - setImage(image: string): void {}; + setImage(image: string): void { + } /** * Change the opacity of the ground overlay from 0.0 to 1.0 * @param opacity {number} */ @CordovaInstance({ sync: true }) - setOpacity(opacity: number): void { } + setOpacity(opacity: number): void { + } /** * Return the current opacity * @return {number} */ @CordovaInstance({ sync: true }) - getOpacity(): number { return; } + getOpacity(): number { + return; + } /** * Change clickablity of the ground overlay * @param clickable {boolean} */ @CordovaInstance({ sync: true }) - setClickable(clickable: boolean): void {} + setClickable(clickable: boolean): void { + } /** * Return true if the ground overlay is clickable * @return {boolean} */ @CordovaInstance({ sync: true }) - getClickable(): boolean { return; } + getClickable(): boolean { + return; + } /** * Change visibility of the ground overlay * @param visible {boolean} */ @CordovaInstance({ sync: true }) - setVisible(visible: boolean): void { } + setVisible(visible: boolean): void { + } /** * Return true if the ground overlay is visible * @return {boolean} */ @CordovaInstance({ sync: true }) - getVisible(): boolean { return; } + getVisible(): boolean { + return; + } /** * Change the ground overlay zIndex order * @param index {number} */ @CordovaInstance({ sync: true }) - setZIndex(index: number): void {} + setZIndex(index: number): void { + } /** * Return the current ground overlay zIndex * @return {number} */ @CordovaInstance({ sync: true }) - getZIndex(): number { return; } + getZIndex(): number { + return; + } /** * Remove the ground overlay @@ -2526,7 +2682,8 @@ export class HtmlInfoWindow extends BaseClass { * @param color {string} */ @CordovaInstance() - setBackgroundColor(color: string): void {} + setBackgroundColor(color: string): void { + } /** * Set your HTML contents. @@ -2534,20 +2691,23 @@ export class HtmlInfoWindow extends BaseClass { * @param cssOptions? {any} CSS styles for the container element of HTMLInfoWindow */ @CordovaInstance() - setContent(content: string | Element, cssOptions?: any): void {} + setContent(content: string | Element, cssOptions?: any): void { + } /** * Open the htmlInfoWindow * @param marker {Marker} */ @CordovaInstance() - open(marker: any): any {} + open(marker: any): any { + } /** * Close the htmlInfoWindow */ @CordovaInstance() - close(): void {} + close(): void { + } } @@ -2569,108 +2729,132 @@ export class Marker extends BaseClass { * @return {string} */ @CordovaInstance({ sync: true }) - getId(): string { return; } + getId(): string { + return; + } /** * Return the map instance. * @return {GoogleMap} */ - getMap(): any { return this._map; } + getMap(): any { + return this._map; + } /** * Set the marker position. * @param latLng {ILatLng} */ @CordovaInstance({ sync: true }) - setPosition(latLng: ILatLng): void { return; } + setPosition(latLng: ILatLng): void { + return; + } /** * Return the marker position. * @return {ILatLng} */ @CordovaInstance({ sync: true }) - getPosition(): ILatLng { return; } + getPosition(): ILatLng { + return; + } /** * Show the normal infoWindow of the marker. */ @CordovaInstance({ sync: true }) - showInfoWindow(): void {} + showInfoWindow(): void { + } /** * Hide the normal infoWindow of the marker. */ @CordovaInstance({ sync: true }) - hideInfoWindow(): void {} + hideInfoWindow(): void { + } /** * Specify the animation either `DROP` or `BOUNCE` * @param animation {string} */ @CordovaInstance({ sync: true }) - setAnimation(animation: string): void {} + setAnimation(animation: string): void { + } /** * Set true if you **do not want** to move the map when you click on the marker. * @param disableAutoPan {boolean} */ @CordovaInstance({ sync: true }) - setDisableAutoPan(disableAutoPan: boolean): void {} + setDisableAutoPan(disableAutoPan: boolean): void { + } /** * Set false if you want to hide the marker. * @param visible */ @CordovaInstance({ sync: true }) - setVisible(visible: boolean): void {} + setVisible(visible: boolean): void { + } /** * Return true if the marker is visible */ @CordovaInstance({ sync: true }) - isVisible(): boolean { return; } + isVisible(): boolean { + return; + } /** * Change title of the normal infoWindow. * @param title {string} */ @CordovaInstance({ sync: true }) - setTitle(title: string): void {} + setTitle(title: string): void { + } /** * Return the title strings. * @return {string} */ @CordovaInstance({ sync: true }) - getTitle(): string { return; } + getTitle(): string { + return; + } /** * Change snippet of the normal infoWindow. * @param snippet {string} */ @CordovaInstance({ sync: true }) - setSnippet(snippet: string): void {} + setSnippet(snippet: string): void { + } /** * Return the snippet strings. * @return {string} */ @CordovaInstance({ sync: true }) - getSnippet(): string { return; } + getSnippet(): string { + return; + } /** * Change the marker opacity from 0.0 to 1.0. * @param alpha {number} Opacity */ @CordovaInstance({ sync: true }) - setOpacity(alpha: number): void {} + setOpacity(alpha: number): void { + } /** * Return the marker opacity. * @return {number} Opacity */ @CordovaInstance({ sync: true }) - getOpacity(): number { return; } + getOpacity(): number { + return; + } /** * Remove the marker. @@ -2688,7 +2872,8 @@ export class Marker extends BaseClass { * @param y {number} Distance from top of the icon image in pixels. */ @CordovaInstance({ sync: true }) - setIconAnchor(x: number, y: number): void {} + setIconAnchor(x: number, y: number): void { + } /** * Change the info window anchor. This defaults to 50% from the left of the image and at the top of the image. @@ -2696,77 +2881,95 @@ export class Marker extends BaseClass { * @param y {number} Distance from top of the icon image in pixels. */ @CordovaInstance({ sync: true }) - setInfoWindowAnchor(x: number, y: number): void {} + setInfoWindowAnchor(x: number, y: number): void { + } /** * Return true if the infoWindow is shown on the marker * @return {boolean} */ @CordovaInstance({ sync: true }) - isInfoWindowShown(): boolean { return; } + isInfoWindowShown(): boolean { + return; + } /** * Return the marker hash code. * @return {string} Marker hash code */ @CordovaInstance({ sync: true }) - getHashCode(): string { return; } + getHashCode(): string { + return; + } /** * Higher zIndex value overlays will be drawn on top of lower zIndex value tile layers and overlays. * @param y {number} z-index */ @CordovaInstance({ sync: true }) - setZIndex(zIndex: number): void {} + setZIndex(zIndex: number): void { + } /** * Get z-index * @return {number} */ @CordovaInstance({ sync: true }) - getZIndex(): number { return; } + getZIndex(): number { + return; + } /** * Set true if you allow all users to drag the marker. * @param draggable {boolean} */ @CordovaInstance({ sync: true }) - setDraggable(draggable: boolean): void { } + setDraggable(draggable: boolean): void { + } /** * Return true if the marker drag is enabled. * @return {boolean} */ @CordovaInstance({ sync: true }) - isDraggable(): boolean { return; } + isDraggable(): boolean { + return; + } /** * Set true if you want to be flat marker. * @param flat {boolean} */ @CordovaInstance({ sync: true }) - setFlat(flat: boolean): void { return; } + setFlat(flat: boolean): void { + return; + } /** * Change icon url and/or size * @param icon */ @CordovaInstance({ sync: true }) - setIcon(icon: MarkerIcon): void { return; } + setIcon(icon: MarkerIcon): void { + return; + } /** * Set the marker rotation angle. * @param rotation {number} */ @CordovaInstance({ sync: true }) - setRotation(rotation: number): void { } + setRotation(rotation: number): void { + } /** * Return the marker rotation angle. * @return {number} */ @CordovaInstance({ sync: true }) - getRotation(): number { return; } + getRotation(): number { + return; + } } @@ -2788,13 +2991,17 @@ export class MarkerCluster extends BaseClass { * @return {string} */ @CordovaInstance({ sync: true }) - getId(): string { return; } + getId(): string { + return; + } @CordovaInstance({ sync: true }) - addMarker(marker: MarkerOptions): void {} + addMarker(marker: MarkerOptions): void { + } @CordovaInstance({ sync: true }) - addMarkers(markers: MarkerOptions[]): void {} + addMarkers(markers: MarkerOptions[]): void { + } @InstanceCheck() remove(): void { @@ -2808,7 +3015,9 @@ export class MarkerCluster extends BaseClass { * Return the map instance. * @return {GoogleMap} */ - getMap(): any { return this._map; } + getMap(): any { + return this._map; + } } @@ -2830,20 +3039,25 @@ export class Polygon extends BaseClass { * @return {string} */ @CordovaInstance({ sync: true }) - getId(): string { return; } + getId(): string { + return; + } /** * Return the map instance. * @return {GoogleMap} */ - getMap(): any { return this._map; } + getMap(): any { + return this._map; + } /** * Change the polygon points. * @param points {ILatLng[]} */ @CordovaInstance({ sync: true }) - setPoints(points: ILatLng[]): void {} + setPoints(points: ILatLng[]): void { + } /** * Return an instance of the BaseArrayClass. @@ -2860,7 +3074,8 @@ export class Polygon extends BaseClass { * @param holes {ILatLng[][]} */ @CordovaInstance({ sync: true }) - setHoles(holes: ILatLng[][]): void {} + setHoles(holes: ILatLng[][]): void { + } /** * Return an instance of the BaseArrayClass. @@ -2875,76 +3090,91 @@ export class Polygon extends BaseClass { results.push(hole); }); return results; - } + } /** * Change the filling color (inner color) * @param fillColor {string} */ @CordovaInstance({ sync: true }) - setFillColor(fillColor: string): void {} + setFillColor(fillColor: string): void { + } /** * Return the current polygon filling color (inner color). * @return {string} */ @CordovaInstance({ sync: true }) - getFillColor(): string { return; } + getFillColor(): string { + return; + } /** * Change the stroke color (outer color) * @param strokeColor {string} */ @CordovaInstance({ sync: true }) - setStrokeColor(strokeColor: string): void {} + setStrokeColor(strokeColor: string): void { + } /** * Return the current polygon stroke color (outer color) * @return {string} */ @CordovaInstance({ sync: true }) - getStrokeColor(): string { return; } + getStrokeColor(): string { + return; + } /** * Change clickablity of the polygon * @param clickable {boolean} */ @CordovaInstance({ sync: true }) - setClickable(clickable: boolean): void {} + setClickable(clickable: boolean): void { + } /** * Return true if the polygon is clickable */ @CordovaInstance({ sync: true }) - getClickable(): boolean { return; } + getClickable(): boolean { + return; + } /** * Change visibility of the polygon * @param visible {boolean} */ @CordovaInstance({ sync: true }) - setVisible(visible: boolean): void {} + setVisible(visible: boolean): void { + } /** * Return true if the polygon is visible * @return {boolean} */ @CordovaInstance({ sync: true }) - getVisible(): boolean { return; } + getVisible(): boolean { + return; + } /** * Change the polygon zIndex order. * @param zIndex {number} */ @CordovaInstance({ sync: true }) - setZIndex(zIndex: number): void {} + setZIndex(zIndex: number): void { + } /** * Return the current polygon zIndex * @return {number} */ @CordovaInstance({ sync: true }) - getZIndex(): number { return; } + getZIndex(): number { + return; + } /** * Remove the polygon. @@ -2960,27 +3190,33 @@ export class Polygon extends BaseClass { * Change the polygon stroke width */ @CordovaInstance({ sync: true }) - setStrokeWidth(strokeWidth: number): void {} + setStrokeWidth(strokeWidth: number): void { + } /** * Return the polygon stroke width */ @CordovaInstance({ sync: true }) - getStrokeWidth(): number { return; } + getStrokeWidth(): number { + return; + } /** * When true, edges of the polygon are interpreted as geodesic and will follow the curvature of the Earth. * @param geodesic {boolean} */ @CordovaInstance({ sync: true }) - setGeodesic(geodesic: boolean): void {} + setGeodesic(geodesic: boolean): void { + } /** * Return true if the polygon is geodesic. * @return {boolean} */ @CordovaInstance({ sync: true }) - getGeodesic(): boolean { return; } + getGeodesic(): boolean { + return; + } } @@ -3002,20 +3238,25 @@ export class Polyline extends BaseClass { * @return {string} */ @CordovaInstance({ sync: true }) - getId(): string { return; } + getId(): string { + return; + } /** * Return the map instance. * @return {GoogleMap} */ - getMap(): any { return this._map; } + getMap(): any { + return this._map; + } /** * Change the polyline points. * @param points {ILatLng[]} */ @CordovaInstance({ sync: true }) - setPoints(points: ILatLng[]): void {} + setPoints(points: ILatLng[]): void { + } /** * Return an instance of the BaseArrayClass @@ -3032,83 +3273,101 @@ export class Polyline extends BaseClass { * @param geoDesic {boolean} */ @CordovaInstance({ sync: true }) - setGeoDesic(geoDesic: boolean): void {} + setGeoDesic(geoDesic: boolean): void { + } /** * Return true if the polyline is geodesic */ @CordovaInstance({ sync: true }) - getGeodesic(): boolean { return; } + getGeodesic(): boolean { + return; + } /** * Change visibility of the polyline * @param visible {boolean} */ @CordovaInstance({ sync: true }) - setVisible(visible: boolean): void {} + setVisible(visible: boolean): void { + } /** * Return true if the polyline is visible * @return {boolean} */ @CordovaInstance({ sync: true }) - getVisible(): boolean { return; } + getVisible(): boolean { + return; + } /** * Change clickablity of the polyline * @param clickable {boolean} */ @CordovaInstance({ sync: true }) - setClickable(clickable: boolean): void {} + setClickable(clickable: boolean): void { + } /** * Return true if the polyline is clickable * @return {boolean} */ @CordovaInstance({ sync: true }) - getClickable(): boolean { return; } + getClickable(): boolean { + return; + } /** * Change the polyline color * @param strokeColor {string} */ @CordovaInstance({ sync: true }) - setStrokeColor(strokeColor: string): void {} + setStrokeColor(strokeColor: string): void { + } /** * Return the current polyline color * @return {string} */ @CordovaInstance({ sync: true }) - getStrokeColor(): string { return; } + getStrokeColor(): string { + return; + } /** * Change the polyline stroke width * @param strokeWidth {number} */ @CordovaInstance({ sync: true }) - setStrokeWidth(strokeWidth: number): void {} + setStrokeWidth(strokeWidth: number): void { + } /** * Return the current stroke width (unit: pixel). * @return {number} */ @CordovaInstance({ sync: true }) - getStrokeWidth(): number { return; } + getStrokeWidth(): number { + return; + } /** * Change the polyline zIndex order. * @param index {number} */ @CordovaInstance({ sync: true }) - setZIndex(index: number): void {} + setZIndex(index: number): void { + } /** * Return the current polyline zIndex * @return {number} */ @CordovaInstance({ sync: true }) - getZIndex(): number { return; } + getZIndex(): number { + return; + } /** * Remove the polyline @@ -3139,75 +3398,93 @@ export class TileOverlay extends BaseClass { * @return {string} */ @CordovaInstance({ sync: true }) - getId(): string { return; } + getId(): string { + return; + } /** * Return the map instance. * @return {GoogleMap} */ - getMap(): any { return this._map; } + getMap(): any { + return this._map; + } /** * Set whether the tiles should fade in. * @param fadeIn {boolean} */ @CordovaInstance({ sync: true }) - setFadeIn(fadeIn: boolean): void {} + setFadeIn(fadeIn: boolean): void { + } /** * Get whether the tiles should fade in * @return {boolean} */ @CordovaInstance({ sync: true }) - getFadeIn(): boolean { return; } + getFadeIn(): boolean { + return; + } /** * Set the zIndex of the tile overlay * @param zIndex {number} */ @CordovaInstance({ sync: true }) - setZIndex(zIndex: number): void {} + setZIndex(zIndex: number): void { + } /** * Return the zIndex of the tile overlay * @return {number} */ @CordovaInstance({ sync: true }) - getZIndex(): number { return; } + getZIndex(): number { + return; + } /** * Set the opacity of the tile overlay * @param opacity {number} */ @CordovaInstance({ sync: true }) - setOpacity(opacity: number): void {} + setOpacity(opacity: number): void { + } /** * Return the opacity of the tile overlay * @return {number} */ @CordovaInstance({ sync: true }) - getOpacity(): number { return; } + getOpacity(): number { + return; + } /** * Set false if you want to hide * @param visible {boolean} */ @CordovaInstance({ sync: true }) - setVisible(visible: boolean): void {} + setVisible(visible: boolean): void { + } /** * Return true if the tile overlay is visible * @return {boolean} */ @CordovaInstance({ sync: true }) - getVisible(): boolean { return; } + getVisible(): boolean { + return; + } /** * Get tile size */ @CordovaInstance({ sync: true }) - getTileSize(): any { return; } + getTileSize(): any { + return; + } /** * Remove the tile overlay diff --git a/src/@ionic-native/plugins/google-play-games-services/index.ts b/src/@ionic-native/plugins/google-play-games-services/index.ts index 73314ffb91..cb332d1265 100644 --- a/src/@ionic-native/plugins/google-play-games-services/index.ts +++ b/src/@ionic-native/plugins/google-play-games-services/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface ScoreData { @@ -67,10 +67,10 @@ export interface Player { * The title of the player based on their gameplay activity. Not * all players have this and it may change over time. */ - title: string|null; + title: string | null; /** - * Retrieves the URI for loading this player's icon-size profile image. + * Retrieves the URI for loading this player's icon-size profile image. * Returns null if the player has no profile image. */ iconImageUrl: string; @@ -101,12 +101,12 @@ export interface Player { * this.googlePlayGamesServices.auth() * .then(() => console.log('Logged in to Play Games Services')) * .catch(e) => console.log('Error logging in Play Games Services', e); - * + * * // Sign out of Play Games Services. * this.googlePlayGamesServices.signOut() * .then(() => console.log('Logged out of Play Games Services')) * .catch(e => console.log('Error logging out of Play Games Services', e); - * + * * // Check auth status. * this.googlePlayGamesServices.isSignedIn() * .then((signedIn: SignedInResponse) => { @@ -114,38 +114,38 @@ export interface Player { * hideLoginButton(); * } * }); - * + * * // Fetch currently authenticated user's data. * this.googlePlayGamesServices.showPlayer().then((data: Player) => { * console.log('Player data', data); * }); - * + * * // Submit a score. * this.googlePlayGamesServices.submitScore({ * score: 100, * leaderboardId: 'SomeLeaderboardId' * }); - * + * * // Show the native leaderboards window. * this.googlePlayGamesServices.showAllLeaderboards() * .then(() => console.log('The leaderboard window is visible.')); - * + * * // Show a signle native leaderboard window. * this.googlePlayGamesServices.showLeaderboard({ * leaderboardId: 'SomeLeaderBoardId' * }).then(() => console.log('The leaderboard window is visible.')); - * + * * // Unlock an achievement. * this.googlePlayGamesServices.unlockAchievement({ * achievementId: 'SomeAchievementId' * }).then(() => console.log('Achievement unlocked')); - * + * * // Incremement an achievement. * this.googlePlayGamesServices.incrementAchievement({ * step: 1, * achievementId: 'SomeAchievementId' * }).then(() => console.log('Achievement incremented')); - * + * * // Show the native achievements window. * this.googlePlayGamesServices.showAchivements() * .then(() => console.log('The achievements window is visible.')); @@ -165,100 +165,120 @@ export class GooglePlayGamesServices extends IonicNativePlugin { /** * Initialise native Play Games Service login procedure. - * + * * @return {Promise} Returns a promise that resolves when the player * is authenticated with Play Games Services. */ @Cordova() - auth(): Promise { return; } + auth(): Promise { + return; + } /** * Sign out of Google Play Games Services. - * + * * @return {Promise} Returns a promise that resolve when the player * successfully signs out. */ @Cordova() - signOut(): Promise { return; } + signOut(): Promise { + return; + } /** * Check if the user is signed in. - * + * * @return {Promise} Returns a promise that resolves with * the signed in response. */ @Cordova() - isSignedIn(): Promise { return; } + isSignedIn(): Promise { + return; + } /** * Show the currently authenticated player. - * - * @return {Promise} Returns a promise that resolves when Play + * + * @return {Promise} Returns a promise that resolves when Play * Games Services returns the authenticated player. */ @Cordova() - showPlayer(): Promise { return; } + showPlayer(): Promise { + return; + } /** * Submit a score to a leaderboard. You should ensure that you have a * successful return from auth() before submitting a score. - * + * * @param data {ScoreData} The score data you want to submit. * @return {Promise} Returns a promise that resolves when the * score is submitted. */ @Cordova() - submitScore(data: ScoreData): Promise { return; } + submitScore(data: ScoreData): Promise { + return; + } /** * Launches the native Play Games leaderboard view controller to show all the * leaderboards. - * + * * @return {Promise} Returns a promise that resolves when the native * leaderboards window opens. */ @Cordova() - showAllLeaderboards(): Promise { return; } + showAllLeaderboards(): Promise { + return; + } /** * Launches the native Play Games leaderboard view controll to show the * specified leaderboard. - * + * * @param data {LeaderboardData} The leaderboard you want to show. * @return {Promise} Returns a promise that resolves when the native * leaderboard window opens. */ @Cordova() - showLeaderboard(data: LeaderboardData): Promise { return; } + showLeaderboard(data: LeaderboardData): Promise { + return; + } /** * Unlock an achievement. - * + * * @param data {AchievementData} * @return {Promise} Returns a promise that resolves when the * achievement is unlocked. */ @Cordova() - unlockAchievement(data: AchievementData): Promise { return; } + unlockAchievement(data: AchievementData): Promise { + return; + } /** * Increment an achievement. - * + * * @param data {IncrementableAchievementData} * @return {Promise} Returns a promise that resolves when the * achievement is incremented. */ @Cordova() - incrementAchievement(data: IncrementableAchievementData): Promise { return; } + incrementAchievement(data: IncrementableAchievementData): Promise { + return; + } /** * Lauches the native Play Games achievements view controller to show * achievements. - * + * * @return {Promise} Returns a promise that resolves when the * achievement window opens. */ @Cordova() - showAchievements(): Promise { return; } + showAchievements(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/google-plus/index.ts b/src/@ionic-native/plugins/google-plus/index.ts index 95a69106e1..42db9fecb4 100644 --- a/src/@ionic-native/plugins/google-plus/index.ts +++ b/src/@ionic-native/plugins/google-plus/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Google Plus @@ -39,7 +39,9 @@ export class GooglePlus extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - login(options?: any): Promise { return; } + login(options?: any): Promise { + return; + } /** * You can call trySilentLogin to check if they're already signed in to the app and sign them in silently if they are. @@ -47,27 +49,35 @@ export class GooglePlus extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - trySilentLogin(options?: any): Promise { return; } + trySilentLogin(options?: any): Promise { + return; + } /** * This will clear the OAuth2 token. * @returns {Promise} */ @Cordova() - logout(): Promise { return; } + logout(): Promise { + return; + } /** * This will clear the OAuth2 token, forget which account was used to login, and disconnect that account from the app. This will require the user to allow the app access again next time they sign in. Be aware that this effect is not always instantaneous. It can take time to completely disconnect. * @returns {Promise} */ @Cordova() - disconnect(): Promise { return; } + disconnect(): Promise { + return; + } /** * This will retrieve the Android signing certificate fingerprint which is required in the Google Developer Console. * @returns {Promise} */ @Cordova() - getSigningCertificateFingerprint(): Promise { return; } + getSigningCertificateFingerprint(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/gyroscope/index.ts b/src/@ionic-native/plugins/gyroscope/index.ts index 87af80f2ad..dff1c72172 100644 --- a/src/@ionic-native/plugins/gyroscope/index.ts +++ b/src/@ionic-native/plugins/gyroscope/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; import { Injectable } from '@angular/core'; @@ -54,7 +54,7 @@ export interface GyroscopeOptions { * * let options: GyroscopeOptions = { * frequency: 1000 - * }; + * } * * this.gyroscope.getCurrent(options) * .then((orientation: GyroscopeOrientation) => { @@ -105,5 +105,7 @@ export class Gyroscope extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getCurrent(options?: GyroscopeOptions): Promise { return; } + getCurrent(options?: GyroscopeOptions): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/header-color/index.ts b/src/@ionic-native/plugins/header-color/index.ts index edf82e430d..25ee5b8b80 100644 --- a/src/@ionic-native/plugins/header-color/index.ts +++ b/src/@ionic-native/plugins/header-color/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Header Color @@ -37,6 +37,8 @@ export class HeaderColor extends IonicNativePlugin { successName: 'success', errorName: 'failure' }) - tint(color: string): Promise { return; } + tint(color: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/health-kit/index.ts b/src/@ionic-native/plugins/health-kit/index.ts index 3184729af1..7b8e18cbf4 100644 --- a/src/@ionic-native/plugins/health-kit/index.ts +++ b/src/@ionic-native/plugins/health-kit/index.ts @@ -1,116 +1,116 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; export interface HealthKitOptions { /** - * HKWorkoutActivityType constant - * Read more here: https://developer.apple.com/library/ios/documentation/HealthKit/Reference/HKWorkout_Class/#//apple_ref/c/tdef/HKWorkoutActivityType - */ + * HKWorkoutActivityType constant + * Read more here: https://developer.apple.com/library/ios/documentation/HealthKit/Reference/HKWorkout_Class/#//apple_ref/c/tdef/HKWorkoutActivityType + */ activityType?: string; // /** - * 'hour', 'week', 'year' or 'day', default 'day' - */ + * 'hour', 'week', 'year' or 'day', default 'day' + */ aggregation?: string; /** - * - */ + * + */ amount?: number; /** - * - */ + * + */ correlationType?: string; /** - * - */ + * + */ date?: any; /** - * - */ + * + */ distance?: number; /** - * probably useful with the former param - */ + * probably useful with the former param + */ distanceUnit?: string; /** - * in seconds, optional, use either this or endDate - */ + * in seconds, optional, use either this or endDate + */ duration?: number; /** - * - */ + * + */ endDate?: any; /** - * - */ + * + */ energy?: number; /** - * J|cal|kcal - */ + * J|cal|kcal + */ energyUnit?: string; /** - * - */ + * + */ extraData?: any; /** - * - */ + * + */ metadata?: any; /** - * - */ + * + */ quantityType?: string; /** - * - */ + * + */ readTypes?: any; /** - * - */ + * + */ requestWritePermission?: boolean; /** - * - */ + * + */ samples?: any; /** - * - */ + * + */ sampleType?: string; /** - * - */ + * + */ startDate?: any; /** - * m|cm|mm|in|ft - */ + * m|cm|mm|in|ft + */ unit?: string; /** - * - */ + * + */ requestReadPermission?: boolean; /** - * - */ + * + */ writeTypes?: any; } @@ -144,166 +144,208 @@ export interface HealthKitOptions { export class HealthKit extends IonicNativePlugin { /** - * Check if HealthKit is supported (iOS8+, not on iPad) - * @returns {Promise} - */ + * Check if HealthKit is supported (iOS8+, not on iPad) + * @returns {Promise} + */ @Cordova() - available(): Promise { return; } + available(): Promise { + return; + } /** - * Pass in a type and get back on of undetermined | denied | authorized - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * Pass in a type and get back on of undetermined | denied | authorized + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - checkAuthStatus(options: HealthKitOptions): Promise { return; } + checkAuthStatus(options: HealthKitOptions): Promise { + return; + } /** - * Ask some or all permissions up front - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * Ask some or all permissions up front + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - requestAuthorization(options: HealthKitOptions): Promise { return; } + requestAuthorization(options: HealthKitOptions): Promise { + return; + } /** - * Formatted as yyyy-MM-dd - * @returns {Promise} - */ + * Formatted as yyyy-MM-dd + * @returns {Promise} + */ @Cordova() - readDateOfBirth(): Promise { return; } + readDateOfBirth(): Promise { + return; + } /** - * Output = male|female|other|unknown - * @returns {Promise} - */ + * Output = male|female|other|unknown + * @returns {Promise} + */ @Cordova() - readGender(): Promise { return; } + readGender(): Promise { + return; + } /** - * Output = A+|A-|B+|B-|AB+|AB-|O+|O-|unknown - * @returns {Promise} - */ + * Output = A+|A-|B+|B-|AB+|AB-|O+|O-|unknown + * @returns {Promise} + */ @Cordova() - readBloodType(): Promise { return; } + readBloodType(): Promise { + return; + } /** - * Output = I|II|III|IV|V|VI|unknown - * @returns {Promise} - */ + * Output = I|II|III|IV|V|VI|unknown + * @returns {Promise} + */ @Cordova() - readFitzpatrickSkinType(): Promise { return; } + readFitzpatrickSkinType(): Promise { + return; + } /** - * Pass in unit (g=gram, kg=kilogram, oz=ounce, lb=pound, st=stone) and amount - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * Pass in unit (g=gram, kg=kilogram, oz=ounce, lb=pound, st=stone) and amount + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - saveWeight(options: HealthKitOptions): Promise { return; } + saveWeight(options: HealthKitOptions): Promise { + return; + } /** - * Pass in unit (g=gram, kg=kilogram, oz=ounce, lb=pound, st=stone) - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * Pass in unit (g=gram, kg=kilogram, oz=ounce, lb=pound, st=stone) + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - readWeight(options: HealthKitOptions): Promise { return; } + readWeight(options: HealthKitOptions): Promise { + return; + } /** - * Pass in unit (mm=millimeter, cm=centimeter, m=meter, in=inch, ft=foot) and amount - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * Pass in unit (mm=millimeter, cm=centimeter, m=meter, in=inch, ft=foot) and amount + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - saveHeight(options: HealthKitOptions): Promise { return; } + saveHeight(options: HealthKitOptions): Promise { + return; + } /** - * Pass in unit (mm=millimeter, cm=centimeter, m=meter, in=inch, ft=foot) - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * Pass in unit (mm=millimeter, cm=centimeter, m=meter, in=inch, ft=foot) + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - readHeight(options: HealthKitOptions): Promise { return; } + readHeight(options: HealthKitOptions): Promise { + return; + } /** - * no params yet, so this will return all workouts ever of any type - * @returns {Promise} - */ + * no params yet, so this will return all workouts ever of any type + * @returns {Promise} + */ @Cordova() - findWorkouts(): Promise { return; } + findWorkouts(): Promise { + return; + } /** - * - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - saveWorkout(options: HealthKitOptions): Promise { return; } + saveWorkout(options: HealthKitOptions): Promise { + return; + } /** - * - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - querySampleType(options: HealthKitOptions): Promise { return; } + querySampleType(options: HealthKitOptions): Promise { + return; + } /** - * - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - querySampleTypeAggregated(options: HealthKitOptions): Promise { return; } + querySampleTypeAggregated(options: HealthKitOptions): Promise { + return; + } /** - * - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - deleteSamples(options: HealthKitOptions): Promise { return; } + deleteSamples(options: HealthKitOptions): Promise { + return; + } /** - * - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - monitorSampleType(options: HealthKitOptions): Promise { return; } + monitorSampleType(options: HealthKitOptions): Promise { + return; + } /** - * - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - sumQuantityType(options: HealthKitOptions): Promise { return; } + sumQuantityType(options: HealthKitOptions): Promise { + return; + } /** - * - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - saveQuantitySample(options: HealthKitOptions): Promise { return; } + saveQuantitySample(options: HealthKitOptions): Promise { + return; + } /** - * - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - saveCorrelation(options: HealthKitOptions): Promise { return; } + saveCorrelation(options: HealthKitOptions): Promise { + return; + } /** - * - * @param options {HealthKitOptions} - * @returns {Promise} - */ + * + * @param options {HealthKitOptions} + * @returns {Promise} + */ @Cordova() - queryCorrelationType(options: HealthKitOptions): Promise { return; } + queryCorrelationType(options: HealthKitOptions): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/health/index.ts b/src/@ionic-native/plugins/health/index.ts index 85b09fe979..7970d0d8aa 100644 --- a/src/@ionic-native/plugins/health/index.ts +++ b/src/@ionic-native/plugins/health/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -6,13 +6,13 @@ import { Injectable } from '@angular/core'; */ export interface HealthDataType { /** - * Read only date types (see https://github.com/dariosalvi78/cordova-plugin-health#supported-data-types) - */ + * Read only date types (see https://github.com/dariosalvi78/cordova-plugin-health#supported-data-types) + */ read?: string[]; /** - * Write only date types (see https://github.com/dariosalvi78/cordova-plugin-health#supported-data-types) - */ + * Write only date types (see https://github.com/dariosalvi78/cordova-plugin-health#supported-data-types) + */ write?: string[]; } @@ -210,7 +210,9 @@ export class Health extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - isAvailable(): Promise { return; } + isAvailable(): Promise { + return; + } /** * Checks if recent Google Play Services and Google Fit are installed. If the play services are not installed, @@ -226,7 +228,9 @@ export class Health extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - promptInstallFit(): Promise { return; } + promptInstallFit(): Promise { + return; + } /** * Requests read and/or write access to a set of data types. It is recommendable to always explain why the app @@ -248,7 +252,9 @@ export class Health extends IonicNativePlugin { * @return {Promise} */ @Cordova() - requestAuthorization(datatypes: Array): Promise { return; } + requestAuthorization(datatypes: Array): Promise { + return; + } /** * Check if the app has authorization to read/write a set of datatypes. @@ -262,7 +268,9 @@ export class Health extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves with a boolean that indicates the authorization status */ @Cordova() - isAuthorized(datatypes: Array): Promise { return; } + isAuthorized(datatypes: Array): Promise { + return; + } /** * Gets all the data points of a certain data type within a certain time window. @@ -296,7 +304,9 @@ export class Health extends IonicNativePlugin { * @return {Promise} */ @Cordova() - query(queryOptions: HealthQueryOptions): Promise { return; } + query(queryOptions: HealthQueryOptions): Promise { + return; + } /** * Gets aggregated data in a certain time window. Usually the sum is returned for the given quantity. @@ -320,7 +330,9 @@ export class Health extends IonicNativePlugin { * @return {Promise} */ @Cordova() - queryAggregated(queryOptionsAggregated: HealthQueryOptionsAggregated): Promise { return; } + queryAggregated(queryOptionsAggregated: HealthQueryOptionsAggregated): Promise { + return; + } /** * Stores a data point. @@ -337,6 +349,8 @@ export class Health extends IonicNativePlugin { * @return {Promise} */ @Cordova() - store(storeOptions: HealthStoreOptions): Promise { return; } + store(storeOptions: HealthStoreOptions): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/hotspot/index.ts b/src/@ionic-native/plugins/hotspot/index.ts index 97d58ba90f..e40e9958f7 100644 --- a/src/@ionic-native/plugins/hotspot/index.ts +++ b/src/@ionic-native/plugins/hotspot/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface HotspotConnectionInfo { @@ -63,6 +63,7 @@ export interface HotspotNetwork { capabilities: string; } + export interface HotspotNetworkConfig { /** @@ -139,13 +140,17 @@ export class Hotspot extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isAvailable(): Promise { return; } + isAvailable(): Promise { + return; + } /** * @returns {Promise} */ @Cordova() - toggleWifi(): Promise { return; } + toggleWifi(): Promise { + return; + } /** * Configures and starts hotspot with SSID and Password @@ -157,7 +162,9 @@ export class Hotspot extends IonicNativePlugin { * @returns {Promise} - Promise to call once hotspot is started, or reject upon failure */ @Cordova() - createHotspot(ssid: string, mode: string, password: string): Promise { return; } + createHotspot(ssid: string, mode: string, password: string): Promise { + return; + } /** * Turns on Access Point @@ -165,7 +172,9 @@ export class Hotspot extends IonicNativePlugin { * @returns {Promise} - true if AP is started */ @Cordova() - startHotspot(): Promise { return; } + startHotspot(): Promise { + return; + } /** * Configures hotspot with SSID and Password @@ -177,7 +186,9 @@ export class Hotspot extends IonicNativePlugin { * @returns {Promise} - Promise to call when hotspot is configured, or reject upon failure */ @Cordova() - configureHotspot(ssid: string, mode: string, password: string): Promise { return; } + configureHotspot(ssid: string, mode: string, password: string): Promise { + return; + } /** * Turns off Access Point @@ -185,7 +196,9 @@ export class Hotspot extends IonicNativePlugin { * @returns {Promise} - Promise to turn off the hotspot, true on success, false on failure */ @Cordova() - stopHotspot(): Promise { return; } + stopHotspot(): Promise { + return; + } /** * Checks if hotspot is enabled @@ -193,13 +206,17 @@ export class Hotspot extends IonicNativePlugin { * @returns {Promise} - Promise that hotspot is enabled, rejected if it is not enabled */ @Cordova() - isHotspotEnabled(): Promise { return; } + isHotspotEnabled(): Promise { + return; + } /** * @returns {Promise>} */ @Cordova() - getAllHotspotDevices(): Promise> { return; } + getAllHotspotDevices(): Promise> { + return; + } /** * Connect to a WiFi network @@ -213,7 +230,9 @@ export class Hotspot extends IonicNativePlugin { * Promise that connection to the WiFi network was successfull, rejected if unsuccessful */ @Cordova() - connectToWifi(ssid: string, password: string): Promise { return; } + connectToWifi(ssid: string, password: string): Promise { + return; + } /** * Connect to a WiFi network @@ -231,7 +250,9 @@ export class Hotspot extends IonicNativePlugin { * Promise that connection to the WiFi network was successfull, rejected if unsuccessful */ @Cordova() - connectToWifiAuthEncrypt(ssid: string, password: string, authentication: string, encryption: Array): Promise { return; } + connectToWifiAuthEncrypt(ssid: string, password: string, authentication: string, encryption: Array): Promise { + return; + } /** * Add a WiFi network @@ -247,7 +268,9 @@ export class Hotspot extends IonicNativePlugin { * Promise that adding the WiFi network was successfull, rejected if unsuccessful */ @Cordova() - addWifiNetwork(ssid: string, mode: string, password: string): Promise { return; } + addWifiNetwork(ssid: string, mode: string, password: string): Promise { + return; + } /** * Remove a WiFi network @@ -259,79 +282,105 @@ export class Hotspot extends IonicNativePlugin { * Promise that removing the WiFi network was successfull, rejected if unsuccessful */ @Cordova() - removeWifiNetwork(ssid: string): Promise { return; } + removeWifiNetwork(ssid: string): Promise { + return; + } /** * @returns {Promise} */ @Cordova() - isConnectedToInternet(): Promise { return; } + isConnectedToInternet(): Promise { + return; + } /** * @returns {Promise} */ @Cordova() - isConnectedToInternetViaWifi(): Promise { return; } + isConnectedToInternetViaWifi(): Promise { + return; + } /** * @returns {Promise} */ @Cordova() - isWifiOn(): Promise { return; } + isWifiOn(): Promise { + return; + } /** * @returns {Promise} */ @Cordova() - isWifiSupported(): Promise { return; } + isWifiSupported(): Promise { + return; + } /** * @returns {Promise} */ @Cordova() - isWifiDirectSupported(): Promise { return; } + isWifiDirectSupported(): Promise { + return; + } /** * @returns {Promise>} */ @Cordova() - scanWifi(): Promise> { return; } + scanWifi(): Promise> { + return; + } /** * @returns {Promise>} */ @Cordova() - scanWifiByLevel(): Promise> { return; } + scanWifiByLevel(): Promise> { + return; + } /** * @returns {Promise} */ @Cordova() - startWifiPeriodicallyScan(interval: number, duration: number): Promise { return; } + startWifiPeriodicallyScan(interval: number, duration: number): Promise { + return; + } /** * @returns {Promise} */ @Cordova() - stopWifiPeriodicallyScan(): Promise { return; } + stopWifiPeriodicallyScan(): Promise { + return; + } /** * @returns {Promise} */ @Cordova() - getNetConfig(): Promise { return; } + getNetConfig(): Promise { + return; + } /** * @returns {Promise} */ @Cordova() - getConnectionInfo(): Promise { return; } + getConnectionInfo(): Promise { + return; + } /** * @returns {Promise} */ @Cordova() - pingHost(ip: string): Promise { return; } + pingHost(ip: string): Promise { + return; + } /** * Gets MAC Address associated with IP Address from ARP File @@ -341,7 +390,9 @@ export class Hotspot extends IonicNativePlugin { * @returns {Promise} - A Promise for the MAC Address */ @Cordova() - getMacAddressOfHost(ip: string): Promise { return; } + getMacAddressOfHost(ip: string): Promise { + return; + } /** * Checks if IP is live using DNS @@ -351,7 +402,9 @@ export class Hotspot extends IonicNativePlugin { * @returns {Promise} - A Promise for whether the IP Address is reachable */ @Cordova() - isDnsLive(ip: string): Promise { return; } + isDnsLive(ip: string): Promise { + return; + } /** * Checks if IP is live using socket And PORT @@ -361,7 +414,9 @@ export class Hotspot extends IonicNativePlugin { * @returns {Promise} - A Promise for whether the IP Address is reachable */ @Cordova() - isPortLive(ip: string): Promise { return; } + isPortLive(ip: string): Promise { + return; + } /** * Checks if device is rooted @@ -369,6 +424,8 @@ export class Hotspot extends IonicNativePlugin { * @returns {Promise} - A Promise for whether the device is rooted */ @Cordova() - isRooted(): Promise { return; } + isRooted(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/http/index.ts b/src/@ionic-native/plugins/http/index.ts index 56c84069d2..b05115051a 100644 --- a/src/@ionic-native/plugins/http/index.ts +++ b/src/@ionic-native/plugins/http/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface HTTPResponse { /** @@ -74,7 +74,9 @@ export class HTTP extends IonicNativePlugin { * @returns {Object} an object representing a basic HTTP Authorization header of the form {'Authorization': 'Basic base64encodedusernameandpassword'} */ @Cordova({ sync: true }) - getBasicAuthHeader(username: string, password: string): { Authorization: string; } { return; } + getBasicAuthHeader(username: string, password: string): { Authorization: string; } { + return; + } /** * This sets up all future requests to use Basic HTTP authentication with the given username and password. @@ -82,7 +84,8 @@ export class HTTP extends IonicNativePlugin { * @param password {string} Password */ @Cordova({ sync: true }) - useBasicAuth(username: string, password: string): void { } + useBasicAuth(username: string, password: string): void { + } /** * Set a header for all future requests. Takes a header and a value. @@ -90,20 +93,23 @@ export class HTTP extends IonicNativePlugin { * @param value {string} The value of the header */ @Cordova({ sync: true }) - setHeader(header: string, value: string): void { } + setHeader(header: string, value: string): void { + } /** * Set the data serializer which will be used for all future POST and PUT requests. Takes a string representing the name of the serializer. * @param serializer {string} The name of the serializer. Can be urlencoded or json */ @Cordova({ sync: true }) - setDataSerializer(serializer: string): void { } + setDataSerializer(serializer: string): void { + } /** * Clear all cookies */ @Cordova({ sync: true }) - clearCookies(): void { } + clearCookies(): void { + } /** * Remove cookies @@ -111,21 +117,24 @@ export class HTTP extends IonicNativePlugin { * @param cb */ @Cordova({ sync: true }) - removeCookies(url: string, cb: () => void): void { } + removeCookies(url: string, cb: () => void): void { + } /** * Disable following redirects automatically * @param disable {boolean} Set to true to disable following redirects automatically */ @Cordova({ sync: true }) - disableRedirect(disable: boolean): void { } + disableRedirect(disable: boolean): void { + } /** * Set request timeout * @param timeout {number} The timeout in seconds. Default 60 */ @Cordova({ sync: true }) - setRequestTimeout(timeout: number): void { } + setRequestTimeout(timeout: number): void { + } /** * Enable or disable SSL Pinning. This defaults to false. @@ -137,7 +146,9 @@ export class HTTP extends IonicNativePlugin { * @returns {Promise} returns a promise that will resolve on success, and reject on failure */ @Cordova() - enableSSLPinning(enable: boolean): Promise { return; } + enableSSLPinning(enable: boolean): Promise { + return; + } /** * Accept all SSL certificates. Or disabled accepting all certificates. Defaults to false. @@ -145,7 +156,9 @@ export class HTTP extends IonicNativePlugin { * @returns {Promise} returns a promise that will resolve on success, and reject on failure */ @Cordova() - acceptAllCerts(accept: boolean): Promise { return; } + acceptAllCerts(accept: boolean): Promise { + return; + } /** * Make a POST request @@ -155,7 +168,9 @@ export class HTTP extends IonicNativePlugin { * @returns {Promise} returns a promise that resolve on success, and reject on failure */ @Cordova() - post(url: string, body: any, headers: any): Promise { return; } + post(url: string, body: any, headers: any): Promise { + return; + } /** * Make a GET request @@ -165,7 +180,9 @@ export class HTTP extends IonicNativePlugin { * @returns {Promise} returns a promise that resolve on success, and reject on failure */ @Cordova() - get(url: string, parameters: any, headers: any): Promise { return; } + get(url: string, parameters: any, headers: any): Promise { + return; + } /** * Make a PUT request @@ -175,7 +192,9 @@ export class HTTP extends IonicNativePlugin { * @returns {Promise} returns a promise that resolve on success, and reject on failure */ @Cordova() - put(url: string, body: any, headers: any): Promise { return; } + put(url: string, body: any, headers: any): Promise { + return; + } /** * Make a PATCH request @@ -185,7 +204,9 @@ export class HTTP extends IonicNativePlugin { * @returns {Promise} returns a promise that resolve on success, and reject on failure */ @Cordova() - patch(url: string, body: any, headers: any): Promise { return; } + patch(url: string, body: any, headers: any): Promise { + return; + } /** * Make a DELETE request @@ -195,7 +216,9 @@ export class HTTP extends IonicNativePlugin { * @returns {Promise} returns a promise that resolve on success, and reject on failure */ @Cordova() - delete(url: string, parameters: any, headers: any): Promise { return; } + delete(url: string, parameters: any, headers: any): Promise { + return; + } /** * Make a HEAD request @@ -205,7 +228,9 @@ export class HTTP extends IonicNativePlugin { * @returns {Promise} returns a promise that resolve on success, and reject on failure */ @Cordova() - head(url: string, parameters: any, headers: any): Promise { return; } + head(url: string, parameters: any, headers: any): Promise { + return; + } /** * @@ -217,7 +242,9 @@ export class HTTP extends IonicNativePlugin { * @returns {Promise} returns a promise that resolve on success, and reject on failure */ @Cordova() - uploadFile(url: string, body: any, headers: any, filePath: string, name: string): Promise { return; } + uploadFile(url: string, body: any, headers: any, filePath: string, name: string): Promise { + return; + } /** * @@ -228,5 +255,7 @@ export class HTTP extends IonicNativePlugin { * @returns {Promise} returns a promise that resolve on success, and reject on failure */ @Cordova() - downloadFile(url: string, body: any, headers: any, filePath: string): Promise { return; } + downloadFile(url: string, body: any, headers: any, filePath: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/httpd/index.ts b/src/@ionic-native/plugins/httpd/index.ts index d529b0dbc9..370edff034 100644 --- a/src/@ionic-native/plugins/httpd/index.ts +++ b/src/@ionic-native/plugins/httpd/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface HttpdOptions { @@ -37,7 +37,7 @@ export interface HttpdOptions { * www_root: 'httpd_root', // relative path to app's www directory * port: 80, * localhost_only: false - * }; + * } * * this.httpd.startServer(options).subscribe((data) => { * console.log('Server is live'); @@ -66,20 +66,26 @@ export class Httpd extends IonicNativePlugin { observable: true, clearFunction: 'stopServer' }) - startServer(options?: HttpdOptions): Observable { return; } + startServer(options?: HttpdOptions): Observable { + return; + } /** * Gets the URL of the running server * @returns {Promise} Returns a promise that resolves with the URL of the web server. */ @Cordova() - getUrl(): Promise { return; } + getUrl(): Promise { + return; + } /** * Get the local path of the running webserver * @returns {Promise} Returns a promise that resolves with the local path of the web server. - */ + */ @Cordova() - getLocalPath(): Promise { return; } + getLocalPath(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/hyper-track/index.ts b/src/@ionic-native/plugins/hyper-track/index.ts index 3f8c70619f..fe2b681426 100644 --- a/src/@ionic-native/plugins/hyper-track/index.ts +++ b/src/@ionic-native/plugins/hyper-track/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @beta @@ -56,8 +56,8 @@ import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; * this.hyperTrack.stopTracking().then(success => { * // Handle success (String). Should be "OK". * }, error => {}); - * - * }, error => {});* + * + * }, error => {});* * ``` */ @Plugin({ @@ -75,7 +75,9 @@ export class HyperTrack extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with the result text (which is the same as the given text) if successful, or it gets rejected if an error ocurred. */ @Cordova() - helloWorld(text: String): Promise { return; } + helloWorld(text: String): Promise { + return; + } /** * Create a new user to identify the current device or get a user from a lookup id. @@ -86,7 +88,9 @@ export class HyperTrack extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with a string representation of the User's JSON, or it gets rejected if an error ocurred. */ @Cordova() - getOrCreateUser(name: String, phone: String, photo: String, lookupId: String): Promise { return; } + getOrCreateUser(name: String, phone: String, photo: String, lookupId: String): Promise { + return; + } /** * Set UserId for the SDK created using HyperTrack APIs. This is useful if you already have a user previously created. @@ -94,14 +98,18 @@ export class HyperTrack extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with an "OK" string if successful, or it gets rejected if an error ocurred. An "OK" response doesn't necessarily mean that the userId was found. It just means that it was set correctly. */ @Cordova() - setUserId(userId: String): Promise { return; } + setUserId(userId: String): Promise { + return; + } /** * Enable the SDK and start tracking. This will fail if there is no user set. * @returns {Promise} Returns a Promise that resolves with the userId (String) of the User being tracked if successful, or it gets rejected if an error ocurred. One example of an error is not setting a User with getOrCreateUser() or setUserId() before calling this function. */ @Cordova() - startTracking(): Promise { return; } + startTracking(): Promise { + return; + } /** * Create and assign an action to the current user using specified parameters @@ -113,7 +121,9 @@ export class HyperTrack extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with a string representation of the Action's JSON, or it gets rejected if an error ocurred. */ @Cordova() - createAndAssignAction(type: String, lookupId: String, expectedPlaceAddress: String, expectedPlaceLatitude: Number, expectedPlaceLongitude: Number): Promise { return; } + createAndAssignAction(type: String, lookupId: String, expectedPlaceAddress: String, expectedPlaceLatitude: Number, expectedPlaceLongitude: Number): Promise { + return; + } /** * Complete an action from the SDK by its ID @@ -121,7 +131,9 @@ export class HyperTrack extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with an "OK" string if successful, or it gets rejected if an error ocurred. */ @Cordova() - completeAction(actionId: String): Promise { return; } + completeAction(actionId: String): Promise { + return; + } /** * Complete an action from the SDK using Action's lookupId as parameter @@ -129,7 +141,9 @@ export class HyperTrack extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with an "OK" string if successful, or it gets rejected if an error ocurred. */ @Cordova() - completeActionWithLookupId(lookupId: String): Promise { return; } + completeActionWithLookupId(lookupId: String): Promise { + return; + } /** * Disable the SDK and stop tracking. @@ -137,14 +151,18 @@ export class HyperTrack extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with the an "OK" string if successful, or it gets rejected if an error ocurred. One example of an error is not setting a User with getOrCreateUser() or setUserId() before calling this function. */ @Cordova() - stopTracking(): Promise { return; } + stopTracking(): Promise { + return; + } /** * Get user's current location from the SDK * @returns {Promise} Returns a Promise that resolves with a string representation of the Location's JSON, or it gets rejected if an error ocurred. */ @Cordova() - getCurrentLocation(): Promise { return; } + getCurrentLocation(): Promise { + return; + } /** * Check if Location permission has been granted to the app (for Android). @@ -152,7 +170,9 @@ export class HyperTrack extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with the a string that can be "true" or "false", depending if location permission was granted, or it gets rejected if an error ocurred. */ @Cordova() - checkLocationPermission(): Promise { return; } + checkLocationPermission(): Promise { + return; + } /** * Request user to grant Location access to the app (for Anrdoid). @@ -160,7 +180,9 @@ export class HyperTrack extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with the a string that can be "true" or "false", depending if Location access was given to the app, or it gets rejected if an error ocurred. */ @Cordova() - requestPermissions(): Promise { return; } + requestPermissions(): Promise { + return; + } /** * Check if Location services are enabled on the device (for Android). @@ -168,7 +190,9 @@ export class HyperTrack extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with the a string that can be "true" or "false", depending if location services are enabled, or it gets rejected if an error ocurred. */ @Cordova() - checkLocationServices(): Promise { return; } + checkLocationServices(): Promise { + return; + } /** * Request user to enable Location services on the device. @@ -176,5 +200,7 @@ export class HyperTrack extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with the a string that can be "true" or "false", depending if Location services were enabled, or it gets rejected if an error ocurred. */ @Cordova() - requestLocationServices(): Promise { return; } + requestLocationServices(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/ibeacon/index.ts b/src/@ionic-native/plugins/ibeacon/index.ts index 8b77afed0d..5a1753f0ca 100644 --- a/src/@ionic-native/plugins/ibeacon/index.ts +++ b/src/@ionic-native/plugins/ibeacon/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, CordovaCheck, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaCheck, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; declare const cordova: any; @@ -404,7 +404,9 @@ export class IBeacon extends IonicNativePlugin { * @returns {IBeaconDelegate} Returns the IBeaconDelegate */ @Cordova() - getDelegate(): IBeaconDelegate { return; } + getDelegate(): IBeaconDelegate { + return; + } /** * @param {IBeaconDelegate} delegate An instance of a delegate to register with the native layer. @@ -412,7 +414,9 @@ export class IBeacon extends IonicNativePlugin { * @returns {IBeaconDelegate} Returns the IBeaconDelegate */ @Cordova() - setDelegate(delegate: IBeaconDelegate): IBeaconDelegate { return; } + setDelegate(delegate: IBeaconDelegate): IBeaconDelegate { + return; + } /** * Signals the native layer that the client side is ready to consume messages. @@ -435,7 +439,9 @@ export class IBeacon extends IonicNativePlugin { * native layer acknowledged the request and started to send events. */ @Cordova({ otherPromise: true }) - onDomDelegateReady(): Promise { return; } + onDomDelegateReady(): Promise { + return; + } /** * Determines if bluetooth is switched on, according to the native layer. @@ -443,7 +449,9 @@ export class IBeacon extends IonicNativePlugin { * indicating whether bluetooth is active. */ @Cordova({ otherPromise: true }) - isBluetoothEnabled(): Promise { return; } + isBluetoothEnabled(): Promise { + return; + } /** * Enables Bluetooth using the native Layer. (ANDROID ONLY) @@ -452,7 +460,9 @@ export class IBeacon extends IonicNativePlugin { * could be enabled. If not, the promise will be rejected with an error. */ @Cordova({ otherPromise: true }) - enableBluetooth(): Promise { return; } + enableBluetooth(): Promise { + return; + } /** * Disables Bluetooth using the native Layer. (ANDROID ONLY) @@ -461,7 +471,9 @@ export class IBeacon extends IonicNativePlugin { * could be enabled. If not, the promise will be rejected with an error. */ @Cordova({ otherPromise: true }) - disableBluetooth(): Promise { return; } + disableBluetooth(): Promise { + return; + } /** * Start monitoring the specified region. @@ -481,7 +493,9 @@ export class IBeacon extends IonicNativePlugin { * native layer acknowledged the dispatch of the monitoring request. */ @Cordova({ otherPromise: true }) - startMonitoringForRegion(region: BeaconRegion): Promise { return; } + startMonitoringForRegion(region: BeaconRegion): Promise { + return; + } /** * Stop monitoring the specified region. It is valid to call @@ -498,7 +512,9 @@ export class IBeacon extends IonicNativePlugin { * native layer acknowledged the dispatch of the request to stop monitoring. */ @Cordova({ otherPromise: true }) - stopMonitoringForRegion(region: BeaconRegion): Promise { return; } + stopMonitoringForRegion(region: BeaconRegion): Promise { + return; + } /** * Request state the for specified region. When result is ready @@ -514,7 +530,9 @@ export class IBeacon extends IonicNativePlugin { * native layer acknowledged the dispatch of the request to stop monitoring. */ @Cordova({ otherPromise: true }) - requestStateForRegion(region: Region): Promise { return; } + requestStateForRegion(region: Region): Promise { + return; + } /** @@ -532,7 +550,9 @@ export class IBeacon extends IonicNativePlugin { * native layer acknowledged the dispatch of the monitoring request. */ @Cordova({ otherPromise: true }) - startRangingBeaconsInRegion(region: BeaconRegion): Promise { return; } + startRangingBeaconsInRegion(region: BeaconRegion): Promise { + return; + } /** * Stop ranging the specified region. It is valid to call @@ -549,7 +569,9 @@ export class IBeacon extends IonicNativePlugin { * native layer acknowledged the dispatch of the request to stop monitoring. */ @Cordova({ otherPromise: true }) - stopRangingBeaconsInRegion(region: BeaconRegion): Promise { return; } + stopRangingBeaconsInRegion(region: BeaconRegion): Promise { + return; + } /** * Queries the native layer to determine the current authorization in effect. @@ -558,7 +580,9 @@ export class IBeacon extends IonicNativePlugin { * requested authorization status. */ @Cordova({ otherPromise: true }) - getAuthorizationStatus(): Promise { return; } + getAuthorizationStatus(): Promise { + return; + } /** * For iOS 8 and above only. The permission model has changed by Apple in iOS 8, making it necessary for apps to @@ -570,7 +594,9 @@ export class IBeacon extends IonicNativePlugin { * @returns {Promise} Returns a promise that is resolved when the request dialog is shown. */ @Cordova({ otherPromise: true }) - requestWhenInUseAuthorization(): Promise { return; } + requestWhenInUseAuthorization(): Promise { + return; + } /** @@ -580,7 +606,9 @@ export class IBeacon extends IonicNativePlugin { * shows the request dialog. */ @Cordova({ otherPromise: true }) - requestAlwaysAuthorization(): Promise { return; } + requestAlwaysAuthorization(): Promise { + return; + } /** * @@ -588,7 +616,9 @@ export class IBeacon extends IonicNativePlugin { * of {Region} instances that are being monitored by the native layer. */ @Cordova({ otherPromise: true }) - getMonitoredRegions(): Promise { return; } + getMonitoredRegions(): Promise { + return; + } /** * @@ -596,7 +626,9 @@ export class IBeacon extends IonicNativePlugin { * of {Region} instances that are being ranged by the native layer. */ @Cordova({ otherPromise: true }) - getRangedRegions(): Promise { return; } + getRangedRegions(): Promise { + return; + } /** * Determines if ranging is available or not, according to the native layer. @@ -604,7 +636,9 @@ export class IBeacon extends IonicNativePlugin { * indicating whether ranging is available or not. */ @Cordova({ otherPromise: true }) - isRangingAvailable(): Promise { return; } + isRangingAvailable(): Promise { + return; + } /** * Determines if region type is supported or not, according to the native layer. @@ -616,7 +650,9 @@ export class IBeacon extends IonicNativePlugin { * indicating whether the region type is supported or not. */ @Cordova({ otherPromise: true }) - isMonitoringAvailableForClass(region: Region): Promise { return; } + isMonitoringAvailableForClass(region: Region): Promise { + return; + } /** * Start advertising the specified region. @@ -636,7 +672,9 @@ export class IBeacon extends IonicNativePlugin { * native layer acknowledged the dispatch of the advertising request. */ @Cordova({ otherPromise: true }) - startAdvertising(region: Region, measuredPower?: number): Promise { return; } + startAdvertising(region: Region, measuredPower?: number): Promise { + return; + } /** * Stop advertising as a beacon. @@ -647,7 +685,9 @@ export class IBeacon extends IonicNativePlugin { * native layer acknowledged the dispatch of the request to stop advertising. */ @Cordova({ otherPromise: true }) - stopAdvertising(region: Region): Promise { return; } + stopAdvertising(region: Region): Promise { + return; + } /** * Determines if advertising is available or not, according to the native layer. @@ -655,7 +695,9 @@ export class IBeacon extends IonicNativePlugin { * indicating whether advertising is available or not. */ @Cordova({ otherPromise: true }) - isAdvertisingAvailable(): Promise { return; } + isAdvertisingAvailable(): Promise { + return; + } /** * Determines if advertising is currently active, according to the native layer. @@ -663,7 +705,9 @@ export class IBeacon extends IonicNativePlugin { * indicating whether advertising is active. */ @Cordova({ otherPromise: true }) - isAdvertising(): Promise { return; } + isAdvertising(): Promise { + return; + } /** * Disables debug logging in the native layer. Use this method if you want @@ -673,7 +717,9 @@ export class IBeacon extends IonicNativePlugin { * native layer has set the logging level accordingly. */ @Cordova({ otherPromise: true }) - disableDebugLogs(): Promise { return; } + disableDebugLogs(): Promise { + return; + } /** * Enables the posting of debug notifications in the native layer. Use this method if you want @@ -684,7 +730,9 @@ export class IBeacon extends IonicNativePlugin { * native layer has set the flag to enabled. */ @Cordova({ otherPromise: true }) - enableDebugNotifications(): Promise { return; } + enableDebugNotifications(): Promise { + return; + } /** * Disables the posting of debug notifications in the native layer. Use this method if you want @@ -694,7 +742,9 @@ export class IBeacon extends IonicNativePlugin { * native layer has set the flag to disabled. */ @Cordova({ otherPromise: true }) - disableDebugNotifications(): Promise { return; } + disableDebugNotifications(): Promise { + return; + } /** * Enables debug logging in the native layer. Use this method if you want @@ -704,7 +754,9 @@ export class IBeacon extends IonicNativePlugin { * native layer has set the logging level accordingly. */ @Cordova({ otherPromise: true }) - enableDebugLogs(): Promise { return; } + enableDebugLogs(): Promise { + return; + } /** * Appends the provided [message] to the device logs. @@ -717,6 +769,8 @@ export class IBeacon extends IonicNativePlugin { * is expected to be equivalent to the one provided in the original call. */ @Cordova({ otherPromise: true }) - appendToDeviceLog(message: string): Promise { return; } + appendToDeviceLog(message: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/image-picker/index.ts b/src/@ionic-native/plugins/image-picker/index.ts index 02f265d231..d5206f4f31 100644 --- a/src/@ionic-native/plugins/image-picker/index.ts +++ b/src/@ionic-native/plugins/image-picker/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface ImagePickerOptions { @@ -75,7 +75,9 @@ export class ImagePicker extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getPictures(options: ImagePickerOptions): Promise { return; } + getPictures(options: ImagePickerOptions): Promise { + return; + } /** * Check if we have permission to read images @@ -84,7 +86,9 @@ export class ImagePicker extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - hasReadPermission(): Promise { return; } + hasReadPermission(): Promise { + return; + } /** * Request permission to read images @@ -93,6 +97,8 @@ export class ImagePicker extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - requestReadPermission(): Promise { return; } + requestReadPermission(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/image-resizer/index.ts b/src/@ionic-native/plugins/image-resizer/index.ts index 2928e119c8..4231b73ae0 100644 --- a/src/@ionic-native/plugins/image-resizer/index.ts +++ b/src/@ionic-native/plugins/image-resizer/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface ImageResizerOptions { /** @@ -80,5 +80,7 @@ export class ImageResizer extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - resize(options: ImageResizerOptions): Promise { return; } + resize(options: ImageResizerOptions): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/in-app-browser/index.ts b/src/@ionic-native/plugins/in-app-browser/index.ts index 98c70b3895..7f79f73972 100644 --- a/src/@ionic-native/plugins/in-app-browser/index.ts +++ b/src/@ionic-native/plugins/in-app-browser/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, CordovaInstance, InstanceCheck, IonicNativePlugin } from '@ionic-native/core'; +import { CordovaInstance, InstanceCheck, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; import { Observer } from 'rxjs/Observer'; @@ -54,6 +54,7 @@ export interface InAppBrowserOptions { */ [key: string]: any; } + export interface InAppBrowserEvent extends Event { /** the eventname, either loadstart, loadstop, loaderror, or exit. */ type: string; @@ -105,20 +106,23 @@ export class InAppBrowserObject { * if the InAppBrowser was already visible. */ @CordovaInstance({ sync: true }) - show(): void { } + show(): void { + } /** * Closes the InAppBrowser window. */ @CordovaInstance({ sync: true }) - close(): void { } + close(): void { + } /** * Hides an InAppBrowser window that is currently shown. Calling this has no effect * if the InAppBrowser was already hidden. */ @CordovaInstance({ sync: true }) - hide(): void { } + hide(): void { + } /** * Injects JavaScript code into the InAppBrowser window. @@ -126,7 +130,9 @@ export class InAppBrowserObject { * @returns {Promise} */ @CordovaInstance() - executeScript(script: { file?: string, code?: string }): Promise { return; } + executeScript(script: { file?: string, code?: string }): Promise { + return; + } /** * Injects CSS into the InAppBrowser window. @@ -134,7 +140,9 @@ export class InAppBrowserObject { * @returns {Promise} */ @CordovaInstance() - insertCSS(css: { file?: string, code?: string }): Promise { return; } + insertCSS(css: { file?: string, code?: string }): Promise { + return; + } /** * A method that allows you to listen to events happening in the browser. diff --git a/src/@ionic-native/plugins/in-app-purchase-2/index.ts b/src/@ionic-native/plugins/in-app-purchase-2/index.ts index 46436d6426..0ed9bfd3d1 100644 --- a/src/@ionic-native/plugins/in-app-purchase-2/index.ts +++ b/src/@ionic-native/plugins/in-app-purchase-2/index.ts @@ -1,4 +1,4 @@ -import { Plugin, IonicNativePlugin, Cordova, CordovaProperty } from '@ionic-native/core'; +import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -81,15 +81,15 @@ export type IAPProducts = Array & { /** * Get product by ID */ - byId: { [id: string]: IAPProduct; }; + byId: { [id: string]: IAPProduct; } /** * Get product by alias */ - byAlias: { [alias: string]: IAPProduct; }; + byAlias: { [alias: string]: IAPProduct; } /** * Remove all products (for testing only). */ - reset: () => {}; + reset: () => {} }; export type IAPQueryCallback = ((product: IAPProduct) => void) | ((error: IAPError) => void); @@ -204,160 +204,160 @@ export class IAPError { @Injectable() export class InAppPurchase2 extends IonicNativePlugin { - @CordovaProperty + @CordovaProperty() QUIET: number; - @CordovaProperty + @CordovaProperty() ERROR: number; - @CordovaProperty + @CordovaProperty() WARNING: number; - @CordovaProperty + @CordovaProperty() INFO: number; - @CordovaProperty + @CordovaProperty() DEBUG: number; /** * Debug level. Use QUIET, ERROR, WARNING, INFO or DEBUG constants */ - @CordovaProperty + @CordovaProperty() verbosity: number; /** * Set to true to invoke the platform purchase sandbox. (Windows only) */ - @CordovaProperty + @CordovaProperty() sandbox: boolean; - @CordovaProperty + @CordovaProperty() FREE_SUBSCRIPTION: string; - @CordovaProperty + @CordovaProperty() PAID_SUBSCRIPTION: string; - @CordovaProperty + @CordovaProperty() NON_RENEWING_SUBSCRIPTION: string; - @CordovaProperty + @CordovaProperty() CONSUMABLE: string; - @CordovaProperty + @CordovaProperty() NON_CONSUMABLE: string; - @CordovaProperty + @CordovaProperty() ERR_SETUP: number; - @CordovaProperty + @CordovaProperty() ERR_LOAD: number; - @CordovaProperty + @CordovaProperty() ERR_PURCHASE: number; - @CordovaProperty + @CordovaProperty() ERR_LOAD_RECEIPTS: number; - @CordovaProperty + @CordovaProperty() ERR_CLIENT_INVALID: number; - @CordovaProperty + @CordovaProperty() ERR_PAYMENT_CANCELLED: number; - @CordovaProperty + @CordovaProperty() ERR_PAYMENT_INVALID: number; - @CordovaProperty + @CordovaProperty() ERR_PAYMENT_NOT_ALLOWED: number; - @CordovaProperty + @CordovaProperty() ERR_UNKNOWN: number; - @CordovaProperty + @CordovaProperty() ERR_REFRESH_RECEIPTS: number; - @CordovaProperty + @CordovaProperty() ERR_INVALID_PRODUCT_ID: number; - @CordovaProperty + @CordovaProperty() ERR_FINISH: number; - @CordovaProperty + @CordovaProperty() ERR_COMMUNICATION: number; - @CordovaProperty + @CordovaProperty() ERR_SUBSCRIPTIONS_NOT_AVAILABLE: number; - @CordovaProperty + @CordovaProperty() ERR_MISSING_TOKEN: number; - @CordovaProperty + @CordovaProperty() ERR_VERIFICATION_FAILED: number; - @CordovaProperty + @CordovaProperty() ERR_BAD_RESPONSE: number; - @CordovaProperty + @CordovaProperty() ERR_REFRESH: number; - @CordovaProperty + @CordovaProperty() ERR_PAYMENT_EXPIRED: number; - @CordovaProperty + @CordovaProperty() ERR_DOWNLOAD: number; - @CordovaProperty + @CordovaProperty() ERR_SUBSCRIPTION_UPDATE_NOT_AVAILABLE: number; - @CordovaProperty + @CordovaProperty() REGISTERED: string; - @CordovaProperty + @CordovaProperty() INVALID: string; - @CordovaProperty + @CordovaProperty() VALID: string; - @CordovaProperty + @CordovaProperty() REQUESTED: string; - @CordovaProperty + @CordovaProperty() INITIATED: string; - @CordovaProperty + @CordovaProperty() APPROVED: string; - @CordovaProperty + @CordovaProperty() FINISHED: string; - @CordovaProperty + @CordovaProperty() OWNED: string; - @CordovaProperty + @CordovaProperty() DOWNLOADING: string; - @CordovaProperty + @CordovaProperty() DOWNLOADED: string; - @CordovaProperty + @CordovaProperty() INVALID_PAYLOAD: number; - @CordovaProperty + @CordovaProperty() CONNECTION_FAILED: number; - @CordovaProperty + @CordovaProperty() PURCHASE_EXPIRED: number; - @CordovaProperty + @CordovaProperty() products: IAPProducts; - @CordovaProperty + @CordovaProperty() validator: string | ((product: string | IAPProduct, callback: Function) => void); - @CordovaProperty + @CordovaProperty() log: { error: (message: string) => void; warn: (message: string) => void; @@ -370,21 +370,25 @@ export class InAppPurchase2 extends IonicNativePlugin { * @param idOrAlias */ @Cordova({ sync: true }) - get(idOrAlias: string): IAPProduct { return; } + get(idOrAlias: string): IAPProduct { + return; + } /** * Register error handler * @param onError {Function} function to call on error */ @Cordova({ sync: true }) - error(onError: Function): void {} + error(onError: Function): void { + } /** * Add or register a product * @param product {IAPProductOptions} */ - @Cordova({ sync: true}) - register(product: IAPProductOptions): void {} + @Cordova({ sync: true }) + register(product: IAPProductOptions): void { + } /** * @@ -394,7 +398,9 @@ export class InAppPurchase2 extends IonicNativePlugin { * @return {IAPProductEvents} */ @Cordova({ sync: true }) - when(query: string | IAPProduct, event?: string, callback?: IAPQueryCallback): IAPProductEvents { return; } + when(query: string | IAPProduct, event?: string, callback?: IAPQueryCallback): IAPProductEvents { + return; + } /** * Identical to `when`, but the callback will be called only once. After being called, the callback will be unregistered. @@ -404,26 +410,34 @@ export class InAppPurchase2 extends IonicNativePlugin { * @return {IAPProductEvents} */ @Cordova({ sync: true }) - once(query: string | IAPProduct, event?: string, callback?: IAPQueryCallback): IAPProductEvents { return; } + once(query: string | IAPProduct, event?: string, callback?: IAPQueryCallback): IAPProductEvents { + return; + } /** * Unregister a callback. Works for callbacks registered with ready, when, once and error. * @param callback {Function} */ @Cordova({ sync: true }) - off(callback: Function): void {} + off(callback: Function): void { + } @Cordova({ sync: true }) - order(product: string | IAPProduct, additionalData?: any): { then: Function; error: Function; } { return; } + order(product: string | IAPProduct, additionalData?: any): { then: Function; error: Function; } { + return; + } /** * * @return {Promise} returns a promise that resolves when the store is ready */ @Cordova() - ready(): Promise { return; } + ready(): Promise { + return; + } @Cordova({ sync: true }) - refresh(): void {} + refresh(): void { + } } diff --git a/src/@ionic-native/plugins/in-app-purchase/index.ts b/src/@ionic-native/plugins/in-app-purchase/index.ts index 4d59e18d9e..be7d513c14 100644 --- a/src/@ionic-native/plugins/in-app-purchase/index.ts +++ b/src/@ionic-native/plugins/in-app-purchase/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -71,7 +71,9 @@ export class InAppPurchase extends IonicNativePlugin { @Cordova({ otherPromise: true }) - getProducts(productId: string[]): Promise { return; } + getProducts(productId: string[]): Promise { + return; + } /** * Buy a product that matches the productId. @@ -81,7 +83,9 @@ export class InAppPurchase extends IonicNativePlugin { @Cordova({ otherPromise: true }) - buy(productId: string): Promise<{ transactionId: string, receipt: string, signature: string, productType: string }> { return; } + buy(productId: string): Promise<{ transactionId: string, receipt: string, signature: string, productType: string }> { + return; + } /** * Same as buy, but for subscription based products. @@ -91,7 +95,9 @@ export class InAppPurchase extends IonicNativePlugin { @Cordova({ otherPromise: true }) - subscribe(productId: string): Promise<{ transactionId: string, receipt: string, signature: string, productType: string }> { return; } + subscribe(productId: string): Promise<{ transactionId: string, receipt: string, signature: string, productType: string }> { + return; + } /** * Call this function after purchasing a "consumable" product to mark it as consumed. On Android, you must consume products that you want to let the user purchase multiple times. If you will not consume the product after a purchase, the next time you will attempt to purchase it you will get the error message: @@ -103,7 +109,9 @@ export class InAppPurchase extends IonicNativePlugin { @Cordova({ otherPromise: true }) - consume(productType: string, receipt: string, signature: string): Promise { return; } + consume(productType: string, receipt: string, signature: string): Promise { + return; + } /** * Restore all purchases from the store @@ -112,7 +120,9 @@ export class InAppPurchase extends IonicNativePlugin { @Cordova({ otherPromise: true }) - restorePurchases(): Promise { return; } + restorePurchases(): Promise { + return; + } /** * Get the receipt. @@ -122,6 +132,8 @@ export class InAppPurchase extends IonicNativePlugin { otherPromise: true, platforms: ['iOS'] }) - getReceipt(): Promise { return; } + getReceipt(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/index-app-content/index.ts b/src/@ionic-native/plugins/index-app-content/index.ts index 250245ef25..fdcf428e39 100644 --- a/src/@ionic-native/plugins/index-app-content/index.ts +++ b/src/@ionic-native/plugins/index-app-content/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, CordovaFunctionOverride, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaFunctionOverride, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface IndexItem { diff --git a/src/@ionic-native/plugins/insomnia/index.ts b/src/@ionic-native/plugins/insomnia/index.ts index 1a541d3213..03487e3e3e 100644 --- a/src/@ionic-native/plugins/insomnia/index.ts +++ b/src/@ionic-native/plugins/insomnia/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -44,13 +44,17 @@ export class Insomnia extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - keepAwake(): Promise { return; } + keepAwake(): Promise { + return; + } /** * Allows the application to sleep again * @returns {Promise} */ @Cordova() - allowSleepAgain(): Promise { return; } + allowSleepAgain(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/instagram/index.ts b/src/@ionic-native/plugins/instagram/index.ts index fe9c5689c8..b4b365879f 100644 --- a/src/@ionic-native/plugins/instagram/index.ts +++ b/src/@ionic-native/plugins/instagram/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Instagram @@ -37,7 +37,9 @@ export class Instagram extends IonicNativePlugin { @Cordova({ callbackStyle: 'node' }) - isInstalled(): Promise { return; } + isInstalled(): Promise { + return; + } /** * Share an image on Instagram @@ -50,7 +52,9 @@ export class Instagram extends IonicNativePlugin { @Cordova({ callbackStyle: 'node' }) - share(canvasIdOrDataUrl: string, caption?: string): Promise { return; } + share(canvasIdOrDataUrl: string, caption?: string): Promise { + return; + } /** * Share a library asset or video @@ -60,6 +64,8 @@ export class Instagram extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - shareAsset(assetLocalIdentifier: string): Promise { return; } + shareAsset(assetLocalIdentifier: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/intel-security/index.ts b/src/@ionic-native/plugins/intel-security/index.ts index bdd30c46b8..e3e884f755 100644 --- a/src/@ionic-native/plugins/intel-security/index.ts +++ b/src/@ionic-native/plugins/intel-security/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; declare const window: any; @@ -28,69 +28,6 @@ export interface IntelSecurityDataOptions { webOwners?: String[]; } -/** - * @name Intel Security - * @description - * The App Security API enables the use of security properties and capabilities on the platform, using a new set of API defined for application developers. You are not required to be a security expert to make good use of the API. Key elements, such as encryption of data and establishments of capabilities, is abstracted and done by the API implementation, for you. - * - * For example: - * - Use the API to store (E.g. cache) data locally, using the device non-volatile storage. Data protection/encryption will be done for you by the API implementation - * - Establish a connection with remote server (E.g. XHR) using a protected channel. SSL/TLS establishment and usage will be done for you by the API implementation - * - * For more information please visit the [API documentation](https://software.intel.com/en-us/app-security-api/api). - * - * @usage - * ```typescript - * import { IntelSecurity } from '@ionic-native/intel-security'; - * ... - * constructor(private intelSecurity: IntelSecurity) { } - * ... - * - * let storageID = 'id'; - * - * this.intelSecurity.data.createFromData({ data: 'Sample Data' }) - * .then((instanceID: Number) => this.intelSecurity.storage.write({ id: storageId, instanceID: instanceID })) - * .catch((error: any) => console.log(error)); - * - * this.intelSecurity.storage.read({id: storageID }) - * .then((instanceID: number) => this.intelSecurity.data.getData(instanceID)) - * .then((data: string) => console.log(data)) // Resolves to 'Sample Data' - * .catch((error: any) => console.log(error)); - * - * this.intelSecurity.storage.delete({ id: storageID }) - * .then(() => console.log('Deleted Successfully')) - * .catch((error: any) => console.log(error)); - * ``` - * @classes - * IntelSecurityData - * IntelSecurityStorage - * @interfaces - * IntelSecurityDataOptions - */ -@Plugin({ - pluginName: 'IntelSecurity', - plugin: 'com-intel-security-cordova-plugin', - pluginRef: 'intel.security', - repo: 'https://github.com/AppSecurityApi/com-intel-security-cordova-plugin', - platforms: ['Android', 'iOS', 'Windows', 'Windows Phone 8'] -}) -@Injectable() -export class IntelSecurity extends IonicNativePlugin { - - /** - * returns an IntelSecurityStorage object - * @type {IntelSecurityStorage} - */ - storage: IntelSecurityStorage = new IntelSecurityStorage(); - - /** - * Returns an IntelSecurityData object - * @type {IntelSecurityData} - */ - data: IntelSecurityData = new IntelSecurityData(); - -} - /** * @hidden */ @@ -102,12 +39,14 @@ export class IntelSecurity extends IonicNativePlugin { export class IntelSecurityData { /** - * This creates a new instance of secure data using plain-text data. - * @param options {IntelSecurityDataOptions} - * @returns {Promise} Returns a Promise that resolves with the instanceID of the created data instance, or rejects with an error. - */ + * This creates a new instance of secure data using plain-text data. + * @param options {IntelSecurityDataOptions} + * @returns {Promise} Returns a Promise that resolves with the instanceID of the created data instance, or rejects with an error. + */ @Cordova({ otherPromise: true }) - createFromData(options: IntelSecurityDataOptions): Promise { return; } + createFromData(options: IntelSecurityDataOptions): Promise { + return; + } /** * This creates a new instance of secure data (using sealed data) @@ -116,7 +55,9 @@ export class IntelSecurityData { * @returns {Promise} Returns a Promise that resolves with the instanceID of the created data instance, or rejects with an error. */ @Cordova({ otherPromise: true }) - createFromSealedData(options: { sealedData: string }): Promise { return; } + createFromSealedData(options: { sealedData: string }): Promise { + return; + } /** * This returns the plain-text data of the secure data instance. @@ -124,7 +65,9 @@ export class IntelSecurityData { * @returns {Promise} Returns a Promise that resolves to the data as plain-text, or rejects with an error. */ @Cordova({ otherPromise: true }) - getData(instanceID: Number): Promise { return; } + getData(instanceID: Number): Promise { + return; + } /** * This returns the sealed chunk of a secure data instance. @@ -132,7 +75,9 @@ export class IntelSecurityData { * @returns {Promise} Returns a Promise that resolves to the sealed data, or rejects with an error. */ @Cordova({ otherPromise: true }) - getSealedData(instanceID: any): Promise { return; } + getSealedData(instanceID: any): Promise { + return; + } /** * This returns the tag of the secure data instance. @@ -140,7 +85,9 @@ export class IntelSecurityData { * @returns {Promise} Returns a Promise that resolves to the tag, or rejects with an error. */ @Cordova({ otherPromise: true }) - getTag(instanceID: any): Promise { return; } + getTag(instanceID: any): Promise { + return; + } /** * This returns the data policy of the secure data instance. @@ -148,7 +95,9 @@ export class IntelSecurityData { * @returns {Promise} Returns a promise that resolves to the policy object, or rejects with an error. */ @Cordova({ otherPromise: true }) - getPolicy(instanceID: any): Promise { return; } + getPolicy(instanceID: any): Promise { + return; + } /** * This returns an array of the data owners unique IDs. @@ -156,7 +105,9 @@ export class IntelSecurityData { * @returns {Promise} Returns a promise that resolves to an array of owners' unique IDs, or rejects with an error. */ @Cordova({ otherPromise: true }) - getOwners(instanceID: any): Promise> { return; } + getOwners(instanceID: any): Promise> { + return; + } /** * This returns the data creator unique ID. @@ -164,7 +115,9 @@ export class IntelSecurityData { * @returns {Promise} Returns a promsie that resolves to the creator's unique ID, or rejects with an error. */ @Cordova({ otherPromise: true }) - getCreator(instanceID: any): Promise { return; } + getCreator(instanceID: any): Promise { + return; + } /** * This returns an array of the trusted web domains of the secure data instance. @@ -172,7 +125,9 @@ export class IntelSecurityData { * @returns {Promise} Returns a promise that resolves to a list of web owners, or rejects with an error. */ @Cordova({ otherPromise: true }) - getWebOwners(instanceID: any): Promise> { return; } + getWebOwners(instanceID: any): Promise> { + return; + } /** * This changes the extra key of a secure data instance. To successfully replace the extra key, the calling application must have sufficient access to the plain-text data. @@ -182,7 +137,9 @@ export class IntelSecurityData { * @returns {Promise} Returns a promise that resolves with no parameters, or rejects with an error. */ @Cordova({ otherPromise: true }) - changeExtraKey(options: any): Promise { return; } + changeExtraKey(options: any): Promise { + return; + } /** * This releases a secure data instance. @@ -190,7 +147,9 @@ export class IntelSecurityData { * @returns {Promise} Returns a promise that resovles with no parameters, or rejects with an error. */ @Cordova({ otherPromise: true }) - destroy(instanceID: any): Promise { return; } + destroy(instanceID: any): Promise { + return; + } } @@ -215,7 +174,9 @@ export class IntelSecurityStorage { delete(options: { id: string, storageType?: Number - }): Promise { return; } + }): Promise { + return; + } /** * This reads the data from secure storage (indicated by id) and creates a new secure data instance. @@ -230,7 +191,9 @@ export class IntelSecurityStorage { id: string, storageType?: Number, extraKey?: Number - }): Promise { return; } + }): Promise { + return; + } /** * This writes the data contained in a secure data instance into secure storage. @@ -245,6 +208,71 @@ export class IntelSecurityStorage { id: String, instanceID: Number, storageType?: Number - }): Promise { return; } + }): Promise { + return; + } + +} + +/** + * @name Intel Security + * @description + * The App Security API enables the use of security properties and capabilities on the platform, using a new set of API defined for application developers. You are not required to be a security expert to make good use of the API. Key elements, such as encryption of data and establishments of capabilities, is abstracted and done by the API implementation, for you. + * + * For example: + * - Use the API to store (E.g. cache) data locally, using the device non-volatile storage. Data protection/encryption will be done for you by the API implementation + * - Establish a connection with remote server (E.g. XHR) using a protected channel. SSL/TLS establishment and usage will be done for you by the API implementation + * + * For more information please visit the [API documentation](https://software.intel.com/en-us/app-security-api/api). + * + * @usage + * ```typescript + * import { IntelSecurity } from '@ionic-native/intel-security'; + * ... + * constructor(private intelSecurity: IntelSecurity) { } + * ... + * + * let storageID = 'id'; + * + * this.intelSecurity.data.createFromData({ data: 'Sample Data' }) + * .then((instanceID: Number) => this.intelSecurity.storage.write({ id: storageId, instanceID: instanceID })) + * .catch((error: any) => console.log(error)); + * + * this.intelSecurity.storage.read({id: storageID }) + * .then((instanceID: number) => this.intelSecurity.data.getData(instanceID)) + * .then((data: string) => console.log(data)) // Resolves to 'Sample Data' + * .catch((error: any) => console.log(error)); + * + * this.intelSecurity.storage.delete({ id: storageID }) + * .then(() => console.log('Deleted Successfully')) + * .catch((error: any) => console.log(error)); + * ``` + * @classes + * IntelSecurityData + * IntelSecurityStorage + * @interfaces + * IntelSecurityDataOptions + */ +@Plugin({ + pluginName: 'IntelSecurity', + plugin: 'com-intel-security-cordova-plugin', + pluginRef: 'intel.security', + repo: 'https://github.com/AppSecurityApi/com-intel-security-cordova-plugin', + platforms: ['Android', 'iOS', 'Windows', 'Windows Phone 8'] +}) +@Injectable() +export class IntelSecurity extends IonicNativePlugin { + + /** + * returns an IntelSecurityStorage object + * @type {IntelSecurityStorage} + */ + storage: IntelSecurityStorage = new IntelSecurityStorage(); + + /** + * Returns an IntelSecurityData object + * @type {IntelSecurityData} + */ + data: IntelSecurityData = new IntelSecurityData(); } diff --git a/src/@ionic-native/plugins/intercom/index.ts b/src/@ionic-native/plugins/intercom/index.ts index 8d6c4dcc03..da0e6d395e 100644 --- a/src/@ionic-native/plugins/intercom/index.ts +++ b/src/@ionic-native/plugins/intercom/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -38,7 +38,9 @@ export class Intercom extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - registerIdentifiedUser(options: any): Promise { return; } + registerIdentifiedUser(options: any): Promise { + return; + } /** * Register a unidentified user @@ -46,14 +48,18 @@ export class Intercom extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - registerUnidentifiedUser(options: any): Promise { return; } + registerUnidentifiedUser(options: any): Promise { + return; + } /** * This resets the Intercom integration's cache of your user's identity and wipes the slate clean. * @return {Promise} Returns a promise */ @Cordova() - reset(): Promise { return; } + reset(): Promise { + return; + } /** * @@ -62,7 +68,9 @@ export class Intercom extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - setSecureMode(secureHash: string, secureData: any): Promise { return; } + setSecureMode(secureHash: string, secureData: any): Promise { + return; + } /** * @@ -70,7 +78,9 @@ export class Intercom extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - setUserHash(secureHash: string): Promise { return; } + setUserHash(secureHash: string): Promise { + return; + } /** * @@ -78,7 +88,9 @@ export class Intercom extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - updateUser(attributes: any): Promise { return; } + updateUser(attributes: any): Promise { + return; + } /** * @@ -87,21 +99,27 @@ export class Intercom extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - logEvent(eventName: string, metaData: any): Promise { return; } + logEvent(eventName: string, metaData: any): Promise { + return; + } /** * * @return {Promise} Returns a promise */ @Cordova() - displayMessenger(): Promise { return; } + displayMessenger(): Promise { + return; + } /** * * @return {Promise} Returns a promise */ @Cordova() - displayMessageComposer(): Promise { return; } + displayMessageComposer(): Promise { + return; + } /** * @@ -109,21 +127,27 @@ export class Intercom extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - displayMessageComposerWithInitialMessage(initialMessage: string): Promise { return; } + displayMessageComposerWithInitialMessage(initialMessage: string): Promise { + return; + } /** * * @return {Promise} Returns a promise */ @Cordova() - displayConversationsList(): Promise { return; } + displayConversationsList(): Promise { + return; + } /** * * @return {Promise} Returns a promise */ @Cordova() - unreadConversationCount(): Promise { return; } + unreadConversationCount(): Promise { + return; + } /** * @@ -131,7 +155,9 @@ export class Intercom extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - setLauncherVisibility(visibility: string): Promise { return; } + setLauncherVisibility(visibility: string): Promise { + return; + } /** * @@ -139,20 +165,26 @@ export class Intercom extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - setInAppMessageVisibility(visibility: string): Promise { return; } + setInAppMessageVisibility(visibility: string): Promise { + return; + } /** * * @return {Promise} Returns a promise */ @Cordova() - hideMessenger(): Promise { return; } + hideMessenger(): Promise { + return; + } /** * * @return {Promise} Returns a promise */ @Cordova() - registerForPush(): Promise { return; } + registerForPush(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/is-debug/index.ts b/src/@ionic-native/plugins/is-debug/index.ts index 59233a7a60..a9b53cf047 100644 --- a/src/@ionic-native/plugins/is-debug/index.ts +++ b/src/@ionic-native/plugins/is-debug/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Is Debug diff --git a/src/@ionic-native/plugins/jins-meme/index.ts b/src/@ionic-native/plugins/jins-meme/index.ts index 282e6a312a..9c9498e5d8 100644 --- a/src/@ionic-native/plugins/jins-meme/index.ts +++ b/src/@ionic-native/plugins/jins-meme/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, CordovaCheck, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaCheck, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; declare const cordova: any; @@ -49,7 +49,10 @@ export class JinsMeme extends IonicNativePlugin { *@returns {Promise} */ @Cordova() - setAppClientID(appClientId: string, clientSecret: string): Promise { return; } + setAppClientID(appClientId: string, clientSecret: string): Promise { + return; + } + /** * Starts scanning for JINS MEME. * @returns {Observable} @@ -59,13 +62,19 @@ export class JinsMeme extends IonicNativePlugin { clearFunction: 'stopScan', clearWithArgs: true }) - startScan(): Observable { return; } + startScan(): Observable { + return; + } + /** * Stops scanning JINS MEME. * @returns {Promise} */ @Cordova() - stopScan(): Promise { return; } + stopScan(): Promise { + return; + } + /** * Establishes connection to JINS MEME. * @param {string} target @@ -80,25 +89,35 @@ export class JinsMeme extends IonicNativePlugin { return () => console.log(data); }); } + /** * Set auto connection mode. *@param {Boolean} flag *@returns {Promise} */ @Cordova() - setAutoConnect(flag: boolean): Promise { return; } + setAutoConnect(flag: boolean): Promise { + return; + } + /** * Returns whether a connection to JINS MEME has been established. *@returns {Promise} */ @Cordova() - isConnected(): Promise { return; } + isConnected(): Promise { + return; + } + /** * Disconnects from JINS MEME. *@returns {Promise} */ @Cordova() - disconnect(): Promise { return; } + disconnect(): Promise { + return; + } + /** * Starts receiving realtime data. * @returns {Observable} @@ -108,60 +127,89 @@ export class JinsMeme extends IonicNativePlugin { clearFunction: 'stopDataReport', clearWithArgs: true }) - startDataReport(): Observable { return; } + startDataReport(): Observable { + return; + } + /** - * Stops receiving data. - *@returns {Promise} - */ + * Stops receiving data. + *@returns {Promise} + */ @Cordova() - stopDataReport(): Promise { return; } + stopDataReport(): Promise { + return; + } + /** * Returns SDK version. * *@returns {Promise} */ @Cordova() - getSDKVersion(): Promise { return; } + getSDKVersion(): Promise { + return; + } + /** * Returns JINS MEME connected with other apps. *@returns {Promise} */ @Cordova() - getConnectedByOthers(): Promise { return; } + getConnectedByOthers(): Promise { + return; + } + /** * Returns calibration status *@returns {Promise} */ @Cordova() - isCalibrated(): Promise { return; } + isCalibrated(): Promise { + return; + } + /** * Returns device type. *@returns {Promise} */ @Cordova() - getConnectedDeviceType(): Promise { return; } + getConnectedDeviceType(): Promise { + return; + } + /** * Returns hardware version. *@returns {Promise} */ @Cordova() - getConnectedDeviceSubType(): Promise { return; } + getConnectedDeviceSubType(): Promise { + return; + } + /** * Returns FW Version. *@returns {Promise} */ @Cordova() - getFWVersion(): Promise { return; } + getFWVersion(): Promise { + return; + } + /** * Returns HW Version. *@returns {Promise} */ @Cordova() - getHWVersion(): Promise { return; } + getHWVersion(): Promise { + return; + } + /** * Returns response about whether data was received or not. *@returns {Promise} */ @Cordova() - isDataReceiving(): Promise { return; } + isDataReceiving(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/keyboard/index.ts b/src/@ionic-native/plugins/keyboard/index.ts index f79a25e9c2..8c827bd155 100644 --- a/src/@ionic-native/plugins/keyboard/index.ts +++ b/src/@ionic-native/plugins/keyboard/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; @@ -35,7 +35,8 @@ export class Keyboard extends IonicNativePlugin { * @param hide {boolean} */ @Cordova({ sync: true }) - hideKeyboardAccessoryBar(hide: boolean): void { } + hideKeyboardAccessoryBar(hide: boolean): void { + } /** * Force keyboard to be shown. @@ -44,7 +45,8 @@ export class Keyboard extends IonicNativePlugin { sync: true, platforms: ['Android', 'BlackBerry 10', 'Windows'] }) - show(): void { } + show(): void { + } /** * Close the keyboard if open. @@ -53,7 +55,8 @@ export class Keyboard extends IonicNativePlugin { sync: true, platforms: ['iOS', 'Android', 'BlackBerry 10', 'Windows'] }) - close(): void { } + close(): void { + } /** * Prevents the native UIScrollView from moving when an input is focused. @@ -63,7 +66,8 @@ export class Keyboard extends IonicNativePlugin { sync: true, platforms: ['iOS', 'Windows'] }) - disableScroll(disable: boolean): void { } + disableScroll(disable: boolean): void { + } /** * Creates an observable that notifies you when the keyboard is shown. Unsubscribe to observable to cancel event watch. @@ -74,7 +78,9 @@ export class Keyboard extends IonicNativePlugin { event: 'native.keyboardshow', platforms: ['iOS', 'Android', 'BlackBerry 10', 'Windows'] }) - onKeyboardShow(): Observable { return; } + onKeyboardShow(): Observable { + return; + } /** * Creates an observable that notifies you when the keyboard is hidden. Unsubscribe to observable to cancel event watch. @@ -85,6 +91,8 @@ export class Keyboard extends IonicNativePlugin { event: 'native.keyboardhide', platforms: ['iOS', 'Android', 'BlackBerry 10', 'Windows'] }) - onKeyboardHide(): Observable { return; } + onKeyboardHide(): Observable { + return; + } } diff --git a/src/@ionic-native/plugins/keychain-touch-id/index.ts b/src/@ionic-native/plugins/keychain-touch-id/index.ts index 4f128469ee..4ae51f4359 100644 --- a/src/@ionic-native/plugins/keychain-touch-id/index.ts +++ b/src/@ionic-native/plugins/keychain-touch-id/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Keychain Touch Id @@ -50,7 +50,9 @@ export class KeychainTouchId extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when there is a result */ @Cordova() - save(key: string, password: string): Promise { return; } + save(key: string, password: string): Promise { + return; + } /** * Opens the fingerprint dialog, for the given key, showing an additional message. Promise will resolve @@ -60,7 +62,9 @@ export class KeychainTouchId extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when the key value is successfully retrieved or an error */ @Cordova() - verify(key: string, message: string): Promise { return; } + verify(key: string, message: string): Promise { + return; + } /** * Checks if there is a password stored within the keychain for the given key. @@ -68,7 +72,9 @@ export class KeychainTouchId extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves with success if the key is available or failure if key is not. */ @Cordova() - has(key: string): Promise { return; } + has(key: string): Promise { + return; + } /** * Deletes the password stored under given key from the keychain. @@ -76,13 +82,16 @@ export class KeychainTouchId extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves with success if the key is deleted or failure if key is not */ @Cordova() - delete(key: string): Promise { return; } + delete(key: string): Promise { + return; + } /** * Sets the language of the fingerprint dialog * @param locale {string} locale subtag from [this list](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry). */ @Cordova() - setLocale(locale: string): void {} + setLocale(locale: string): void { + } } diff --git a/src/@ionic-native/plugins/keychain/index.ts b/src/@ionic-native/plugins/keychain/index.ts index 20381d70e2..3cc8157eb0 100644 --- a/src/@ionic-native/plugins/keychain/index.ts +++ b/src/@ionic-native/plugins/keychain/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -46,7 +46,9 @@ export class Keychain extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - get(key: string, touchIDMessage?: string): Promise { return; } + get(key: string, touchIDMessage?: string): Promise { + return; + } /** * Sets a value for a key @@ -58,7 +60,9 @@ export class Keychain extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - set(key: string, value: string | number | boolean, useTouchID?: boolean): Promise { return; } + set(key: string, value: string | number | boolean, useTouchID?: boolean): Promise { + return; + } /** * Gets a JSON value for a key @@ -69,7 +73,9 @@ export class Keychain extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getJson(key: string, touchIDMessage?: string): Promise { return; } + getJson(key: string, touchIDMessage?: string): Promise { + return; + } /** * Sets a JSON value for a key @@ -81,7 +87,9 @@ export class Keychain extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - setJson(key: string, obj: any, useTouchId?: boolean): Promise { return; } + setJson(key: string, obj: any, useTouchId?: boolean): Promise { + return; + } /** * Removes a value for a key @@ -91,6 +99,8 @@ export class Keychain extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - remove(key: string): Promise { return; } + remove(key: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/launch-navigator/index.ts b/src/@ionic-native/plugins/launch-navigator/index.ts index 79140e26f6..c5b03f4ea9 100644 --- a/src/@ionic-native/plugins/launch-navigator/index.ts +++ b/src/@ionic-native/plugins/launch-navigator/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface PromptsOptions { @@ -223,13 +223,13 @@ export interface UserPrompted { * Sets flag indicating user has already been prompted whether to remember their choice a preferred navigator app. * @param callback - function to call once operation is complete. */ - set: ( callback: () => void) => void; + set: (callback: () => void) => void; /** * Clears flag which indicates if user has already been prompted whether to remember their choice a preferred navigator app. * @param callback - function to call once operation is complete. */ - clear: ( callback: () => void) => void; + clear: (callback: () => void) => void; } export interface AppSelection { @@ -255,7 +255,7 @@ export interface AppSelection { * let options: LaunchNavigatorOptions = { * start: 'London, ON', * app: LaunchNavigator.APPS.UBER - * }; + * } * * this.launchNavigator.navigate('Toronto, ON', options) * .then( @@ -305,6 +305,7 @@ export class LaunchNavigator extends IonicNativePlugin { BICYCLING: 'bicycling', TRANSIT: 'transit' }; + appSelection: AppSelection; /** * Launches navigator app @@ -316,7 +317,9 @@ export class LaunchNavigator extends IonicNativePlugin { successIndex: 2, errorIndex: 3 }) - navigate(destination: string | number[], options?: LaunchNavigatorOptions): Promise { return; } + navigate(destination: string | number[], options?: LaunchNavigatorOptions): Promise { + return; + } /** * Determines if the given app is installed and available on the current device. @@ -324,14 +327,18 @@ export class LaunchNavigator extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isAppAvailable(app: string): Promise { return; } + isAppAvailable(app: string): Promise { + return; + } /** * Returns a list indicating which apps are installed and available on the current device. * @returns {Promise} */ @Cordova() - availableApps(): Promise { return; } + availableApps(): Promise { + return; + } /** * Returns the display name of the specified app. @@ -339,7 +346,9 @@ export class LaunchNavigator extends IonicNativePlugin { * @returns {string} */ @Cordova({ sync: true }) - getAppDisplayName(app: string): string { return; } + getAppDisplayName(app: string): string { + return; + } /** * Returns list of supported apps on a given platform. @@ -347,7 +356,9 @@ export class LaunchNavigator extends IonicNativePlugin { * @returns {string[]} */ @Cordova({ sync: true }) - getAppsForPlatform(platform: string): string[] { return; } + getAppsForPlatform(platform: string): string[] { + return; + } /** * Indicates if an app on a given platform supports specification of transport mode. @@ -356,7 +367,9 @@ export class LaunchNavigator extends IonicNativePlugin { * @returns {boolean} */ @Cordova({ sync: true }) - supportsTransportMode(app: string, platform: string): boolean { return; } + supportsTransportMode(app: string, platform: string): boolean { + return; + } /** * Returns the list of transport modes supported by an app on a given platform. @@ -365,7 +378,9 @@ export class LaunchNavigator extends IonicNativePlugin { * @returns {string[]} */ @Cordova({ sync: true }) - getTransportModes(app: string, platform: string): string[] { return; } + getTransportModes(app: string, platform: string): string[] { + return; + } /** * @param app {string} @@ -373,7 +388,9 @@ export class LaunchNavigator extends IonicNativePlugin { * @returns {boolean} */ @Cordova({ sync: true }) - supportsDestName(app: string, platform: string): boolean { return; } + supportsDestName(app: string, platform: string): boolean { + return; + } /** * Indicates if an app on a given platform supports specification of start location. @@ -382,7 +399,9 @@ export class LaunchNavigator extends IonicNativePlugin { * @returns {boolean} */ @Cordova({ sync: true }) - supportsStart(app: string, platform: string): boolean { return; } + supportsStart(app: string, platform: string): boolean { + return; + } /** * @param app {string} @@ -390,7 +409,9 @@ export class LaunchNavigator extends IonicNativePlugin { * @returns {boolean} */ @Cordova({ sync: true }) - supportsStartName(app: string, platform: string): boolean { return; } + supportsStartName(app: string, platform: string): boolean { + return; + } /** * Indicates if an app on a given platform supports specification of launch mode. @@ -400,14 +421,15 @@ export class LaunchNavigator extends IonicNativePlugin { * @returns {boolean} */ @Cordova({ sync: true }) - supportsLaunchMode(app: string, platform: string): boolean { return; } + supportsLaunchMode(app: string, platform: string): boolean { + return; + } /** * @param destination {string | number[]} * @param options {LaunchNavigatorOptions} */ @Cordova({ sync: true }) - userSelect(destination: string | number[], options: LaunchNavigatorOptions): void {} - - appSelection: AppSelection; + userSelect(destination: string | number[], options: LaunchNavigatorOptions): void { + } } diff --git a/src/@ionic-native/plugins/launch-review/index.ts b/src/@ionic-native/plugins/launch-review/index.ts index 86c3c038ac..d4adb3d66f 100644 --- a/src/@ionic-native/plugins/launch-review/index.ts +++ b/src/@ionic-native/plugins/launch-review/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Launch Review @@ -45,7 +45,9 @@ export class LaunchReview extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['Android', 'iOS'], callbackOrder: 'reverse' }) - launch(appId?: string): Promise { return; } + launch(appId?: string): Promise { + return; + } /** * Invokes the native in-app rating dialog which allows a user to rate your app without needing to open the App Store. @@ -57,7 +59,9 @@ export class LaunchReview extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['iOS'] }) - rating(): Promise { return; } + rating(): Promise { + return; + } /** * Indicates if the current platform/version supports in-app ratings dialog, i.e. calling LaunchReview.rating(). @@ -65,6 +69,8 @@ export class LaunchReview extends IonicNativePlugin { * @returns {boolean} */ @Cordova({ platforms: ['Android', 'iOS'], sync: true }) - isRatingSupported(): boolean { return; } + isRatingSupported(): boolean { + return; + } } diff --git a/src/@ionic-native/plugins/linkedin/index.ts b/src/@ionic-native/plugins/linkedin/index.ts index f93b42497a..0831ff782d 100644 --- a/src/@ionic-native/plugins/linkedin/index.ts +++ b/src/@ionic-native/plugins/linkedin/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; export type LinkedInLoginScopes = 'r_basicprofile' | 'r_emailaddress' | 'rw_company_admin' | 'w_share'; @@ -39,7 +39,7 @@ export type LinkedInLoginScopes = 'r_basicprofile' | 'r_emailaddress' | 'rw_comp * visibility: { * code: 'anyone' * } - * }; + * } * * this.linkedin.postRequest('~/shares', body) * .then(res => console.log(res)) @@ -67,13 +67,16 @@ export class LinkedIn extends IonicNativePlugin { * @return {Promise} */ @Cordova() - login(scopes: LinkedInLoginScopes[], promptToInstall: boolean): Promise { return; } + login(scopes: LinkedInLoginScopes[], promptToInstall: boolean): Promise { + return; + } /** * Clears the current session */ @Cordova({ sync: true }) - logout(): void { } + logout(): void { + } /** * Make a get request @@ -81,7 +84,9 @@ export class LinkedIn extends IonicNativePlugin { * @return {Promise} */ @Cordova() - getRequest(path: string): Promise { return; } + getRequest(path: string): Promise { + return; + } /** * Make a post request @@ -90,7 +95,9 @@ export class LinkedIn extends IonicNativePlugin { * @return {Promise} */ @Cordova() - postRequest(path: string, body: any): Promise { return; } + postRequest(path: string, body: any): Promise { + return; + } /** * Opens a member's profile @@ -98,20 +105,26 @@ export class LinkedIn extends IonicNativePlugin { * @return {Promise} */ @Cordova() - openProfile(memberId: string): Promise { return; } + openProfile(memberId: string): Promise { + return; + } /** * Checks if there is already an existing active session. This should be used to avoid unnecessary login. * @return {Promise} returns a promise that resolves with a boolean that indicates whether there is an active session */ @Cordova() - hasActiveSession(): Promise { return; } + hasActiveSession(): Promise { + return; + } /** * Checks if there is an active session and returns the access token if it exists. * @return {Promise} returns a promise that resolves with an object that contains an access token if there is an active session */ @Cordova() - getActiveSession(): Promise { return; } + getActiveSession(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/local-notifications/index.ts b/src/@ionic-native/plugins/local-notifications/index.ts index bef5c4fda2..8aff5b3e89 100644 --- a/src/@ionic-native/plugins/local-notifications/index.ts +++ b/src/@ionic-native/plugins/local-notifications/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface ILocalNotification { @@ -67,10 +67,10 @@ export interface ILocalNotification { smallIcon?: string; /** - * ANDROID ONLY - * RGB value for the background color of the smallIcon. - * Default: Androids COLOR_DEFAULT, which will vary based on Android version. - */ + * ANDROID ONLY + * RGB value for the background color of the smallIcon. + * Default: Androids COLOR_DEFAULT, which will vary based on Android version. + */ color?: string; @@ -91,8 +91,8 @@ export interface ILocalNotification { led?: string; /** - * Notification priority. - */ + * Notification priority. + */ priority?: number; } @@ -162,7 +162,8 @@ export class LocalNotifications extends IonicNativePlugin { @Cordova({ sync: true }) - schedule(options?: ILocalNotification | Array): void { } + schedule(options?: ILocalNotification | Array): void { + } /** * Updates a previously scheduled notification. Must include the id in the options parameter. @@ -171,7 +172,8 @@ export class LocalNotifications extends IonicNativePlugin { @Cordova({ sync: true }) - update(options?: ILocalNotification): void { } + update(options?: ILocalNotification): void { + } /** * Clears single or multiple notifications @@ -179,7 +181,9 @@ export class LocalNotifications extends IonicNativePlugin { * @returns {Promise} Returns a promise when the notification had been cleared */ @Cordova() - clear(notificationId: any): Promise { return; } + clear(notificationId: any): Promise { + return; + } /** * Clears all notifications @@ -189,7 +193,9 @@ export class LocalNotifications extends IonicNativePlugin { successIndex: 0, errorIndex: 2 }) - clearAll(): Promise { return; } + clearAll(): Promise { + return; + } /** * Cancels single or multiple notifications @@ -197,7 +203,9 @@ export class LocalNotifications extends IonicNativePlugin { * @returns {Promise} Returns a promise when the notification is canceled */ @Cordova() - cancel(notificationId: any): Promise { return; } + cancel(notificationId: any): Promise { + return; + } /** * Cancels all notifications @@ -207,7 +215,9 @@ export class LocalNotifications extends IonicNativePlugin { successIndex: 0, errorIndex: 2 }) - cancelAll(): Promise { return; } + cancelAll(): Promise { + return; + } /** * Checks presence of a notification @@ -215,7 +225,9 @@ export class LocalNotifications extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isPresent(notificationId: number): Promise { return; } + isPresent(notificationId: number): Promise { + return; + } /** * Checks is a notification is scheduled @@ -223,7 +235,9 @@ export class LocalNotifications extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isScheduled(notificationId: number): Promise { return; } + isScheduled(notificationId: number): Promise { + return; + } /** * Checks if a notification is triggered @@ -231,28 +245,36 @@ export class LocalNotifications extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isTriggered(notificationId: number): Promise { return; } + isTriggered(notificationId: number): Promise { + return; + } /** * Get all the notification ids * @returns {Promise>} */ @Cordova() - getAllIds(): Promise> { return; } + getAllIds(): Promise> { + return; + } /** * Get the ids of triggered notifications * @returns {Promise>} */ @Cordova() - getTriggeredIds(): Promise> { return; } + getTriggeredIds(): Promise> { + return; + } /** * Get the ids of scheduled notifications * @returns {Promise>} Returns a promise */ @Cordova() - getScheduledIds(): Promise> { return; } + getScheduledIds(): Promise> { + return; + } /** * Get a notification object @@ -260,7 +282,9 @@ export class LocalNotifications extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - get(notificationId: any): Promise { return; } + get(notificationId: any): Promise { + return; + } /** * Get a scheduled notification object @@ -268,7 +292,9 @@ export class LocalNotifications extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - getScheduled(notificationId: any): Promise { return; } + getScheduled(notificationId: any): Promise { + return; + } /** * Get a triggered notification object @@ -276,42 +302,54 @@ export class LocalNotifications extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - getTriggered(notificationId: any): Promise { return; } + getTriggered(notificationId: any): Promise { + return; + } /** * Get all notification objects * @returns {Promise>} */ @Cordova() - getAll(): Promise> { return; } + getAll(): Promise> { + return; + } /** * Get all scheduled notification objects * @returns {Promise>} */ @Cordova() - getAllScheduled(): Promise> { return; } + getAllScheduled(): Promise> { + return; + } /** * Get all triggered notification objects * @returns {Promise>} */ @Cordova() - getAllTriggered(): Promise> { return; } + getAllTriggered(): Promise> { + return; + } /** * Register permission to show notifications if not already granted. * @returns {Promise} */ @Cordova() - registerPermission(): Promise { return; } + registerPermission(): Promise { + return; + } /** * Informs if the app has the permission to show notifications. * @returns {Promise} */ @Cordova() - hasPermission(): Promise { return; } + hasPermission(): Promise { + return; + } /** @@ -322,7 +360,8 @@ export class LocalNotifications extends IonicNativePlugin { @Cordova({ sync: true }) - on(eventName: string, callback: any): void { } + on(eventName: string, callback: any): void { + } /** * Removes a callback of a specific event @@ -332,7 +371,8 @@ export class LocalNotifications extends IonicNativePlugin { @Cordova({ sync: true }) - un(eventName: string, callback: any): void { } + un(eventName: string, callback: any): void { + } } diff --git a/src/@ionic-native/plugins/location-accuracy/index.ts b/src/@ionic-native/plugins/location-accuracy/index.ts index be74531ae0..d1bdbafeb4 100644 --- a/src/@ionic-native/plugins/location-accuracy/index.ts +++ b/src/@ionic-native/plugins/location-accuracy/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Location Accuracy @@ -37,104 +37,98 @@ import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; }) @Injectable() export class LocationAccuracy extends IonicNativePlugin { - /** - * Indicates if you can request accurate location - * @returns {Promise} Returns a promise that resovles with a boolean that indicates if you can request accurate location - */ - @Cordova() - canRequest(): Promise { return; } - - /** - * Indicates if a request is currently in progress - * @returns {Promise} Returns a promise that resolves with a boolean that indicates if a request is currently in progress - */ - @Cordova() - isRequesting(): Promise { return; } - - /** - * Requests accurate location - * @param accuracy {number} Accuracy, from 0 to 4. You can use the static properties of this class that start with REQUEST_PRIORITY_ - * @returns {Promise} Returns a promise that resolves on success and rejects if an error occurred - */ - @Cordova({ callbackOrder: 'reverse' }) - request(accuracy: number): Promise { return; } - /** * Convenience constant * @type {number} */ REQUEST_PRIORITY_NO_POWER = 0; - /** * Convenience constant * @type {number} */ REQUEST_PRIORITY_LOW_POWER = 1; - /** * Convenience constant * @type {number} */ REQUEST_PRIORITY_BALANCED_POWER_ACCURACY = 2; - /** * Convenience constant * @type {number} */ REQUEST_PRIORITY_HIGH_ACCURACY = 3; - /** * Convenience constant * @type {number} */ SUCCESS_SETTINGS_SATISFIED = 0; - /** * Convenience constant * @type {number} */ SUCCESS_USER_AGREED = 1; - /** * Convenience constant * @type {number} */ ERROR_ALREADY_REQUESTING = -1; - /** * Convenience constant * @type {number} */ ERROR_INVALID_ACTION = 0; - /** * Convenience constant * @type {number} */ ERROR_INVALID_ACCURACY = 1; - /** * Convenience constant * @type {number} */ ERROR_EXCEPTION = 1; - /** * Convenience constant * @type {number} */ ERROR_CANNOT_CHANGE_ACCURACY = 3; - /** * Convenience constant * @type {number} */ ERROR_USER_DISAGREED = 4; - /** * Convenience constant * @type {number} */ ERROR_GOOGLE_API_CONNECTION_FAILED = 4; + /** + * Indicates if you can request accurate location + * @returns {Promise} Returns a promise that resovles with a boolean that indicates if you can request accurate location + */ + @Cordova() + canRequest(): Promise { + return; + } + + /** + * Indicates if a request is currently in progress + * @returns {Promise} Returns a promise that resolves with a boolean that indicates if a request is currently in progress + */ + @Cordova() + isRequesting(): Promise { + return; + } + + /** + * Requests accurate location + * @param accuracy {number} Accuracy, from 0 to 4. You can use the static properties of this class that start with REQUEST_PRIORITY_ + * @returns {Promise} Returns a promise that resolves on success and rejects if an error occurred + */ + @Cordova({ callbackOrder: 'reverse' }) + request(accuracy: number): Promise { + return; + } + } diff --git a/src/@ionic-native/plugins/market/index.ts b/src/@ionic-native/plugins/market/index.ts index 77718246bc..e688f07d88 100644 --- a/src/@ionic-native/plugins/market/index.ts +++ b/src/@ionic-native/plugins/market/index.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; + /** * @name Market * @description @@ -37,7 +38,9 @@ export class Market extends IonicNativePlugin { successName: 'success', errorName: 'failure' }) - open(appId: string): Promise { return; } + open(appId: string): Promise { + return; + } /** * Search apps by keyword @@ -50,6 +53,8 @@ export class Market extends IonicNativePlugin { errorName: 'failure', platforms: ['Android'] }) - search(keyword: string): Promise { return; } + search(keyword: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/media-capture/index.ts b/src/@ionic-native/plugins/media-capture/index.ts index 580e155c4b..00ea976c92 100644 --- a/src/@ionic-native/plugins/media-capture/index.ts +++ b/src/@ionic-native/plugins/media-capture/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, CordovaProperty, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; declare const navigator: any; @@ -101,7 +101,7 @@ export interface ConfigurationData { /** * The ASCII-encoded lowercase string representing the media type. */ - type: string; + type: string; /** * The height of the image or video in pixels. The value is zero for sound clips. */ @@ -125,7 +125,7 @@ export interface ConfigurationData { * ... * * - * let options: CaptureImageOptions = { limit: 3 }; + * let options: CaptureImageOptions = { limit: 3 } * this.mediaCapture.captureImage(options) * .then( * (data: MediaFile[]) => console.log(data), @@ -155,21 +155,21 @@ export class MediaCapture extends IonicNativePlugin { * The recording image sizes and formats supported by the device. * @returns {ConfigurationData[]} */ - @CordovaProperty + @CordovaProperty() supportedImageModes: ConfigurationData[]; /** * The audio recording formats supported by the device. * @returns {ConfigurationData[]} */ - @CordovaProperty + @CordovaProperty() supportedAudioModes: ConfigurationData[]; /** * The recording video resolutions and formats supported by the device. * @returns {ConfigurationData[]} */ - @CordovaProperty + @CordovaProperty() supportedVideoModes: ConfigurationData[]; /** diff --git a/src/@ionic-native/plugins/media/index.ts b/src/@ionic-native/plugins/media/index.ts index 4cfbfc3b63..562ea038c4 100644 --- a/src/@ionic-native/plugins/media/index.ts +++ b/src/@ionic-native/plugins/media/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { CordovaInstance, Plugin, checkAvailability, IonicNativePlugin, InstanceProperty } from '@ionic-native/core'; +import { checkAvailability, CordovaInstance, InstanceProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; import { Observer } from 'rxjs/Observer'; @@ -26,35 +26,38 @@ export class MediaObject { /** * @hidden */ - @InstanceProperty + @InstanceProperty() successCallback: Function; /** * @hidden */ - @InstanceProperty + @InstanceProperty() errorCallback: Function; /** * @hidden */ - @InstanceProperty + @InstanceProperty() statusCallback: Function; constructor(private _objectInstance: any) { this.onSuccess = new Observable((observer: Observer) => { this.successCallback = observer.next.bind(observer); - return () => this.successCallback = () => {}; + return () => this.successCallback = () => { + }; }); this.onError = new Observable((observer: Observer) => { this.errorCallback = observer.next.bind(observer); - return () => this.errorCallback = () => {}; + return () => this.errorCallback = () => { + }; }); this.onStatusUpdate = new Observable((observer: Observer) => { this.statusCallback = observer.next.bind(observer); - return () => this.statusCallback = () => {}; + return () => this.statusCallback = () => { + }; }); } @@ -63,21 +66,27 @@ export class MediaObject { * @returns {Promise} Returns a promise with the amplitude of the current recording */ @CordovaInstance() - getCurrentAmplitude(): Promise { return; } + getCurrentAmplitude(): Promise { + return; + } /** * Get the current position within an audio file. Also updates the Media object's position parameter. * @returns {Promise} Returns a promise with the position of the current recording */ @CordovaInstance() - getCurrentPosition(): Promise { return; } + getCurrentPosition(): Promise { + return; + } /** * Get the duration of an audio file in seconds. If the duration is unknown, it returns a value of -1. * @returns {number} Returns a promise with the duration of the current recording */ @CordovaInstance({ sync: true }) - getDuration(): number { return; } + getDuration(): number { + return; + } /** * Starts or resumes playing an audio file. @@ -86,66 +95,77 @@ export class MediaObject { play(iosOptions?: { numberOfLoops?: number, playAudioWhenScreenIsLocked?: boolean - }): void { } + }): void { + } /** * Pauses playing an audio file. */ @CordovaInstance({ sync: true }) - pause(): void { } + pause(): void { + } /** * Releases the underlying operating system's audio resources. This is particularly important for Android, since there are a finite amount of OpenCore instances for media playback. Applications should call the release function for any Media resource that is no longer needed. */ @CordovaInstance({ sync: true }) - release(): void { } + release(): void { + } /** * Sets the current position within an audio file. * @param {number} milliseconds The time position you want to set for the current audio file */ @CordovaInstance({ sync: true }) - seekTo(milliseconds: number): void { } + seekTo(milliseconds: number): void { + } /** * Set the volume for an audio file. * @param volume {number} The volume to set for playback. The value must be within the range of 0.0 to 1.0. */ @CordovaInstance({ sync: true }) - setVolume(volume: number): void { } + setVolume(volume: number): void { + } @CordovaInstance({ sync: true }) - setRate(speedRate: number): void {} + setRate(speedRate: number): void { + } /** * Starts recording an audio file. */ @CordovaInstance({ sync: true }) - startRecord(): void { } + startRecord(): void { + } /** * Stops recording */ @CordovaInstance({ sync: true }) - stopRecord(): void { } + stopRecord(): void { + } /** * Pauses recording */ @CordovaInstance({ sync: true }) - pauseRecord(): void { } + pauseRecord(): void { + } /** * Resumes recording */ @CordovaInstance({ sync: true }) - resumeRecord(): void { } + resumeRecord(): void { + } /** * Stops playing an audio file. */ @CordovaInstance({ sync: true }) - stop(): void { } + stop(): void { + } } diff --git a/src/@ionic-native/plugins/mixpanel/index.ts b/src/@ionic-native/plugins/mixpanel/index.ts index debf12a63b..8e069b2656 100644 --- a/src/@ionic-native/plugins/mixpanel/index.ts +++ b/src/@ionic-native/plugins/mixpanel/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; declare var mixpanel: any; @@ -41,20 +41,26 @@ export class Mixpanel extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - alias(aliasId: string, originalId: string): Promise { return; } + alias(aliasId: string, originalId: string): Promise { + return; + } /** * * @returns {Promise} */ @Cordova() - distinctId(): Promise { return; } + distinctId(): Promise { + return; + } /** * @returns {Promise} */ @Cordova() - flush(): Promise { return; } + flush(): Promise { + return; + } /** * @@ -62,7 +68,9 @@ export class Mixpanel extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - identify(distinctId: string): Promise { return; } + identify(distinctId: string): Promise { + return; + } /** * @@ -70,7 +78,9 @@ export class Mixpanel extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - init(token: string): Promise { return; } + init(token: string): Promise { + return; + } /** * @@ -78,14 +88,18 @@ export class Mixpanel extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - registerSuperProperties(superProperties: any): Promise { return; } + registerSuperProperties(superProperties: any): Promise { + return; + } /** * * @returns {Promise} */ @Cordova() - reset(): Promise { return; } + reset(): Promise { + return; + } /** * @@ -93,7 +107,9 @@ export class Mixpanel extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - timeEvent(eventName: string): Promise { return; } + timeEvent(eventName: string): Promise { + return; + } /** * @@ -105,9 +121,12 @@ export class Mixpanel extends IonicNativePlugin { successIndex: 2, errorIndex: 3 }) - track(eventName: string, eventProperties?: any): Promise { return; } + track(eventName: string, eventProperties?: any): Promise { + return; + } } + /** * @hidden */ @@ -125,7 +144,9 @@ export class MixpanelPeople extends IonicNativePlugin { * @return {Promise} */ @Cordova() - identify(distinctId: string): Promise { return; } + identify(distinctId: string): Promise { + return; + } /** * @@ -133,7 +154,9 @@ export class MixpanelPeople extends IonicNativePlugin { * @return {Promise} */ @Cordova() - increment(peopleProperties: any): Promise { return; } + increment(peopleProperties: any): Promise { + return; + } /** * @@ -141,7 +164,9 @@ export class MixpanelPeople extends IonicNativePlugin { * @return {Promise} */ @Cordova() - setPushId(pushId: string): Promise { return; } + setPushId(pushId: string): Promise { + return; + } /** * @@ -149,7 +174,9 @@ export class MixpanelPeople extends IonicNativePlugin { * @return {Promise} */ @Cordova() - set(peopleProperties: any): Promise { return; } + set(peopleProperties: any): Promise { + return; + } /** * @@ -157,6 +184,8 @@ export class MixpanelPeople extends IonicNativePlugin { * @return {Promise} */ @Cordova() - setOnce(peopleProperties: any): Promise { return; } + setOnce(peopleProperties: any): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/mobile-accessibility/index.ts b/src/@ionic-native/plugins/mobile-accessibility/index.ts index f7348b7f05..4d4bdabdb7 100644 --- a/src/@ionic-native/plugins/mobile-accessibility/index.ts +++ b/src/@ionic-native/plugins/mobile-accessibility/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -56,21 +56,27 @@ export class MobileAccessibility extends IonicNativePlugin { * @returns {Promise} A result method to receive the boolean result asynchronously from the native MobileAccessibility plugin. */ @Cordova() - isScreenReaderRunning(): Promise { return; } + isScreenReaderRunning(): Promise { + return; + } /** * An iOS-specific proxy for the MobileAccessibility.isScreenReaderRunning method * @returns {Promise} A result method to receive the boolean result asynchronously from the native MobileAccessibility plugin. */ @Cordova({ platforms: ['iOS'] }) - isVoiceOverRunning(): Promise { return; } + isVoiceOverRunning(): Promise { + return; + } /** * An Android/Amazon Fire OS-specific proxy for the MobileAccessibility.isScreenReaderRunning method. * @returns {Promise} A result method to receive the boolean result asynchronously from the native MobileAccessibility plugin. */ @Cordova({ platforms: ['Amazon Fire OS', 'Android'] }) - isTalkBackRunning(): Promise { return; } + isTalkBackRunning(): Promise { + return; + } /** * On Android, this method returns true if ChromeVox is active and properly initialized with access to the text to speech API in the WebView. @@ -78,124 +84,157 @@ export class MobileAccessibility extends IonicNativePlugin { * @returns {Promise} Returns the result */ @Cordova({ platforms: ['Amazon Fire OS', 'Android'] }) - isChromeVoxActive(): Promise { return; } + isChromeVoxActive(): Promise { + return; + } /** * * @returns {Promise} Returns the result */ @Cordova({ platforms: ['iOS'] }) - isBoldTextEnabled(): Promise { return; } + isBoldTextEnabled(): Promise { + return; + } /** * * @returns {Promise} Returns the result */ @Cordova() - isClosedCaptioningEnabled(): Promise { return; } + isClosedCaptioningEnabled(): Promise { + return; + } /** * * @returns {Promise} Returns the result */ @Cordova({ platforms: ['iOS'] }) - isDarkerSystemColorsEnabled(): Promise { return; } + isDarkerSystemColorsEnabled(): Promise { + return; + } /** * * @returns {Promise} Returns the result */ @Cordova({ platforms: ['iOS'] }) - isGrayscaleEnabled(): Promise { return; } + isGrayscaleEnabled(): Promise { + return; + } /** * * @returns {Promise} Returns the result */ @Cordova({ platforms: ['iOS'] }) - isGuidedAccessEnabled(): Promise { return; } + isGuidedAccessEnabled(): Promise { + return; + } /** * * @returns {Promise} Returns the result */ @Cordova({ platforms: ['iOS'] }) - isInvertColorsEnabled(): Promise { return; } + isInvertColorsEnabled(): Promise { + return; + } /** * * @returns {Promise} Returns the result */ @Cordova({ platforms: ['iOS'] }) - isMonoAudioEnabled(): Promise { return; } + isMonoAudioEnabled(): Promise { + return; + } /** * * @returns {Promise} Returns the result */ @Cordova({ platforms: ['iOS'] }) - isReduceMotionEnabled(): Promise { return; } + isReduceMotionEnabled(): Promise { + return; + } /** * * @returns {Promise} Returns the result */ @Cordova({ platforms: ['iOS'] }) - isReduceTransparencyEnabled(): Promise { return; } + isReduceTransparencyEnabled(): Promise { + return; + } /** * * @returns {Promise} Returns the result */ @Cordova({ platforms: ['iOS'] }) - isSpeakScreenEnabled(): Promise { return; } + isSpeakScreenEnabled(): Promise { + return; + } /** * * @returns {Promise} Returns the result */ @Cordova({ platforms: ['iOS'] }) - isSpeakSelectionEnabled(): Promise { return; } + isSpeakSelectionEnabled(): Promise { + return; + } /** * * @returns {Promise} Returns the result */ @Cordova({ platforms: ['iOS'] }) - isSwitchControlRunning(): Promise { return; } + isSwitchControlRunning(): Promise { + return; + } /** * * @returns {Promise} Returns the result */ @Cordova({ platforms: ['Amazon Fire OS', 'Android'] }) - isTouchExplorationEnabled(): Promise { return; } + isTouchExplorationEnabled(): Promise { + return; + } /** * * * @returns {Promise} Returns the result */ @Cordova() - getTextZoom(): Promise { return; } + getTextZoom(): Promise { + return; + } /** * @param textZoom {number} A percentage value by which text in the WebView should be scaled. */ @Cordova({ sync: true }) - setTextZoom(textZoom: number): void { } + setTextZoom(textZoom: number): void { + } /** * */ @Cordova({ sync: true }) - updateTextZoom(): void { } + updateTextZoom(): void { + } /** * A Boolean value which specifies whether to use the preferred text zoom of a default percent value of 100. * @param value {boolean} Returns the result */ @Cordova({ sync: true }) - usePreferredTextZoom(value: boolean): void { } + usePreferredTextZoom(value: boolean): void { + } /** * Posts a notification with a string for the screen reader to announce if it is running. @@ -204,7 +243,9 @@ export class MobileAccessibility extends IonicNativePlugin { * @returns {Promise} Returns the result */ @Cordova({ platforms: ['iOS'] }) - postNotification(mobileAccessibilityNotification: any, value: string): Promise { return; } + postNotification(mobileAccessibilityNotification: any, value: string): Promise { + return; + } /** * Speaks a given string through the screenreader. On Android, if ChromeVox is active, it will use the specified queueMode and properties. @@ -213,12 +254,14 @@ export class MobileAccessibility extends IonicNativePlugin { * @param properties {any} */ @Cordova({ sync: true }) - speak(value: string, queueMode?: number, properties?: any): void { } + speak(value: string, queueMode?: number, properties?: any): void { + } /** * Stops speech. */ @Cordova({ sync: true }) - stop(): void { } + stop(): void { + } } diff --git a/src/@ionic-native/plugins/ms-adal/index.ts b/src/@ionic-native/plugins/ms-adal/index.ts index ab0e55d889..dd9ec68eb7 100644 --- a/src/@ionic-native/plugins/ms-adal/index.ts +++ b/src/@ionic-native/plugins/ms-adal/index.ts @@ -1,4 +1,4 @@ -import { Plugin, IonicNativePlugin, checkAvailability, InstanceProperty, CordovaInstance } from '@ionic-native/core'; +import { checkAvailability, CordovaInstance, InstanceProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; export interface AuthenticationResult { @@ -23,7 +23,9 @@ export interface AuthenticationResult { export interface TokenCache { clear(): void; + readItems(): Promise; + deleteItem(item: TokenCacheItem): void; } @@ -112,16 +114,17 @@ export class MSAdal extends IonicNativePlugin { */ export class AuthenticationContext { - @InstanceProperty + @InstanceProperty() authority: string; - @InstanceProperty + @InstanceProperty() validateAuthority: boolean; - @InstanceProperty + @InstanceProperty() tokenCache: any; - constructor(private _objectInstance: any) {} + constructor(private _objectInstance: any) { + } /** * Acquires token using interactive flow. It always shows UI and skips token from cache. @@ -138,7 +141,9 @@ export class AuthenticationContext { @CordovaInstance({ otherPromise: true }) - acquireTokenAsync(resourceUrl: string, clientId: string, redirectUrl: string, userId?: string, extraQueryParameters?: any): Promise { return; } + acquireTokenAsync(resourceUrl: string, clientId: string, redirectUrl: string, userId?: string, extraQueryParameters?: any): Promise { + return; + } /** * Acquires token WITHOUT using interactive flow. It checks the cache to return existing result @@ -153,6 +158,8 @@ export class AuthenticationContext { @CordovaInstance({ otherPromise: true }) - acquireTokenSilentAsync(resourceUrl: string, clientId: string, userId?: string): Promise { return; } + acquireTokenSilentAsync(resourceUrl: string, clientId: string, userId?: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/music-controls/index.ts b/src/@ionic-native/plugins/music-controls/index.ts index 383b45d8bc..ddeba62d03 100644 --- a/src/@ionic-native/plugins/music-controls/index.ts +++ b/src/@ionic-native/plugins/music-controls/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface MusicControlsOptions { @@ -147,14 +147,18 @@ export class MusicControls extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - create(options: MusicControlsOptions): Promise { return; } + create(options: MusicControlsOptions): Promise { + return; + } /** * Destroy the media controller * @returns {Promise} */ @Cordova() - destroy(): Promise { return; } + destroy(): Promise { + return; + } /** * Subscribe to the events of the media controller @@ -163,34 +167,40 @@ export class MusicControls extends IonicNativePlugin { @Cordova({ observable: true }) - subscribe(): Observable { return; } + subscribe(): Observable { + return; + } /** * Start listening for events, this enables the Observable from the subscribe method */ @Cordova({ sync: true }) - listen(): void { } + listen(): void { + } /** * Toggle play/pause: * @param isPlaying {boolean} */ @Cordova() - updateIsPlaying(isPlaying: boolean): void { } + updateIsPlaying(isPlaying: boolean): void { + } /** - * Update elapsed time, optionally toggle play/pause: - * @param args {Object} - */ + * Update elapsed time, optionally toggle play/pause: + * @param args {Object} + */ @Cordova({ platforms: ['iOS'] }) - updateElapsed(args: { elapsed: string; isPlaying: boolean; }): void { } + updateElapsed(args: { elapsed: string; isPlaying: boolean; }): void { + } /** * Toggle dismissable: * @param dismissable {boolean} */ @Cordova() - updateDismissable(dismissable: boolean): void { } + updateDismissable(dismissable: boolean): void { + } } diff --git a/src/@ionic-native/plugins/native-audio/index.ts b/src/@ionic-native/plugins/native-audio/index.ts index 91dca64b4a..22f395a3c5 100644 --- a/src/@ionic-native/plugins/native-audio/index.ts +++ b/src/@ionic-native/plugins/native-audio/index.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; + /** * @name Native Audio * @description Native Audio Playback @@ -45,7 +46,9 @@ export class NativeAudio extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - preloadSimple(id: string, assetPath: string): Promise {return; } + preloadSimple(id: string, assetPath: string): Promise { + return; + } /** * Loads an audio file into memory. Optimized for background music / ambient sound. Uses highlevel native APIs with a larger footprint. (iOS: AVAudioPlayer). Can be stopped / looped and used with multiple voices. Can be faded in and out using the delay parameter. @@ -57,7 +60,9 @@ export class NativeAudio extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - preloadComplex(id: string, assetPath: string, volume: number, voices: number, delay: number): Promise {return; } + preloadComplex(id: string, assetPath: string, volume: number, voices: number, delay: number): Promise { + return; + } /** * Plays an audio asset @@ -69,7 +74,9 @@ export class NativeAudio extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - play(id: string, completeCallback?: Function): Promise {return; } + play(id: string, completeCallback?: Function): Promise { + return; + } /** * Stops playing an audio @@ -77,7 +84,9 @@ export class NativeAudio extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - stop(id: string): Promise {return; } + stop(id: string): Promise { + return; + } /** * Loops an audio asset infinitely, this only works for complex assets @@ -85,7 +94,9 @@ export class NativeAudio extends IonicNativePlugin { * @return {Promise} */ @Cordova() - loop(id: string): Promise {return; } + loop(id: string): Promise { + return; + } /** * Unloads an audio file from memory @@ -93,7 +104,9 @@ export class NativeAudio extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - unload(id: string): Promise {return; } + unload(id: string): Promise { + return; + } /** * Changes the volume for preloaded complex assets. @@ -102,6 +115,8 @@ export class NativeAudio extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - setVolumeForComplexAsset(id: string, volume: number): Promise {return; } + setVolumeForComplexAsset(id: string, volume: number): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/native-geocoder/index.ts b/src/@ionic-native/plugins/native-geocoder/index.ts index 176be80279..9650bfa609 100644 --- a/src/@ionic-native/plugins/native-geocoder/index.ts +++ b/src/@ionic-native/plugins/native-geocoder/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Native Geocoder @@ -45,7 +45,9 @@ export class NativeGeocoder extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - reverseGeocode(latitude: number, longitude: number): Promise { return; } + reverseGeocode(latitude: number, longitude: number): Promise { + return; + } /** * Forward geocode a given address to find coordinates @@ -55,12 +57,14 @@ export class NativeGeocoder extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - forwardGeocode(addressString: string): Promise { return; } + forwardGeocode(addressString: string): Promise { + return; + } } /** * Encapsulates format information about a reverse geocoding result. - * more Info: + * more Info: * - https://developer.apple.com/documentation/corelocation/clplacemark * - https://developer.android.com/reference/android/location/Address.html */ diff --git a/src/@ionic-native/plugins/native-keyboard/index.ts b/src/@ionic-native/plugins/native-keyboard/index.ts index ea070c564a..04b036ac45 100644 --- a/src/@ionic-native/plugins/native-keyboard/index.ts +++ b/src/@ionic-native/plugins/native-keyboard/index.ts @@ -1,4 +1,4 @@ -import { Plugin, IonicNativePlugin, Cordova } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; export interface NativeKeyboardOptions { @@ -210,33 +210,41 @@ export class NativeKeyboard extends IonicNativePlugin { * @param options {NativeKeyboardOptions} */ @Cordova({ sync: true }) - showMessenger(options: NativeKeyboardOptions): void {} + showMessenger(options: NativeKeyboardOptions): void { + } /** * Hide messenger * @param options {NativeKeyboardOptions} */ @Cordova({ sync: true }) - hideMessenger(options: NativeKeyboardOptions): void {} + hideMessenger(options: NativeKeyboardOptions): void { + } /** * Programmatically pop up the keyboard again if the user dismissed it. * @return {Promise} */ @Cordova() - showMessengerKeyboard(): Promise { return; } + showMessengerKeyboard(): Promise { + return; + } /** * Programmatically hide the keyboard (but not the messenger bar) */ @Cordova() - hideMessengerKeyboard(): Promise { return; } + hideMessengerKeyboard(): Promise { + return; + } /** * Manipulate the messenger while it's open. For instance if you want to update the text programmatically based on what the user typed. * @param options */ @Cordova() - updateMessenger(options: NativeKeyboardUpdateMessengerOptions): Promise { return; } + updateMessenger(options: NativeKeyboardUpdateMessengerOptions): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/native-page-transitions/index.ts b/src/@ionic-native/plugins/native-page-transitions/index.ts index 537588b3c2..bced325963 100644 --- a/src/@ionic-native/plugins/native-page-transitions/index.ts +++ b/src/@ionic-native/plugins/native-page-transitions/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface NativeTransitionOptions { direction?: string; @@ -42,7 +42,7 @@ export interface NativeTransitionOptions { * androiddelay: 150, * fixedPixelsTop: 0, * fixedPixelsBottom: 60 - * }; + * } * * this.nativePageTransitions.slide(options) * .then(onSuccess) @@ -76,7 +76,9 @@ export class NativePageTransitions extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - slide(options: NativeTransitionOptions): Promise { return; } + slide(options: NativeTransitionOptions): Promise { + return; + } /** * Perform a flip animation @@ -84,7 +86,9 @@ export class NativePageTransitions extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - flip(options: NativeTransitionOptions): Promise { return; } + flip(options: NativeTransitionOptions): Promise { + return; + } /** * Perform a fade animation @@ -92,7 +96,9 @@ export class NativePageTransitions extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['iOS', 'Android'] }) - fade(options: NativeTransitionOptions): Promise { return; } + fade(options: NativeTransitionOptions): Promise { + return; + } /** @@ -101,8 +107,9 @@ export class NativePageTransitions extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['iOS', 'Android'] }) - drawer(options: NativeTransitionOptions): Promise { return; } - + drawer(options: NativeTransitionOptions): Promise { + return; + } /** @@ -111,20 +118,26 @@ export class NativePageTransitions extends IonicNativePlugin { * @returns {Promise} */ @Cordova({ platforms: ['iOS'] }) - curl(options: NativeTransitionOptions): Promise { return; } + curl(options: NativeTransitionOptions): Promise { + return; + } /** * Execute pending transition * @returns {Promise} */ @Cordova() - executePendingTransition(): Promise { return; } + executePendingTransition(): Promise { + return; + } /** * Cancel pending transition * @returns {Promise} */ @Cordova() - cancelPendingTransition(): Promise { return; } + cancelPendingTransition(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/native-ringtones/index.ts b/src/@ionic-native/plugins/native-ringtones/index.ts index f0fad32b0a..2582a5892b 100644 --- a/src/@ionic-native/plugins/native-ringtones/index.ts +++ b/src/@ionic-native/plugins/native-ringtones/index.ts @@ -1,4 +1,4 @@ -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -39,7 +39,9 @@ export class NativeRingtones extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when ringtones found successfully */ @Cordova() - getRingtone(): Promise { return; } + getRingtone(): Promise { + return; + } /** * This function starts playing the ringtone @@ -47,7 +49,9 @@ export class NativeRingtones extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - playRingtone(ringtoneUri: string): Promise { return; } + playRingtone(ringtoneUri: string): Promise { + return; + } /** * This function stops playing the ringtone @@ -55,5 +59,7 @@ export class NativeRingtones extends IonicNativePlugin { * @return {Promise} Returns a promise */ @Cordova() - stopRingtone(ringtoneUri: string): Promise { return; } + stopRingtone(ringtoneUri: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/native-storage/index.ts b/src/@ionic-native/plugins/native-storage/index.ts index 15b498c3fe..9a125c8ac8 100644 --- a/src/@ionic-native/plugins/native-storage/index.ts +++ b/src/@ionic-native/plugins/native-storage/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -43,7 +43,9 @@ export class NativeStorage extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - setItem(reference: string, value: any): Promise { return; } + setItem(reference: string, value: any): Promise { + return; + } /** * Gets a stored item @@ -51,14 +53,18 @@ export class NativeStorage extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - getItem(reference: string): Promise { return; } + getItem(reference: string): Promise { + return; + } /** * Retrieving all keys * @returns {Promise} */ @Cordova() - keys(): Promise { return; } + keys(): Promise { + return; + } /** * Removes a single stored item @@ -66,13 +72,17 @@ export class NativeStorage extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - remove(reference: string): Promise { return; } + remove(reference: string): Promise { + return; + } /** * Removes all stored values. * @returns {Promise} */ @Cordova() - clear(): Promise { return; } + clear(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/navigation-bar/index.ts b/src/@ionic-native/plugins/navigation-bar/index.ts index 784f3501ba..a2d0ee5869 100644 --- a/src/@ionic-native/plugins/navigation-bar/index.ts +++ b/src/@ionic-native/plugins/navigation-bar/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -32,7 +32,7 @@ export class NavigationBar extends IonicNativePlugin { /** * hide automatically (or not) the navigation bar. - * @param autohide {boolean}   + * @param autohide {boolean} * @return {Promise} */ @Cordova({ @@ -40,10 +40,12 @@ export class NavigationBar extends IonicNativePlugin { successName: 'success', errorName: 'failure' }) - setUp(autohide?: boolean): Promise { return; } + setUp(autohide?: boolean): Promise { + return; + } /** - * Hide the navigation bar.  + * Hide the navigation bar. * @return {Promise} */ @Cordova({ @@ -51,6 +53,8 @@ export class NavigationBar extends IonicNativePlugin { successName: 'success', errorName: 'failure' }) - hideNavigationBar(): Promise { return; } + hideNavigationBar(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/network-interface/index.ts b/src/@ionic-native/plugins/network-interface/index.ts index 7a68fb12a6..73182ae71f 100644 --- a/src/@ionic-native/plugins/network-interface/index.ts +++ b/src/@ionic-native/plugins/network-interface/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Network Interface diff --git a/src/@ionic-native/plugins/network/index.ts b/src/@ionic-native/plugins/network/index.ts index 3249a3d369..5e1df95db1 100644 --- a/src/@ionic-native/plugins/network/index.ts +++ b/src/@ionic-native/plugins/network/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, CordovaProperty, Plugin, CordovaCheck, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaCheck, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/observable/merge'; @@ -62,14 +62,14 @@ export class Network extends IonicNativePlugin { * Connection type * @return {string} */ - @CordovaProperty + @CordovaProperty() type: string; /** * Downlink Max Speed * @return {string} */ - @CordovaProperty + @CordovaProperty() downlinkMax: string; /** @@ -89,7 +89,9 @@ export class Network extends IonicNativePlugin { eventObservable: true, event: 'offline' }) - onDisconnect(): Observable { return; } + onDisconnect(): Observable { + return; + } /** * Get notified when the device goes online @@ -99,6 +101,8 @@ export class Network extends IonicNativePlugin { eventObservable: true, event: 'online' }) - onConnect(): Observable { return; } + onConnect(): Observable { + return; + } } diff --git a/src/@ionic-native/plugins/nfc/index.ts b/src/@ionic-native/plugins/nfc/index.ts index 0d885f7e67..5522e7bcbb 100644 --- a/src/@ionic-native/plugins/nfc/index.ts +++ b/src/@ionic-native/plugins/nfc/index.ts @@ -1,6 +1,7 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin, CordovaProperty } from '@ionic-native/core'; +import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; + declare let window: any; export interface NdefEvent { @@ -67,8 +68,8 @@ export interface NdefTag { platforms: ['Android', 'BlackBerry 10', 'Windows', 'Windows Phone 8'] }) /** -*@{ NFC } class methods -*/ + *@{ NFC } class methods + */ @Injectable() export class NFC extends IonicNativePlugin { /** @@ -84,7 +85,9 @@ export class NFC extends IonicNativePlugin { clearFunction: 'invalidateSession', clearWithArgs: true }) - beginSession(onSuccess?: Function, onFailure?: Function): Observable { return; } + beginSession(onSuccess?: Function, onFailure?: Function): Observable { + return; + } /** * Registers an event listener for any NDEF tag. @@ -99,7 +102,9 @@ export class NFC extends IonicNativePlugin { clearFunction: 'removeNdefListener', clearWithArgs: true }) - addNdefListener(onSuccess?: Function, onFailure?: Function): Observable { return; } + addNdefListener(onSuccess?: Function, onFailure?: Function): Observable { + return; + } /** * Registers an event listener for tags matching any tag type. @@ -114,7 +119,9 @@ export class NFC extends IonicNativePlugin { clearFunction: 'removeTagDiscoveredListener', clearWithArgs: true }) - addTagDiscoveredListener(onSuccess?: Function, onFailure?: Function): Observable { return; } + addTagDiscoveredListener(onSuccess?: Function, onFailure?: Function): Observable { + return; + } /** * Registers an event listener for NDEF tags matching a specified MIME type. @@ -130,7 +137,9 @@ export class NFC extends IonicNativePlugin { clearFunction: 'removeMimeTypeListener', clearWithArgs: true }) - addMimeTypeListener(mimeType: string, onSuccess?: Function, onFailure?: Function): Observable { return; } + addMimeTypeListener(mimeType: string, onSuccess?: Function, onFailure?: Function): Observable { + return; + } /** * Registers an event listener for formatable NDEF tags. @@ -143,7 +152,9 @@ export class NFC extends IonicNativePlugin { successIndex: 0, errorIndex: 3 }) - addNdefFormatableListener(onSuccess?: Function, onFailure?: Function): Observable { return; } + addNdefFormatableListener(onSuccess?: Function, onFailure?: Function): Observable { + return; + } /** * Writes an NdefMessage(array of ndef records) to a NFC tag. @@ -151,13 +162,18 @@ export class NFC extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - write(message: any[]): Promise { return; } + write(message: any[]): Promise { + return; + } + /** * Makes a NFC tag read only. **Warning** this is permanent. * @returns {Promise} */ @Cordova() - makeReadyOnly(): Promise { return; } + makeReadyOnly(): Promise { + return; + } /** * Shares an NDEF Message(array of ndef records) via peer-to-peer. @@ -165,20 +181,26 @@ export class NFC extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - share(message: any[]): Promise { return; } + share(message: any[]): Promise { + return; + } /** * Stop sharing NDEF data via peer-to-peer. * @returns {Promise} */ @Cordova() - unshare(): Promise { return; } + unshare(): Promise { + return; + } /** * Erase a NDEF tag */ @Cordova() - erase(): Promise { return; } + erase(): Promise { + return; + } /** * Send a file to another device via NFC handover. @@ -186,46 +208,61 @@ export class NFC extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - handover(uris: string[]): Promise { return; } + handover(uris: string[]): Promise { + return; + } /** * Stop sharing NDEF data via NFC handover. * @returns {Promise} */ @Cordova() - stopHandover(): Promise { return; } + stopHandover(): Promise { + return; + } /** * Opens the device's NFC settings. * @returns {Promise} */ @Cordova() - showSettings(): Promise { return; } + showSettings(): Promise { + return; + } /** * Check if NFC is available and enabled on this device. * @returns {Promise} */ @Cordova() - enabled(): Promise { return; } + enabled(): Promise { + return; + } + /** - * @{ NFC } class utility methods - * for use with - */ + * @{ NFC } class utility methods + * for use with + */ /** * Convert byte array to string * @param bytes {number[]} * @returns {string} */ @Cordova({ sync: true }) - bytesToString(bytes: number[]): string { return; } + bytesToString(bytes: number[]): string { + return; + } + /** * Convert string to byte array. * @param str {string} * @returns {number[]} */ @Cordova({ sync: true }) - stringToBytes(str: string): number[] { return; }; + stringToBytes(str: string): number[] { + return; + } + /** * Convert byte array to hex string * @@ -233,9 +270,12 @@ export class NFC extends IonicNativePlugin { * @returns {string} */ @Cordova({ sync: true }) - bytesToHexString(bytes: number[]): string { return; }; + bytesToHexString(bytes: number[]): string { + return; + } } + /** * @hidden */ @@ -245,92 +285,116 @@ export class NFC extends IonicNativePlugin { pluginRef: 'ndef' }) /** -*@{ Ndef } class methods -*@description -* Utility methods for creating ndef records for the ndef tag format. -* Move records into array before usage. Then pass an array to methods as parameters. -* Do not pass bytes as parameters for these methods, conversion is built in. -* For usage with nfc.write() and nfc.share() -*/ + *@{ Ndef } class methods + *@description + * Utility methods for creating ndef records for the ndef tag format. + * Move records into array before usage. Then pass an array to methods as parameters. + * Do not pass bytes as parameters for these methods, conversion is built in. + * For usage with nfc.write() and nfc.share() + */ @Injectable() export class Ndef extends IonicNativePlugin { - @CordovaProperty + @CordovaProperty() TNF_EMPTY: number; - @CordovaProperty + @CordovaProperty() TNF_WELL_KNOWN: number; - @CordovaProperty + @CordovaProperty() TNF_MIME_MEDIA: number; - @CordovaProperty + @CordovaProperty() TNF_ABSOLUTE_URI: number; - @CordovaProperty + @CordovaProperty() TNF_EXTERNAL_TYPE: number; - @CordovaProperty + @CordovaProperty() TNF_UNKNOWN: number; - @CordovaProperty + @CordovaProperty() TNF_UNCHANGED: number; - @CordovaProperty + @CordovaProperty() TNF_RESERVED: number; - @CordovaProperty + @CordovaProperty() RTD_TEXT: number[]; - @CordovaProperty + @CordovaProperty() RTD_URI: number[]; - @CordovaProperty + @CordovaProperty() RTD_SMART_POSTER: number[]; - @CordovaProperty + @CordovaProperty() RTD_ALTERNATIVE_CARRIER: number[]; - @CordovaProperty + @CordovaProperty() RTD_HANDOVER_CARRIER: number[]; - @CordovaProperty + @CordovaProperty() RTD_HANDOVER_REQUEST: number[]; - @CordovaProperty + @CordovaProperty() RTD_HANDOVER_SELECT: number[]; + @CordovaProperty() + textHelper: TextHelper; + @CordovaProperty() + uriHelper: UriHelper; @Cordova({ sync: true }) - record(tnf: number, type: number[] | string, id: number[] | string, payload: number[] | string): NdefRecord { return; } + record(tnf: number, type: number[] | string, id: number[] | string, payload: number[] | string): NdefRecord { + return; + } @Cordova({ sync: true }) - textRecord(text: string, languageCode: string, id: number[] | string): NdefRecord { return; } + textRecord(text: string, languageCode: string, id: number[] | string): NdefRecord { + return; + } @Cordova({ sync: true }) - uriRecord(uri: string, id: number[] | string): NdefRecord { return; } + uriRecord(uri: string, id: number[] | string): NdefRecord { + return; + } @Cordova({ sync: true }) - absoluteUriRecord(uri: string, payload: number[] | string, id: number[] | string): NdefRecord { return; } + absoluteUriRecord(uri: string, payload: number[] | string, id: number[] | string): NdefRecord { + return; + } @Cordova({ sync: true }) - mimeMediaRecord(mimeType: string, payload: string): NdefRecord { return; } + mimeMediaRecord(mimeType: string, payload: string): NdefRecord { + return; + } @Cordova({ sync: true }) - smartPoster(ndefRecords: any[], id?: number[] | string ): NdefRecord { return; } + smartPoster(ndefRecords: any[], id?: number[] | string): NdefRecord { + return; + } @Cordova({ sync: true }) - emptyRecord(): NdefRecord { return; } + emptyRecord(): NdefRecord { + return; + } @Cordova({ sync: true }) - androidApplicationRecord(packageName: string): NdefRecord { return; } + androidApplicationRecord(packageName: string): NdefRecord { + return; + } @Cordova({ sync: true }) - encodeMessage(ndefRecords: any): any { return; } + encodeMessage(ndefRecords: any): any { + return; + } @Cordova({ sync: true }) - decodeMessage(bytes: any): any { return; } + decodeMessage(bytes: any): any { + return; + } @Cordova({ sync: true }) - docodeTnf(tnf_byte: any): any { return; } + docodeTnf(tnf_byte: any): any { + return; + } @Cordova({ sync: true }) - encodeTnf(mb: any, me: any, cf: any, sr: any, il: any, tnf: any): any { return; } + encodeTnf(mb: any, me: any, cf: any, sr: any, il: any, tnf: any): any { + return; + } @Cordova({ sync: true }) - tnfToString(tnf: any): string { return; } - - @CordovaProperty - textHelper: TextHelper; - - @CordovaProperty - uriHelper: UriHelper; + tnfToString(tnf: any): string { + return; + } } /** @@ -345,30 +409,52 @@ export class Ndef extends IonicNativePlugin { export class NfcUtil extends IonicNativePlugin { @Cordova({ sync: true }) - toHex(i: number): string { return; } + toHex(i: number): string { + return; + } @Cordova({ sync: true }) - toPrintable(i: number): string { return; } + toPrintable(i: number): string { + return; + } @Cordova({ sync: true }) - bytesToString(i: number[]): string { return; } + bytesToString(i: number[]): string { + return; + } @Cordova({ sync: true }) - stringToBytes(s: string): number[] { return; } + stringToBytes(s: string): number[] { + return; + } @Cordova({ sync: true }) - bytesToHexString(bytes: number[]): string { return; } + bytesToHexString(bytes: number[]): string { + return; + } @Cordova({ sync: true }) - isType(record: NdefRecord, tnf: number, type: number[]|string): boolean { return; } + isType(record: NdefRecord, tnf: number, type: number[] | string): boolean { + return; + } } export class TextHelper extends IonicNativePlugin { - decodePayload(data: number[]): string { return; } - encodePayload(text: string, lang: string): number[] { return; } + decodePayload(data: number[]): string { + return; + } + + encodePayload(text: string, lang: string): number[] { + return; + } } export class UriHelper extends IonicNativePlugin { - decodePayload(data: number[]): string { return; } - encodePayload(uri: string): number[] { return; } + decodePayload(data: number[]): string { + return; + } + + encodePayload(uri: string): number[] { + return; + } } diff --git a/src/@ionic-native/plugins/onesignal/index.ts b/src/@ionic-native/plugins/onesignal/index.ts index 7356e8c17c..39e7706eac 100644 --- a/src/@ionic-native/plugins/onesignal/index.ts +++ b/src/@ionic-native/plugins/onesignal/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface OSNotification { @@ -97,13 +97,13 @@ export enum OSLockScreenVisibility { * Fully visible (default) */ Public = 1, - /** - * Contents are hidden - */ + /** + * Contents are hidden + */ Private = 0, - /** - * Not shown - */ + /** + * Not shown + */ Secret = -1 } @@ -115,13 +115,13 @@ export enum OSDisplayType { * notification is silent, or inFocusDisplaying is disabled. */ None = 0, - /** - * (**DEFAULT**) - native alert dialog display. - */ + /** + * (**DEFAULT**) - native alert dialog display. + */ InAppAlert = 1, - /** - * native notification display. - */ + /** + * native notification display. + */ Notification = 2 } @@ -219,6 +219,7 @@ export interface OSActionButton { */ icon: string; } + /** * OSPermissionState */ @@ -232,6 +233,7 @@ export interface OSPermissionState { */ status: any; } + /** * OSSubscriptionState */ @@ -241,6 +243,7 @@ export interface OSSubscriptionState { userId: any; pushToken: any; } + /** * Subscription and permissions status */ @@ -403,8 +406,8 @@ export class OneSignal extends IonicNativePlugin { */ OSInFocusDisplayOption = { None: 0, - InAppAlert : 1, - Notification : 2 + InAppAlert: 1, + Notification: 2 }; /** @@ -415,7 +418,9 @@ export class OneSignal extends IonicNativePlugin { * @returns {any} */ @Cordova({ sync: true }) - startInit(appId: string, googleProjectNumber?: string): any { return; } + startInit(appId: string, googleProjectNumber?: string): any { + return; + } /** * Callback to run when a notification is received, whether it was displayed or not. @@ -425,7 +430,9 @@ export class OneSignal extends IonicNativePlugin { @Cordova({ observable: true }) - handleNotificationReceived(): Observable { return; } + handleNotificationReceived(): Observable { + return; + } /** * Callback to run when a notification is tapped on from the notification shade (**ANDROID**) or notification @@ -437,7 +444,9 @@ export class OneSignal extends IonicNativePlugin { @Cordova({ observable: true }) - handleNotificationOpened(): Observable { return; } + handleNotificationOpened(): Observable { + return; + } /** * **iOS** - Settings for iOS apps @@ -457,7 +466,9 @@ export class OneSignal extends IonicNativePlugin { iOSSettings(settings: { kOSSettingsKeyAutoPrompt: boolean; kOSSettingsKeyInAppLaunchURL: boolean; - }): any { return; } + }): any { + return; + } /** * Must be called after `startInit` to complete initialization of OneSignal. @@ -465,7 +476,9 @@ export class OneSignal extends IonicNativePlugin { * @returns {any} */ @Cordova({ sync: true }) - endInit(): any { return; } + endInit(): any { + return; + } /** * Prompt the user for notification permissions. Callback fires as soon as the user accepts or declines notifications. @@ -474,7 +487,9 @@ export class OneSignal extends IonicNativePlugin { @Cordova({ platforms: ['iOS'] }) - promptForPushNotificationsWithUserResponse(): Promise { return; } + promptForPushNotificationsWithUserResponse(): Promise { + return; + } /** * Retrieve a list of tags that have been set on the user from the OneSignal server. @@ -484,7 +499,9 @@ export class OneSignal extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves when tags are recieved. */ @Cordova() - getTags(): Promise { return; } + getTags(): Promise { + return; + } /** * Lets you retrieve the OneSignal user id and device token. @@ -497,7 +514,9 @@ export class OneSignal extends IonicNativePlugin { * pushToken {string} A push token is a Google/Apple assigned identifier(unique per device per app). */ @Cordova() - getIds(): Promise<{userId: string; pushToken: string}> { return; } + getIds(): Promise<{ userId: string; pushToken: string }> { + return; + } /** @@ -508,7 +527,8 @@ export class OneSignal extends IonicNativePlugin { * @param {string} Value to set on the key. NOTE: Passing in a blank String deletes the key, you can also call deleteTag. */ @Cordova({ sync: true }) - sendTag(key: string, value: string): void { } + sendTag(key: string, value: string): void { + } /** * Tag a user based on an app event of your choosing so later you can create segments on [onesignal.com](https://onesignal.com/) to target these users. @@ -517,7 +537,8 @@ export class OneSignal extends IonicNativePlugin { * @param {string} Pass a json object with key/value pairs like: {key: "value", key2: "value2"} */ @Cordova({ sync: true }) - sendTags(json: any): void { } + sendTags(json: any): void { + } /** * Deletes a tag that was previously set on a user with `sendTag` or `sendTags`. Use `deleteTags` if you need to delete more than one. @@ -525,7 +546,8 @@ export class OneSignal extends IonicNativePlugin { * @param {string} Key to remove. */ @Cordova({ sync: true }) - deleteTag(key: string): void { } + deleteTag(key: string): void { + } /** * Deletes tags that were previously set on a user with `sendTag` or `sendTags`. @@ -533,14 +555,16 @@ export class OneSignal extends IonicNativePlugin { * @param {Array} Keys to remove. */ @Cordova({ sync: true }) - deleteTags(keys: string[]): void { } + deleteTags(keys: string[]): void { + } /** * Call this when you would like to prompt an iOS user to accept push notifications with the default system prompt. * Only works if you set `kOSSettingsAutoPrompt` to `false` in `iOSSettings` */ @Cordova({ sync: true }) - registerForPushNotifications(): void { } + registerForPushNotifications(): void { + } /** * Warning: @@ -552,7 +576,8 @@ export class OneSignal extends IonicNativePlugin { * @param {boolean} false to disable vibrate, true to re-enable it. */ @Cordova({ sync: true }) - enableVibrate(enable: boolean): void { } + enableVibrate(enable: boolean): void { + } /** * Warning: @@ -564,7 +589,8 @@ export class OneSignal extends IonicNativePlugin { * @param {boolean} false to disable sound, true to re-enable it. */ @Cordova({ sync: true }) - enableSound(enable: boolean): void { } + enableSound(enable: boolean): void { + } /** * @@ -574,7 +600,9 @@ export class OneSignal extends IonicNativePlugin { * @returns {any} */ @Cordova({ sync: true }) - inFocusDisplaying(displayOption: OSDisplayType): any { return; } + inFocusDisplaying(displayOption: OSDisplayType): any { + return; + } /** * You can call this method with false to opt users out of receiving all notifications through OneSignal. @@ -583,7 +611,8 @@ export class OneSignal extends IonicNativePlugin { * @param {boolean} enable */ @Cordova({ sync: true }) - setSubscription(enable: boolean): void { } + setSubscription(enable: boolean): void { + } /** * Get the current notification and permission state. Returns a OSPermissionSubscriptionState type described below. @@ -591,7 +620,9 @@ export class OneSignal extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - getPermissionSubscriptionState(): Promise { return; } + getPermissionSubscriptionState(): Promise { + return; + } /** * @@ -599,27 +630,32 @@ export class OneSignal extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves if the notification was send successfully. */ @Cordova() - postNotification(notificationObj: OSNotification): Promise { return; } + postNotification(notificationObj: OSNotification): Promise { + return; + } /** * Cancels a single OneSignal notification based on its Android notification integer id. Use instead of NotificationManager.cancel(id); otherwise the notification will be restored when your app is restarted. * @param notificationId {string} */ @Cordova({ sync: true }) - cancelNotification(notificationId: string): void {} + cancelNotification(notificationId: string): void { + } /** * Prompts the user for location permission to allow geotagging based on the "Location radius" filter on the OneSignal dashboard. */ @Cordova({ sync: true }) - promptLocation(): void { } + promptLocation(): void { + } /** * * @param email {string} */ @Cordova({ sync: true }) - syncHashedEmail(email: string): void { } + syncHashedEmail(email: string): void { + } /** * Enable logging to help debug if you run into an issue setting up OneSignal. @@ -633,7 +669,8 @@ export class OneSignal extends IonicNativePlugin { setLogLevel(logLevel: { logLevel: number, visualLevel: number - }): void { } + }): void { + } /** * The passed in function will be fired when a notification permission setting changes. @@ -646,7 +683,9 @@ export class OneSignal extends IonicNativePlugin { @Cordova({ observable: true }) - addPermissionObserver(): Observable { return; } + addPermissionObserver(): Observable { + return; + } /** * The passed in function will be fired when a notification subscription property changes. @@ -660,6 +699,8 @@ export class OneSignal extends IonicNativePlugin { @Cordova({ observable: true }) - addSubscriptionObserver(): Observable { return; } + addSubscriptionObserver(): Observable { + return; + } } diff --git a/src/@ionic-native/plugins/open-native-settings/index.ts b/src/@ionic-native/plugins/open-native-settings/index.ts index 2d5e9c4ff6..450b8dba20 100644 --- a/src/@ionic-native/plugins/open-native-settings/index.ts +++ b/src/@ionic-native/plugins/open-native-settings/index.ts @@ -1,84 +1,84 @@ -import { Plugin, IonicNativePlugin, Cordova } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** * @name Open Native Settings * @description - * Plugin to open native screens of iOS/android settings - * @usage + * Plugin to open native screens of iOS/android settings + * @usage * You can open any of these settings: * ``` * "about", // ios - "accessibility", // ios, android - "account", // ios, android - "airplane_mode", // ios, android - "apn", // android - "application_details", // ios, android - "application_development", // android - "application", // android - "autolock", // ios - "battery_optimization", // android - "bluetooth", // ios, android - "castle", // ios - "captioning", // android - "cast", // android - "cellular_usage", // ios - "configuration_list", // ios - "data_roaming", // android - "date", // ios, android - "display", // ios, android - "dream", // android - "facetime", // ios - "home", // android - "keyboard", // ios, android - "keyboard_subtype", // android - "locale", // ios, android - "location", // ios, android - "locations", // ios - "manage_all_applications", // android - "manage_applications", // android - "memory_card", // android - "music", // ios - "music_equalizer", // ios - "music_volume", // ios - "network", // ios, android - "nike_ipod", // ios - "nfcsharing", // android - "nfc_payment", // android - "nfc_settings", // android - "notes", // ios - "notification_id", // ios - "passbook", // ios - "phone", // ios - "photos", // ios - "print", // android - "privacy", // android - "quick_launch", // android - "reset", // ios - "ringtone", // ios - "browser", // ios - "search", // ios, android - "security", // android - "settings", // ios, android - "show_regulatory_info", - "sound", // ios, android - "software_update", // ios - "storage", // ios, android - "store", // ios, android - "sync", // android - "tethering", // ios - "twitter", // ios - "touch", // ios - "usage", // ios, android - "user_dictionary", // android - "video", // ios - "voice_input", // android - "vpn", // ios - "wallpaper", // ios - "wifi_ip", // android - "wifi", // ios, android - "wireless" // android - ``` + "accessibility", // ios, android + "account", // ios, android + "airplane_mode", // ios, android + "apn", // android + "application_details", // ios, android + "application_development", // android + "application", // android + "autolock", // ios + "battery_optimization", // android + "bluetooth", // ios, android + "castle", // ios + "captioning", // android + "cast", // android + "cellular_usage", // ios + "configuration_list", // ios + "data_roaming", // android + "date", // ios, android + "display", // ios, android + "dream", // android + "facetime", // ios + "home", // android + "keyboard", // ios, android + "keyboard_subtype", // android + "locale", // ios, android + "location", // ios, android + "locations", // ios + "manage_all_applications", // android + "manage_applications", // android + "memory_card", // android + "music", // ios + "music_equalizer", // ios + "music_volume", // ios + "network", // ios, android + "nike_ipod", // ios + "nfcsharing", // android + "nfc_payment", // android + "nfc_settings", // android + "notes", // ios + "notification_id", // ios + "passbook", // ios + "phone", // ios + "photos", // ios + "print", // android + "privacy", // android + "quick_launch", // android + "reset", // ios + "ringtone", // ios + "browser", // ios + "search", // ios, android + "security", // android + "settings", // ios, android + "show_regulatory_info", + "sound", // ios, android + "software_update", // ios + "storage", // ios, android + "store", // ios, android + "sync", // android + "tethering", // ios + "twitter", // ios + "touch", // ios + "usage", // ios, android + "user_dictionary", // android + "video", // ios + "voice_input", // android + "vpn", // ios + "wallpaper", // ios + "wifi_ip", // android + "wifi", // ios, android + "wireless" // android + ``` * ```typescript * import { OpenNativeSettings } from '@ionic-native/open-native-settings'; * @@ -106,6 +106,8 @@ export class OpenNativeSettings extends IonicNativePlugin { * @return {Promise} */ @Cordova() - open(setting: string): Promise { return; } + open(setting: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/paypal/index.ts b/src/@ionic-native/plugins/paypal/index.ts index 497b980e1b..dcc9cf7466 100644 --- a/src/@ionic-native/plugins/paypal/index.ts +++ b/src/@ionic-native/plugins/paypal/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name PayPal @@ -78,7 +78,9 @@ export class PayPal extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - version(): Promise { return; } + version(): Promise { + return; + } /** * You must preconnect to PayPal to prepare the device for processing payments. @@ -90,7 +92,9 @@ export class PayPal extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - init(clientIdsForEnvironments: PayPalEnvironment): Promise { return; } + init(clientIdsForEnvironments: PayPalEnvironment): Promise { + return; + } /** * You must preconnect to PayPal to prepare the device for processing payments. @@ -102,7 +106,9 @@ export class PayPal extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - prepareToRender(environment: string, configuration: PayPalConfiguration): Promise { return; } + prepareToRender(environment: string, configuration: PayPalConfiguration): Promise { + return; + } /** * Start PayPal UI to collect payment from the user. @@ -113,7 +119,9 @@ export class PayPal extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - renderSinglePaymentUI(payment: PayPalPayment): Promise { return; } + renderSinglePaymentUI(payment: PayPalPayment): Promise { + return; + } /** * Once a user has consented to future payments, when the user subsequently initiates a PayPal payment @@ -126,14 +134,18 @@ export class PayPal extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - clientMetadataID(): Promise { return; } + clientMetadataID(): Promise { + return; + } /** * Please Read Docs on Future Payments at https://github.com/paypal/PayPal-iOS-SDK#future-payments * @returns {Promise} */ @Cordova() - renderFuturePaymentUI(): Promise { return; } + renderFuturePaymentUI(): Promise { + return; + } /** * Please Read Docs on Profile Sharing at https://github.com/paypal/PayPal-iOS-SDK#profile-sharing @@ -143,7 +155,9 @@ export class PayPal extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - renderProfileSharingUI(scopes: string[]): Promise { return; } + renderProfileSharingUI(scopes: string[]): Promise { + return; + } } export interface PayPalEnvironment { @@ -155,14 +169,6 @@ export interface PayPalEnvironment { * @hidden */ export class PayPalPayment { - constructor(amount: string, currency: string, shortDescription: string, intent: string, details?: PayPalPaymentDetails) { - this.amount = amount; - this.currency = currency; - this.shortDescription = shortDescription; - this.intent = intent; - this.details = details; - } - /** * The amount of the payment. */ @@ -188,60 +194,45 @@ export class PayPalPayment { * Optional invoice number, for your tracking purposes. (up to 256 characters) */ invoiceNumber: string; - /** * Optional text, for your tracking purposes. (up to 256 characters) */ custom: string; - /** * Optional text which will appear on the customer's credit card statement. (up to 22 characters) */ softDescriptor: string; - /** * Optional array of PayPalItem objects. */ items: Array; - /** - * Optional payee email, if your app is paying a third-party merchant. - * The payee's email. It must be a valid PayPal email address. - */ + * Optional payee email, if your app is paying a third-party merchant. + * The payee's email. It must be a valid PayPal email address. + */ payeeEmail: string; - /** * Optional customer shipping address, if your app wishes to provide this to the SDK. */ shippingAddress: string; - /** * Optional PayPalPaymentDetails object */ details: PayPalPaymentDetails; + + constructor(amount: string, currency: string, shortDescription: string, intent: string, details?: PayPalPaymentDetails) { + this.amount = amount; + this.currency = currency; + this.shortDescription = shortDescription; + this.intent = intent; + this.details = details; + } } /** * @hidden */ export class PayPalItem { - /** - * The PayPalItem class defines an optional itemization for a payment. - * @see https://developer.paypal.com/docs/api/#item-object for more details. - * @param {String} name: Name of the item. 127 characters max - * @param {Number} quantity: Number of units. 10 characters max. - * @param {String} price: Unit price for this item 10 characters max. - * May be negative for "coupon" etc - * @param {String} currency: ISO standard currency code. - * @param {String} sku: The stock keeping unit for this item. 50 characters max (optional) - */ - constructor(name: string, quantity: number, price: string, currency: string, sku?: string) { - this.name = name; - this.quantity = quantity; - this.price = price; - this.currency = currency; - this.sku = sku; - } /** * Name of the item. 127 characters max */ @@ -262,23 +253,30 @@ export class PayPalItem { * The stock keeping unit for this item. 50 characters max (optional) */ sku?: string; + + /** + * The PayPalItem class defines an optional itemization for a payment. + * @see https://developer.paypal.com/docs/api/#item-object for more details. + * @param {String} name: Name of the item. 127 characters max + * @param {Number} quantity: Number of units. 10 characters max. + * @param {String} price: Unit price for this item 10 characters max. + * May be negative for "coupon" etc + * @param {String} currency: ISO standard currency code. + * @param {String} sku: The stock keeping unit for this item. 50 characters max (optional) + */ + constructor(name: string, quantity: number, price: string, currency: string, sku?: string) { + this.name = name; + this.quantity = quantity; + this.price = price; + this.currency = currency; + this.sku = sku; + } } /** * @hidden */ export class PayPalPaymentDetails { - /** - * The PayPalPaymentDetails class defines optional amount details. - * @param {String} subtotal: Sub-total (amount) of items being paid for. 10 characters max with support for 2 decimal places. - * @param {String} shipping: Amount charged for shipping. 10 characters max with support for 2 decimal places. - * @param {String} tax: Amount charged for tax. 10 characters max with support for 2 decimal places. - */ - constructor(subtotal: string, shipping: string, tax: string) { - this.subtotal = subtotal; - this.shipping = shipping; - this.tax = tax; - } /** * Sub-total (amount) of items being paid for. 10 characters max with support for 2 decimal places. */ @@ -291,6 +289,18 @@ export class PayPalPaymentDetails { * Amount charged for tax. 10 characters max with support for 2 decimal places. */ tax: string; + + /** + * The PayPalPaymentDetails class defines optional amount details. + * @param {String} subtotal: Sub-total (amount) of items being paid for. 10 characters max with support for 2 decimal places. + * @param {String} shipping: Amount charged for shipping. 10 characters max with support for 2 decimal places. + * @param {String} tax: Amount charged for tax. 10 characters max with support for 2 decimal places. + */ + constructor(subtotal: string, shipping: string, tax: string) { + this.subtotal = subtotal; + this.shipping = shipping; + this.tax = tax; + } } /** @@ -396,6 +406,7 @@ export interface PayPalConfigurationOptions { */ [key: string]: any; } + /** * @hidden */ @@ -440,25 +451,6 @@ export class PayPalConfiguration implements PayPalConfigurationOptions { * @hidden */ export class PayPalShippingAddress { - /** - * See the documentation of the individual properties for more detail. - * @param {String} recipientName: Name of the recipient at this address. 50 characters max. - * @param {String} line1: Line 1 of the address (e.g., Number, street, etc). 100 characters max. - * @param {String} line2: Line 2 of the address (e.g., Suite, apt #, etc). 100 characters max. Optional. - * @param {String} city: City name. 50 characters max. - * @param {String} state: 2-letter code for US states, and the equivalent for other countries. 100 characters max. Required in certain countries. - * @param {String} postalCode: ZIP code or equivalent is usually required for countries that have them. 20 characters max. Required in certain countries. - * @param {String} countryCode: 2-letter country code. 2 characters max. - */ - constructor(recipientName: string, line1: string, line2: string, city: string, state: string, postalCode: string, countryCode: string) { - this.recipientName = recipientName; - this.line1 = line1; - this.line2 = line2; - this.city = city; - this.state = state; - this.postalCode = postalCode; - this.countryCode = countryCode; - } /** * Name of the recipient at this address. 50 characters max. */ @@ -487,4 +479,24 @@ export class PayPalShippingAddress { * 2-letter country code. 2 characters max. */ countryCode: string; + + /** + * See the documentation of the individual properties for more detail. + * @param {String} recipientName: Name of the recipient at this address. 50 characters max. + * @param {String} line1: Line 1 of the address (e.g., Number, street, etc). 100 characters max. + * @param {String} line2: Line 2 of the address (e.g., Suite, apt #, etc). 100 characters max. Optional. + * @param {String} city: City name. 50 characters max. + * @param {String} state: 2-letter code for US states, and the equivalent for other countries. 100 characters max. Required in certain countries. + * @param {String} postalCode: ZIP code or equivalent is usually required for countries that have them. 20 characters max. Required in certain countries. + * @param {String} countryCode: 2-letter country code. 2 characters max. + */ + constructor(recipientName: string, line1: string, line2: string, city: string, state: string, postalCode: string, countryCode: string) { + this.recipientName = recipientName; + this.line1 = line1; + this.line2 = line2; + this.city = city; + this.state = state; + this.postalCode = postalCode; + this.countryCode = countryCode; + } } diff --git a/src/@ionic-native/plugins/pedometer/index.ts b/src/@ionic-native/plugins/pedometer/index.ts index 773db656d3..dabde2e0b6 100644 --- a/src/@ionic-native/plugins/pedometer/index.ts +++ b/src/@ionic-native/plugins/pedometer/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; import { Injectable } from '@angular/core'; @@ -49,7 +49,9 @@ export class Pedometer extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when feature is supported (true) or not supported (false) */ @Cordova() - isStepCountingAvailable(): Promise { return; } + isStepCountingAvailable(): Promise { + return; + } /** * Distance estimation indicates the ability to use step information to supply the approximate distance travelled by the user. @@ -58,7 +60,9 @@ export class Pedometer extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when feature is supported (true) or not supported (false) */ @Cordova() - isDistanceAvailable(): Promise { return; } + isDistanceAvailable(): Promise { + return; + } /** * Floor counting indicates the ability to count the number of floors the user walks up or down using stairs. @@ -67,27 +71,33 @@ export class Pedometer extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when feature is supported (true) or not supported (false) */ @Cordova() - isFloorCountingAvailable(): Promise { return; } + isFloorCountingAvailable(): Promise { + return; + } /** - * Starts the delivery of recent pedestrian-related data to your Cordova app. - * - * When the app is suspended, the delivery of updates stops temporarily. - * Upon returning to foreground or background execution, the pedometer object begins updates again. - * @return {Observable} Returns a Observable that recieves repeatly data from pedometer in background. - */ + * Starts the delivery of recent pedestrian-related data to your Cordova app. + * + * When the app is suspended, the delivery of updates stops temporarily. + * Upon returning to foreground or background execution, the pedometer object begins updates again. + * @return {Observable} Returns a Observable that recieves repeatly data from pedometer in background. + */ @Cordova({ observable: true, clearFunction: 'stopPedometerUpdates' }) - startPedometerUpdates(): Observable { return; } + startPedometerUpdates(): Observable { + return; + } /** * Stops the delivery of recent pedestrian data updates to your Cordova app. * @return {Promise} Returns a promise that resolves when pedometer watching was stopped */ @Cordova() - stopPedometerUpdates(): Promise { return; } + stopPedometerUpdates(): Promise { + return; + } /** * Retrieves the data between the specified start and end dates. @@ -100,6 +110,8 @@ export class Pedometer extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - queryData(options: { startDate: Date, endDate: Date }): Promise { return; } + queryData(options: { startDate: Date, endDate: Date }): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/phonegap-local-notification/index.ts b/src/@ionic-native/plugins/phonegap-local-notification/index.ts index 50ec817499..60eac12ac3 100644 --- a/src/@ionic-native/plugins/phonegap-local-notification/index.ts +++ b/src/@ionic-native/plugins/phonegap-local-notification/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, CordovaInstance, Plugin, IonicNativePlugin, checkAvailability } from '@ionic-native/core'; +import { checkAvailability, Cordova, CordovaInstance, IonicNativePlugin, Plugin } from '@ionic-native/core'; declare const Notification: any; @@ -17,7 +17,8 @@ export class PLNObject { } @CordovaInstance({ sync: true }) - close(): void { } + close(): void { + } } @@ -101,13 +102,17 @@ export class PhonegapLocalNotification extends IonicNativePlugin { * @param Options {LocalNotificationOptions} An object containing optional property/value pairs. * @returns {PLNObject} */ - create(title: string, options: LocalNotificationOptions) { return new PLNObject(title, options); } + create(title: string, options: LocalNotificationOptions) { + return new PLNObject(title, options); + } /** - * requests permission from the user to show a local notification. - * @returns {Promise} - */ + * requests permission from the user to show a local notification. + * @returns {Promise} + */ @Cordova() - requestPermission(): Promise { return; } + requestPermission(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/photo-library/index.ts b/src/@ionic-native/plugins/photo-library/index.ts index 3ca7cf3bd3..1dc683d005 100644 --- a/src/@ionic-native/plugins/photo-library/index.ts +++ b/src/@ionic-native/plugins/photo-library/index.ts @@ -1,54 +1,7 @@ -import { Plugin, Cordova, IonicNativePlugin, CordovaOptions, wrap } from '@ionic-native/core'; +import { Cordova, CordovaCheck, IonicNativePlugin, Plugin, wrap } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; -import { Observer } from 'rxjs/Observer'; import { Injectable } from '@angular/core'; -/** - * @hidden - */ -export interface CordovaFiniteObservableOptions extends CordovaOptions { - /** - * Function that gets a result returned from plugin's success callback, and decides whether it is last value and observable should complete. - */ - resultFinalPredicate?: string; - /** - * Function that gets called after resultFinalPredicate, and removes service data that indicates end of stream from the result. - */ - resultTransform?: string; -} - -/** - * @hidden - * - * Wraps method that returns an observable that can be completed. Provided opts.resultFinalPredicate dictates when the observable completes. - */ -export function CordovaFiniteObservable(opts: CordovaFiniteObservableOptions = {}) { - opts.observable = true; - return (target: Object, methodName: string, descriptor: TypedPropertyDescriptor) => { - return { - value: function(...args: any[]) { - const wrappedObservable: Observable = wrap(this, methodName, opts).apply(this, args); - return new Observable((observer: Observer) => { - const wrappedSubscription = wrappedObservable.subscribe({ - next: (x: any) => { - observer.next(opts.resultTransform ? x[opts.resultTransform] : x); - if (opts.resultFinalPredicate && x[opts.resultFinalPredicate]) { - observer.complete(); - } - }, - error: (err: any) => { observer.error(err); }, - complete: () => { observer.complete(); } - }); - return () => { - wrappedSubscription.unsubscribe(); - }; - }); - }, - enumerable: true - }; - }; -} - /** * @name Photo Library * @description @@ -103,12 +56,35 @@ export class PhotoLibrary extends IonicNativePlugin { * @param options {GetLibraryOptions} Optional, like thumbnail size and chunks settings. * @return {Observable} Returns library items. If appropriate option was set, will be returned by chunks. */ - @CordovaFiniteObservable({ - callbackOrder: 'reverse', - resultFinalPredicate: 'isLastChunk', - resultTransform: 'library' + @CordovaCheck({ + observable: true }) - getLibrary(options?: GetLibraryOptions): Observable { return; } + getLibrary(options?: GetLibraryOptions): Observable { + let wrappedObservable: Observable = wrap(this, 'getLibrary', { callbackOrder: 'reverse' }).apply(this, [options]); + return new Observable((observer) => { + let wrappedSubscription = wrappedObservable.subscribe({ + next: (x) => { + observer.next((result: { library: LibraryItem[] }) => { + return result.library; + }); + if ((result: { isLastChunk: boolean }) => { + return result.isLastChunk; + }) { + observer.complete(); + } + }, + error: (err) => { + observer.error(err); + }, + complete: () => { + observer.complete(); + } + }); + return () => { + wrappedSubscription.unsubscribe(); + }; + }); + } /** * Asks user permission to access photo library. @@ -116,18 +92,22 @@ export class PhotoLibrary extends IonicNativePlugin { * @return { Promise} Returns a promise that resolves when permissions are granted, and fails when not. */ @Cordova({ - callbackOrder: 'reverse' + callbackOrder: 'reverse', }) - requestAuthorization(options?: RequestAuthorizationOptions): Promise { return; } + requestAuthorization(options?: RequestAuthorizationOptions): Promise { + return; + } /** * Returns list of photo albums on device. * @return {Promise} Resolves to list of albums. */ @Cordova({ - callbackOrder: 'reverse' + callbackOrder: 'reverse', }) - getAlbums(): Promise { return; } + getAlbums(): Promise { + return; + } /** * Provides means to request URL of thumbnail, with specified size or quality. @@ -139,7 +119,9 @@ export class PhotoLibrary extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - getThumbnailURL(photo: string | LibraryItem, options?: GetThumbnailOptions): Promise { return; } + getThumbnailURL(photo: string | LibraryItem, options?: GetThumbnailOptions): Promise { + return; + } /** * Provides means to request photo URL by id. @@ -151,7 +133,9 @@ export class PhotoLibrary extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - getPhotoURL(photo: string | LibraryItem, options?: any): Promise { return; } + getPhotoURL(photo: string | LibraryItem, options?: any): Promise { + return; + } /** * Returns thumbnail as Blob. @@ -163,7 +147,9 @@ export class PhotoLibrary extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - getThumbnail(photo: string | LibraryItem, options?: GetThumbnailOptions): Promise { return; } + getThumbnail(photo: string | LibraryItem, options?: GetThumbnailOptions): Promise { + return; + } /** * Returns photo as Blob. @@ -175,7 +161,9 @@ export class PhotoLibrary extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - getPhoto(photo: string | LibraryItem, options?: any): Promise { return; } + getPhoto(photo: string | LibraryItem, options?: any): Promise { + return; + } /** * Saves image to specified album. Album will be created if not exists. @@ -189,7 +177,9 @@ export class PhotoLibrary extends IonicNativePlugin { successIndex: 2, errorIndex: 3 }) - saveImage(url: string, album: AlbumItem | string, options?: GetThumbnailOptions): Promise { return; } + saveImage(url: string, album: AlbumItem | string, options?: GetThumbnailOptions): Promise { + return; + } /** * Saves video to specified album. Album will be created if not exists. @@ -201,7 +191,9 @@ export class PhotoLibrary extends IonicNativePlugin { successIndex: 2, errorIndex: 3 }) - saveVideo(url: string, album: AlbumItem | string): Promise { return; } + saveVideo(url: string, album: AlbumItem | string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/photo-viewer/index.ts b/src/@ionic-native/plugins/photo-viewer/index.ts index 5c4481d05e..b01b7108c7 100644 --- a/src/@ionic-native/plugins/photo-viewer/index.ts +++ b/src/@ionic-native/plugins/photo-viewer/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface PhotoViewerOptions { /** @@ -39,6 +39,7 @@ export class PhotoViewer extends IonicNativePlugin { * @param title {string} * @param options {PhotoViewerOptions} */ - @Cordova({sync: true}) - show(url: string, title?: string, options?: PhotoViewerOptions): void { } + @Cordova({ sync: true }) + show(url: string, title?: string, options?: PhotoViewerOptions): void { + } } diff --git a/src/@ionic-native/plugins/pin-check/index.ts b/src/@ionic-native/plugins/pin-check/index.ts index 48b5098bce..83746c0929 100644 --- a/src/@ionic-native/plugins/pin-check/index.ts +++ b/src/@ionic-native/plugins/pin-check/index.ts @@ -1,8 +1,8 @@ -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** - * @name Pin Check + * @name Pin Check * @description * This plugin is for use with Apache Cordova and allows your application to check whether pin/keyguard or passcode is setup on iOS and Android phones. * @@ -34,7 +34,7 @@ import { Injectable } from '@angular/core'; @Injectable() export class PinCheck extends IonicNativePlugin { /** - * check whether pin/keyguard or passcode is setup + * check whether pin/keyguard or passcode is setup * @returns {Promise} */ @Cordova() diff --git a/src/@ionic-native/plugins/pin-dialog/index.ts b/src/@ionic-native/plugins/pin-dialog/index.ts index d93e4b9845..a2ebb138c4 100644 --- a/src/@ionic-native/plugins/pin-dialog/index.ts +++ b/src/@ionic-native/plugins/pin-dialog/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -44,6 +44,8 @@ export class PinDialog extends IonicNativePlugin { successIndex: 1, errorIndex: 4 // no error callback }) - prompt(message: string, title: string, buttons: string[]): Promise<{ buttonIndex: number, input1: string }> { return; } + prompt(message: string, title: string, buttons: string[]): Promise<{ buttonIndex: number, input1: string }> { + return; + } } diff --git a/src/@ionic-native/plugins/pinterest/index.ts b/src/@ionic-native/plugins/pinterest/index.ts index 7b6ffc8047..22d6566902 100644 --- a/src/@ionic-native/plugins/pinterest/index.ts +++ b/src/@ionic-native/plugins/pinterest/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, CordovaProperty, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface PinterestUser { /** @@ -182,7 +182,7 @@ export class Pinterest extends IonicNativePlugin { /** * Convenience constant for authentication scopes */ - @CordovaProperty + @CordovaProperty() SCOPES: { READ_PUBLIC: string; WRITE_PUBLIC: string; @@ -196,7 +196,9 @@ export class Pinterest extends IonicNativePlugin { * @returns {Promise} The response object will contain the user's profile data, as well as the access token (if you need to use it elsewhere, example: send it to your server and perform actions on behalf of the user). */ @Cordova() - login(scopes: string[]): Promise { return; } + login(scopes: string[]): Promise { + return; + } /** * Gets the authenticated user's profile @@ -206,7 +208,9 @@ export class Pinterest extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getMe(fields?: string): Promise { return; } + getMe(fields?: string): Promise { + return; + } /** * @@ -217,7 +221,9 @@ export class Pinterest extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getMyPins(fields?: string, limit?: number): Promise> { return; } + getMyPins(fields?: string, limit?: number): Promise> { + return; + } /** * @@ -228,7 +234,9 @@ export class Pinterest extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getMyBoards(fields?: string, limit?: number): Promise> { return; } + getMyBoards(fields?: string, limit?: number): Promise> { + return; + } /** * Get the authenticated user's likes. @@ -239,7 +247,9 @@ export class Pinterest extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getMyLikes(fields?: string, limit?: number): Promise> { return; } + getMyLikes(fields?: string, limit?: number): Promise> { + return; + } /** * Get the authenticated user's followers. @@ -250,7 +260,9 @@ export class Pinterest extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getMyFollowers(fields?: string, limit?: number): Promise> { return; } + getMyFollowers(fields?: string, limit?: number): Promise> { + return; + } /** * Get the authenticated user's followed boards. @@ -261,7 +273,9 @@ export class Pinterest extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getMyFollowedBoards(fields?: string, limit?: number): Promise> { return; } + getMyFollowedBoards(fields?: string, limit?: number): Promise> { + return; + } /** * Get the authenticated user's followed interests. @@ -272,7 +286,9 @@ export class Pinterest extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getMyFollowedInterests(fields?: string, limit?: number): Promise { return; } + getMyFollowedInterests(fields?: string, limit?: number): Promise { + return; + } /** * Get a user's profile. @@ -284,7 +300,9 @@ export class Pinterest extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - getUser(username: string, fields?: string): Promise { return; } + getUser(username: string, fields?: string): Promise { + return; + } /** * Get a board's data. @@ -296,7 +314,9 @@ export class Pinterest extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - getBoard(boardId: string, fields?: string): Promise { return; } + getBoard(boardId: string, fields?: string): Promise { + return; + } /** * Get Pins of a specific board. @@ -309,7 +329,9 @@ export class Pinterest extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - getBoardPins(boardId: string, fields?: string, limit?: number): Promise> { return; } + getBoardPins(boardId: string, fields?: string, limit?: number): Promise> { + return; + } /** * Delete a board. @@ -317,7 +339,9 @@ export class Pinterest extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - deleteBoard(boardId: string): Promise { return; } + deleteBoard(boardId: string): Promise { + return; + } /** * Create a new board for the authenticated user. @@ -329,7 +353,9 @@ export class Pinterest extends IonicNativePlugin { successIndex: 2, errorIndex: 3 }) - createBoard(name: string, desc?: string): Promise { return; } + createBoard(name: string, desc?: string): Promise { + return; + } /** * Get a Pin by ID. @@ -341,7 +367,9 @@ export class Pinterest extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - getPin(pinId: string, fields?: string): Promise { return; } + getPin(pinId: string, fields?: string): Promise { + return; + } /** * Deletes a pin @@ -349,7 +377,9 @@ export class Pinterest extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - deletePin(pinId: string): Promise { return; } + deletePin(pinId: string): Promise { + return; + } /** * Creates a Pin @@ -363,6 +393,8 @@ export class Pinterest extends IonicNativePlugin { successIndex: 4, errorIndex: 5 }) - createPin(note: string, boardId: string, imageUrl: string, link?: string): Promise { return; } + createPin(note: string, boardId: string, imageUrl: string, link?: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/power-management/index.ts b/src/@ionic-native/plugins/power-management/index.ts index ecd86188e1..a429c9318b 100644 --- a/src/@ionic-native/plugins/power-management/index.ts +++ b/src/@ionic-native/plugins/power-management/index.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; + /** * @name Power Management * @description @@ -34,21 +35,27 @@ export class PowerManagement extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - acquire(): Promise { return; } + acquire(): Promise { + return; + } /** * This acquires a partial wakelock, allowing the screen to be dimmed. * @returns {Promise} */ @Cordova() - dim(): Promise { return; } + dim(): Promise { + return; + } /** * Release the wakelock. It's important to do this when you're finished with the wakelock, to avoid unnecessary battery drain. * @returns {Promise} */ @Cordova() - release(): Promise { return; } + release(): Promise { + return; + } /** * By default, the plugin will automatically release a wakelock when your app is paused (e.g. when the screen is turned off, or the user switches to another app). @@ -57,5 +64,7 @@ export class PowerManagement extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - setReleaseOnPause(set: boolean): Promise { return; } + setReleaseOnPause(set: boolean): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/printer/index.ts b/src/@ionic-native/plugins/printer/index.ts index 4598ce9098..b978f1396b 100644 --- a/src/@ionic-native/plugins/printer/index.ts +++ b/src/@ionic-native/plugins/printer/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, CordovaCheck, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaCheck, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface PrintOptions { /** @@ -58,7 +58,7 @@ export interface PrintOptions { * duplex: true, * landscape: true, * grayscale: true - * }; + * } * * this.printer.print(content, options).then(onSuccess, onError); * ``` @@ -103,7 +103,9 @@ export class Printer extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - pick(): Promise { return; } + pick(): Promise { + return; + } /** * Sends content to the printer. @@ -115,6 +117,8 @@ export class Printer extends IonicNativePlugin { successIndex: 2, errorIndex: 4 }) - print(content: string | HTMLElement, options?: PrintOptions): Promise { return; } + print(content: string | HTMLElement, options?: PrintOptions): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/pro/index.ts b/src/@ionic-native/plugins/pro/index.ts index 1475c86b64..5175b21dd8 100644 --- a/src/@ionic-native/plugins/pro/index.ts +++ b/src/@ionic-native/plugins/pro/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, CordovaInstance, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaInstance, IonicNativePlugin, Plugin, CordovaCheck } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; /** @@ -36,14 +36,17 @@ export interface DeployConfig { */ export class ProDeploy { - constructor(private _objectInstance: any) { } + constructor(private _objectInstance: any) { + } /** * Re-initialize Deploy plugin with a new App ID and host. Not used in most cases. * @param config A valid Deploy config object */ @CordovaInstance() - init(config: DeployConfig): Promise { return; } + init(config: DeployConfig): Promise { + return; + } /** * Check a channel for an available update @@ -52,7 +55,9 @@ export class ProDeploy { @CordovaInstance({ observable: true }) - check(): Promise { return; } + check(): Promise { + return; + } /** * Download an available version @@ -61,40 +66,52 @@ export class ProDeploy { @CordovaInstance({ observable: true }) - download(): Observable { return; } + download(): Observable { + return; + } /** * Unzip the latest downloaded version * @return {Observable} Updates with percent completion, or errors with a message. */ @CordovaInstance() - extract(): Observable { return; } + extract(): Observable { + return; + } /** * Reload app with the deployed version */ @CordovaInstance() - redirect(): Promise { return; } + redirect(): Promise { + return; + } /** * Get info about the version running on the device * @return {Promise} Information about the current version running on the app. */ @CordovaInstance() - info(): Promise { return; } + info(): Promise { + return; + } /** * List versions stored on the device */ @CordovaInstance() - getVersions(): Promise { return; } + getVersions(): Promise { + return; + } /** * Delete a version stored on the device by UUID * @param version A version UUID */ @CordovaInstance() - deleteVersion(version: string): Promise { return; } + deleteVersion(version: string): Promise { + return; + } } /** @@ -108,17 +125,17 @@ export class ProDeploy { * * * constructor(private pro: Pro) { } - * + * * // Get app info * this.pro.getAppInfo().then((res: AppInfo) => { * console.log(res) * }) - * + * * // Get live update info * this.pro.deploy.info().then((res: DeployInfo) => { * console.log(res) * }) - * ``` + * ``` */ @Plugin({ pluginName: 'Pro', @@ -130,44 +147,60 @@ export class ProDeploy { }) @Injectable() export class Pro extends IonicNativePlugin { + _deploy: ProDeploy; + /** * Ionic Pro Deploy .js API. */ - deploy: ProDeploy = new ProDeploy(Pro.getPlugin().deploy); + @CordovaCheck() + deploy(): ProDeploy { + if (this._deploy) return this._deploy; + else return this._deploy = new ProDeploy(Pro.getPlugin().deploy); + } /** * Not yet implemented * @return {Promise} Returns a promise that resolves when something happens */ @Cordova() - enableCrashLogging(): Promise { return; } + enableCrashLogging(): Promise { + return; + } /** * Not yet implemented * @return {Promise} Returns a promise that resolves when something happens */ @Cordova() - checkForPendingCrash(): Promise { return; } + checkForPendingCrash(): Promise { + return; + } /** * Not yet implemented * @return {Promise} Returns a promise that resolves when something happens */ @Cordova() - loadPendingCrash(): Promise { return; } + loadPendingCrash(): Promise { + return; + } /** * Not yet implemented * @return {Promise} Returns a promise that resolves when something happens */ @Cordova() - forceCrash(): Promise { return; } + forceCrash(): Promise { + return; + } /** * Get information about the currently running app * @return {Promise} Returns a promise that resolves with current app info */ @Cordova() - getAppInfo(): Promise { return; } + getAppInfo(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/push/index.ts b/src/@ionic-native/plugins/push/index.ts index b32cd06cca..cb7d6d3a3e 100644 --- a/src/@ionic-native/plugins/push/index.ts +++ b/src/@ionic-native/plugins/push/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, CordovaInstance, checkAvailability, IonicNativePlugin } from '@ionic-native/core'; +import { checkAvailability, Cordova, CordovaInstance, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; declare const window: any; @@ -49,8 +49,6 @@ export interface NotificationEventResponse { * so that he could specify any custom code without having to use array notation (map['prop']) for all of them. */ export interface NotificationEventAdditionalData { - [name: string]: any; - /** * Whether the notification was received while the app was in the foreground */ @@ -59,6 +57,8 @@ export interface NotificationEventAdditionalData { coldstart?: boolean; from?: string; notId?: string; + + [name: string]: any; } export interface IOSPushOptions { @@ -200,7 +200,7 @@ export interface BrowserPushOptions { /** * URL for the push server you want to use. - * Default: http://push.api.phonegap.com/v1/push Optional. + * Default: http://push.api.phonegap.com/v1/push Optional. */ pushServiceURL?: string; @@ -280,7 +280,7 @@ export type PushEvent = string; * browser: { * pushServiceURL: 'http://push.api.phonegap.com/v1/push' * } - * }; + * } * * const pushObject: PushObject = this.push.init(options); * @@ -328,28 +328,36 @@ export class Push extends IonicNativePlugin { * @return {Promise<{isEnabled: boolean}>} Returns a Promise that resolves with an object with one property: isEnabled, a boolean that indicates if permission has been granted. */ @Cordova() - hasPermission(): Promise<{ isEnabled: boolean }> { return; } + hasPermission(): Promise<{ isEnabled: boolean }> { + return; + } /** * Create a new notification channel for Android O and above. * @param channel {Channel} */ @Cordova() - createChannel(channel: Channel): Promise { return; } + createChannel(channel: Channel): Promise { + return; + } /** * Delete a notification channel for Android O and above. * @param id */ @Cordova() - deleteChannel(id: string): Promise { return; } + deleteChannel(id: string): Promise { + return; + } /** * Returns a list of currently configured channels. * @return {Promise} */ @Cordova() - listChannels(): Promise { return; } + listChannels(): Promise { + return; + } } @@ -381,7 +389,9 @@ export class PushObject { clearFunction: 'off', clearWithArgs: true }) - on(event: PushEvent): Observable { return; } + on(event: PushEvent): Observable { + return; + } /** * The unregister method is used when the application no longer wants to receive push notifications. @@ -389,7 +399,9 @@ export class PushObject { * so you will need to re-register them if you want them to function again without an application reload. */ @CordovaInstance() - unregister(): Promise { return; } + unregister(): Promise { + return; + } /** * Set the badge count visible when the app is not running @@ -402,13 +414,18 @@ export class PushObject { @CordovaInstance({ callbackOrder: 'reverse' }) - setApplicationIconBadgeNumber(count?: number): Promise { return; }; + setApplicationIconBadgeNumber(count?: number): Promise { + return; + } + /** * Get the current badge count visible when the app is not running * successHandler gets called with an integer which is the current badge count */ @CordovaInstance() - getApplicationIconBadgeNumber(): Promise { return; } + getApplicationIconBadgeNumber(): Promise { + return; + } /** * iOS only @@ -417,13 +434,17 @@ export class PushObject { * @param id */ @CordovaInstance() - finish(id?: string): Promise { return; } + finish(id?: string): Promise { + return; + } /** * Tells the OS to clear all notifications from the Notification Center */ @CordovaInstance() - clearAllNotifications(): Promise { return; } + clearAllNotifications(): Promise { + return; + } /** * The subscribe method is used when the application wants to subscribe a new topic to receive push notifications. @@ -431,7 +452,9 @@ export class PushObject { * @return {Promise} */ @CordovaInstance() - subscribe(topic: string): Promise { return; } + subscribe(topic: string): Promise { + return; + } /** * The unsubscribe method is used when the application no longer wants to receive push notifications from a specific topic but continue to receive other push messages. @@ -439,6 +462,8 @@ export class PushObject { * @return {Promise} */ @CordovaInstance() - unsubscribe(topic: string): Promise { return; } + unsubscribe(topic: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/qqsdk/index.ts b/src/@ionic-native/plugins/qqsdk/index.ts index 11cf5dacec..236d60b3f4 100644 --- a/src/@ionic-native/plugins/qqsdk/index.ts +++ b/src/@ionic-native/plugins/qqsdk/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; export interface QQShareOptions { @@ -74,17 +74,17 @@ export interface QQShareOptions { * image: 'https://cordova.apache.org/static/img/cordova_bot.png', * description: 'This is Cordova QQ share description', * flashUrl: 'http://stream20.qqmusic.qq.com/30577158.mp3', - * }; + * } * * const clientOptions: QQShareOptions = { * client: this.qq.ClientType.QQ, - * }; + * } * * const shareTextOptions: QQShareOptions = { * client: this.qq.ClientType.QQ, * text: 'This is Share Text', * scene: this.qq.Scene.QQ, - * }; + * } * * this.qq.ssoLogin(clientOptions) * .then(result => { diff --git a/src/@ionic-native/plugins/qr-scanner/index.ts b/src/@ionic-native/plugins/qr-scanner/index.ts index da96e1ea47..5479a9dc2f 100644 --- a/src/@ionic-native/plugins/qr-scanner/index.ts +++ b/src/@ionic-native/plugins/qr-scanner/index.ts @@ -1,4 +1,4 @@ -import { Plugin, IonicNativePlugin, Cordova } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs/Observable'; @@ -123,7 +123,9 @@ export class QRScanner extends IonicNativePlugin { @Cordova({ callbackStyle: 'node' }) - prepare(): Promise { return; } + prepare(): Promise { + return; + } /** * Call this method to enable scanning. You must then call the `show` method to make the camera preview visible. @@ -134,21 +136,27 @@ export class QRScanner extends IonicNativePlugin { observable: true, clearFunction: 'cancelScan' }) - scan(): Observable { return; } + scan(): Observable { + return; + } /** * Configures the native webview to have a transparent background, then sets the background of the and DOM elements to transparent, allowing the webview to re-render with the transparent background. * @returns {Promise} */ @Cordova() - show(): Promise { return; } + show(): Promise { + return; + } /** * Configures the native webview to be opaque with a white background, covering the video preview. * @returns {Promise} */ @Cordova() - hide(): Promise { return; } + hide(): Promise { + return; + } /** * Enable the device's light (for scanning in low-light environments). @@ -157,14 +165,18 @@ export class QRScanner extends IonicNativePlugin { @Cordova({ callbackStyle: 'node' }) - enableLight(): Promise { return; } + enableLight(): Promise { + return; + } /** * Destroy the scanner instance. * @returns {Promise} */ @Cordova() - destroy(): Promise { return; } + destroy(): Promise { + return; + } /** * Disable the device's light. @@ -173,7 +185,9 @@ export class QRScanner extends IonicNativePlugin { @Cordova({ callbackStyle: 'node' }) - disableLight(): Promise { return; } + disableLight(): Promise { + return; + } /** * Use front camera @@ -182,7 +196,9 @@ export class QRScanner extends IonicNativePlugin { @Cordova({ callbackStyle: 'node' }) - useFrontCamera(): Promise { return; } + useFrontCamera(): Promise { + return; + } /** * Use back camera @@ -191,7 +207,9 @@ export class QRScanner extends IonicNativePlugin { @Cordova({ callbackStyle: 'node' }) - useBackCamera(): Promise { return; } + useBackCamera(): Promise { + return; + } /** * Set camera to be used. @@ -201,28 +219,36 @@ export class QRScanner extends IonicNativePlugin { @Cordova({ callbackStyle: 'node' }) - useCamera(camera: number): Promise { return; } + useCamera(camera: number): Promise { + return; + } /** * Pauses the video preview on the current frame and pauses scanning. * @return {Promise} */ @Cordova() - pausePreview(): Promise { return; } + pausePreview(): Promise { + return; + } /** * Resumse the video preview and resumes scanning. * @return {Promise} */ @Cordova() - resumePreview(): Promise { return; } + resumePreview(): Promise { + return; + } /** * Returns permission status * @return {Promise} */ @Cordova() - getStatus(): Promise { return; } + getStatus(): Promise { + return; + } /** * Opens settings to edit app permissions. @@ -230,6 +256,7 @@ export class QRScanner extends IonicNativePlugin { @Cordova({ sync: true }) - openSettings(): void {} + openSettings(): void { + } } diff --git a/src/@ionic-native/plugins/regula-document-reader/index.ts b/src/@ionic-native/plugins/regula-document-reader/index.ts index 1628b8f9ee..1ff64fe1a2 100644 --- a/src/@ionic-native/plugins/regula-document-reader/index.ts +++ b/src/@ionic-native/plugins/regula-document-reader/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @paid @@ -35,12 +35,15 @@ export class RegulaDocumentReader extends IonicNativePlugin { * @param license {any} License data */ @Cordova() - initReader(license: any): void {} + initReader(license: any): void { + } /** * Run the scanner * @return {Promise} Returns a promise that resolves when results was got, and fails when not */ @Cordova() - scanDocument(): Promise { return; } + scanDocument(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/rollbar/index.ts b/src/@ionic-native/plugins/rollbar/index.ts index 65f8172dbc..a6533c5fef 100644 --- a/src/@ionic-native/plugins/rollbar/index.ts +++ b/src/@ionic-native/plugins/rollbar/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @beta @@ -36,6 +36,8 @@ export class Rollbar extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when the plugin successfully initializes */ @Cordova() - init(): Promise { return; } + init(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/safari-view-controller/index.ts b/src/@ionic-native/plugins/safari-view-controller/index.ts index a4eba210c4..f84f707747 100644 --- a/src/@ionic-native/plugins/safari-view-controller/index.ts +++ b/src/@ionic-native/plugins/safari-view-controller/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface SafariViewControllerOptions { @@ -70,7 +70,9 @@ export class SafariViewController extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - isAvailable(): Promise { return; } + isAvailable(): Promise { + return; + } /** * Shows Safari View Controller @@ -82,27 +84,35 @@ export class SafariViewController extends IonicNativePlugin { errorIndex: 2, observable: true }) - show(options?: SafariViewControllerOptions): Observable { return; } + show(options?: SafariViewControllerOptions): Observable { + return; + } /** * Hides Safari View Controller */ @Cordova() - hide(): Promise { return; } + hide(): Promise { + return; + } /** * Tries to connect to the Chrome's custom tabs service. you must call this method before calling any of the other methods listed below. * @returns {Promise} */ @Cordova() - connectToService(): Promise { return; } + connectToService(): Promise { + return; + } /** * Call this method whenever there's a chance the user will open an external url. * @returns {Promise} */ @Cordova() - warmUp(): Promise { return; } + warmUp(): Promise { + return; + } /** * For even better performance optimization, call this methods if there's more than a 50% chance the user will open a certain URL. @@ -110,6 +120,8 @@ export class SafariViewController extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - mayLaunchUrl(url: string): Promise { return; } + mayLaunchUrl(url: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/screen-orientation/index.ts b/src/@ionic-native/plugins/screen-orientation/index.ts index 1dd252677f..0a5603f0e8 100644 --- a/src/@ionic-native/plugins/screen-orientation/index.ts +++ b/src/@ionic-native/plugins/screen-orientation/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, CordovaProperty, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; /** @@ -35,7 +35,7 @@ import { Observable } from 'rxjs/Observable'; * ); * * ``` - * + * * @advanced * * Accepted orientation values: @@ -72,6 +72,11 @@ export class ScreenOrientation extends IonicNativePlugin { LANDSCAPE: 'landscape', ANY: 'any' }; + /** + * Get the current orientation of the device. + */ + @CordovaProperty() + type: string; /** * Listen to orientation change event @@ -81,7 +86,9 @@ export class ScreenOrientation extends IonicNativePlugin { eventObservable: true, event: 'orientationchange' }) - onChange(): Observable { return; } + onChange(): Observable { + return; + } /** * Lock the orientation to the passed value. @@ -90,18 +97,15 @@ export class ScreenOrientation extends IonicNativePlugin { * @return {Promise} */ @Cordova({ otherPromise: true }) - lock(orientation: string): Promise { return; } + lock(orientation: string): Promise { + return; + } /** * Unlock and allow all orientations. */ @Cordova({ sync: true }) - unlock(): void { } - - /** - * Get the current orientation of the device. - */ - @CordovaProperty - type: string; + unlock(): void { + } } diff --git a/src/@ionic-native/plugins/screenshot/index.ts b/src/@ionic-native/plugins/screenshot/index.ts index cd0107492a..c874463cd9 100644 --- a/src/@ionic-native/plugins/screenshot/index.ts +++ b/src/@ionic-native/plugins/screenshot/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { IonicNativePlugin, Plugin } from '@ionic-native/core'; declare const navigator: any; diff --git a/src/@ionic-native/plugins/secure-storage/index.ts b/src/@ionic-native/plugins/secure-storage/index.ts index 7c1d9fb180..6c99cb50f7 100644 --- a/src/@ionic-native/plugins/secure-storage/index.ts +++ b/src/@ionic-native/plugins/secure-storage/index.ts @@ -1,12 +1,13 @@ import { Injectable } from '@angular/core'; -import { CordovaInstance, Plugin, CordovaCheck, IonicNativePlugin } from '@ionic-native/core'; +import { CordovaCheck, CordovaInstance, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @hidden */ export class SecureStorageObject { - constructor(private _objectInstance: any) { } + constructor(private _objectInstance: any) { + } /** * Gets a stored item @@ -16,7 +17,9 @@ export class SecureStorageObject { @CordovaInstance({ callbackOrder: 'reverse' }) - get(key: string): Promise { return; } + get(key: string): Promise { + return; + } /** * Stores a value @@ -27,7 +30,9 @@ export class SecureStorageObject { @CordovaInstance({ callbackOrder: 'reverse' }) - set(key: string, value: string): Promise { return; } + set(key: string, value: string): Promise { + return; + } /** * Removes a single stored item @@ -37,7 +42,9 @@ export class SecureStorageObject { @CordovaInstance({ callbackOrder: 'reverse' }) - remove(key: string): Promise { return; } + remove(key: string): Promise { + return; + } /** * Get all references from the storage. @@ -46,7 +53,9 @@ export class SecureStorageObject { @CordovaInstance({ callbackOrder: 'reverse' }) - keys(): Promise { return; } + keys(): Promise { + return; + } /** * Clear all references from the storage. @@ -55,14 +64,18 @@ export class SecureStorageObject { @CordovaInstance({ callbackOrder: 'reverse' }) - clear(): Promise { return; } + clear(): Promise { + return; + } /** * Brings up the screen-lock settings * @returns {Promise} */ @CordovaInstance() - secureDevice(): Promise { return; } + secureDevice(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/serial/index.ts b/src/@ionic-native/plugins/serial/index.ts index 3c63fd9d05..bdc6507bc6 100644 --- a/src/@ionic-native/plugins/serial/index.ts +++ b/src/@ionic-native/plugins/serial/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; declare var serial: any; @@ -69,7 +69,9 @@ export class Serial extends IonicNativePlugin { successIndex: 1, errorIndex: 2 }) - requestPermission(options?: SerialPermissionOptions): Promise { return; } + requestPermission(options?: SerialPermissionOptions): Promise { + return; + } /** * Open connection to a serial device @@ -78,7 +80,9 @@ export class Serial extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when the serial connection is opened */ @Cordova() - open(options: SerialOpenOptions): Promise { return; } + open(options: SerialOpenOptions): Promise { + return; + } /** * Write to a serial connection @@ -87,7 +91,9 @@ export class Serial extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when the write is complete */ @Cordova() - write(data: any): Promise { return; } + write(data: any): Promise { + return; + } /** * Write hex to a serial connection @@ -96,7 +102,9 @@ export class Serial extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when the write is complete */ @Cordova() - writeHex(data: any): Promise { return; } + writeHex(data: any): Promise { + return; + } /** * Read from a serial connection @@ -104,7 +112,9 @@ export class Serial extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves with data read from the serial connection */ @Cordova() - read(): Promise { return; } + read(): Promise { + return; + } /** * Watch the incoming data from the serial connection. Clear the watch by unsubscribing from the observable @@ -114,7 +124,9 @@ export class Serial extends IonicNativePlugin { @Cordova({ observable: true }) - registerReadCallback(): Observable { return; } + registerReadCallback(): Observable { + return; + } /** * Close the serial connection @@ -122,6 +134,8 @@ export class Serial extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when the serial connection is closed */ @Cordova() - close(): Promise { return; } + close(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/shake/index.ts b/src/@ionic-native/plugins/shake/index.ts index 9c731ecd0c..8202cbd1ef 100644 --- a/src/@ionic-native/plugins/shake/index.ts +++ b/src/@ionic-native/plugins/shake/index.ts @@ -1,6 +1,7 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; + /** * @name Shake * @description Handles shake gesture @@ -39,6 +40,8 @@ export class Shake extends IonicNativePlugin { successIndex: 0, errorIndex: 2 }) - startWatch(sensitivity?: number): Observable { return; } + startWatch(sensitivity?: number): Observable { + return; + } } diff --git a/src/@ionic-native/plugins/sim/index.ts b/src/@ionic-native/plugins/sim/index.ts index 4e7f97f153..1ecae7fef6 100644 --- a/src/@ionic-native/plugins/sim/index.ts +++ b/src/@ionic-native/plugins/sim/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -47,7 +47,9 @@ export class Sim extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - getSimInfo(): Promise { return; } + getSimInfo(): Promise { + return; + } /** * Check permission @@ -56,7 +58,9 @@ export class Sim extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - hasReadPermission(): Promise { return; } + hasReadPermission(): Promise { + return; + } /** * Request permission @@ -65,5 +69,7 @@ export class Sim extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - requestReadPermission(): Promise { return; } + requestReadPermission(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/sms/index.ts b/src/@ionic-native/plugins/sms/index.ts index eb147542b8..5a2f10beaa 100644 --- a/src/@ionic-native/plugins/sms/index.ts +++ b/src/@ionic-native/plugins/sms/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -69,11 +69,11 @@ export class SMS extends IonicNativePlugin { successIndex: 3, errorIndex: 4 }) - send( - phoneNumber: string | string[], - message: string, - options?: SmsOptions - ): Promise { return; } + send(phoneNumber: string | string[], + message: string, + options?: SmsOptions): Promise { + return; + } /** * This function lets you know if the app has permission to send SMS @@ -82,6 +82,8 @@ export class SMS extends IonicNativePlugin { @Cordova({ platforms: ['Android'] }) - hasPermission(): Promise { return; } + hasPermission(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/social-sharing/index.ts b/src/@ionic-native/plugins/social-sharing/index.ts index f9665a9a97..082aa363c3 100644 --- a/src/@ionic-native/plugins/social-sharing/index.ts +++ b/src/@ionic-native/plugins/social-sharing/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -53,7 +53,9 @@ export class SocialSharing extends IonicNativePlugin { successIndex: 4, errorIndex: 5 }) - share(message?: string, subject?: string, file?: string | string[], url?: string): Promise { return; } + share(message?: string, subject?: string, file?: string | string[], url?: string): Promise { + return; + } /** * Shares using the share sheet with additional options and returns a result object or an error message (requires plugin version 5.1.0+) @@ -63,7 +65,9 @@ export class SocialSharing extends IonicNativePlugin { @Cordova({ platforms: ['iOS', 'Android'] }) - shareWithOptions(options: { message?: string, subject?: string, files?: string | string[], url?: string, chooserTitle?: string }): Promise { return; } + shareWithOptions(options: { message?: string, subject?: string, files?: string | string[], url?: string, chooserTitle?: string }): Promise { + return; + } /** * Checks if you can share via a specific app. @@ -79,7 +83,9 @@ export class SocialSharing extends IonicNativePlugin { errorIndex: 6, platforms: ['iOS', 'Android'] }) - canShareVia(appName: string, message?: string, subject?: string, image?: string, url?: string): Promise { return; } + canShareVia(appName: string, message?: string, subject?: string, image?: string, url?: string): Promise { + return; + } /** * Shares directly to Twitter @@ -93,7 +99,9 @@ export class SocialSharing extends IonicNativePlugin { errorIndex: 4, platforms: ['iOS', 'Android'] }) - shareViaTwitter(message: string, image?: string, url?: string): Promise { return; } + shareViaTwitter(message: string, image?: string, url?: string): Promise { + return; + } /** * Shares directly to Facebook @@ -107,7 +115,9 @@ export class SocialSharing extends IonicNativePlugin { errorIndex: 4, platforms: ['iOS', 'Android'] }) - shareViaFacebook(message: string, image?: string, url?: string): Promise { return; } + shareViaFacebook(message: string, image?: string, url?: string): Promise { + return; + } /** @@ -123,7 +133,9 @@ export class SocialSharing extends IonicNativePlugin { errorIndex: 5, platforms: ['iOS', 'Android'] }) - shareViaFacebookWithPasteMessageHint(message: string, image?: string, url?: string, pasteMessageHint?: string): Promise { return; } + shareViaFacebookWithPasteMessageHint(message: string, image?: string, url?: string, pasteMessageHint?: string): Promise { + return; + } /** * Shares directly to Instagram @@ -134,7 +146,9 @@ export class SocialSharing extends IonicNativePlugin { @Cordova({ platforms: ['iOS', 'Android'] }) - shareViaInstagram(message: string, image: string): Promise { return; } + shareViaInstagram(message: string, image: string): Promise { + return; + } /** * Shares directly to WhatsApp @@ -148,7 +162,9 @@ export class SocialSharing extends IonicNativePlugin { errorIndex: 4, platforms: ['iOS', 'Android'] }) - shareViaWhatsApp(message: string, image?: string, url?: string): Promise { return; } + shareViaWhatsApp(message: string, image?: string, url?: string): Promise { + return; + } /** * Shares directly to a WhatsApp Contact @@ -163,7 +179,9 @@ export class SocialSharing extends IonicNativePlugin { errorIndex: 5, platforms: ['iOS', 'Android'] }) - shareViaWhatsAppToReceiver(receiver: string, message: string, image?: string, url?: string): Promise { return; } + shareViaWhatsAppToReceiver(receiver: string, message: string, image?: string, url?: string): Promise { + return; + } /** * Share via SMS @@ -174,7 +192,9 @@ export class SocialSharing extends IonicNativePlugin { @Cordova({ platforms: ['iOS', 'Android'] }) - shareViaSMS(messge: string, phoneNumber: string): Promise { return; } + shareViaSMS(messge: string, phoneNumber: string): Promise { + return; + } /** * Checks if you can share via email @@ -183,7 +203,9 @@ export class SocialSharing extends IonicNativePlugin { @Cordova({ platforms: ['iOS', 'Android'] }) - canShareViaEmail(): Promise { return; } + canShareViaEmail(): Promise { + return; + } /** * Share via Email @@ -200,7 +222,9 @@ export class SocialSharing extends IonicNativePlugin { successIndex: 6, errorIndex: 7 }) - shareViaEmail(message: string, subject: string, to: string[], cc?: string[], bcc?: string[], files?: string | string[]): Promise { return; } + shareViaEmail(message: string, subject: string, to: string[], cc?: string[], bcc?: string[], files?: string | string[]): Promise { + return; + } /** * Share via AppName @@ -216,7 +240,9 @@ export class SocialSharing extends IonicNativePlugin { errorIndex: 6, platforms: ['iOS', 'Android'] }) - shareVia(appName: string, message: string, subject?: string, image?: string, url?: string): Promise { return; } + shareVia(appName: string, message: string, subject?: string, image?: string, url?: string): Promise { + return; + } /** * defines the popup position before call the share method. @@ -226,5 +252,6 @@ export class SocialSharing extends IonicNativePlugin { sync: true, platforms: ['iOS'] }) - setIPadPopupCoordinates(targetBounds: string): void { } + setIPadPopupCoordinates(targetBounds: string): void { + } } diff --git a/src/@ionic-native/plugins/speech-recognition/index.ts b/src/@ionic-native/plugins/speech-recognition/index.ts index e3e2657964..07356cd1e0 100644 --- a/src/@ionic-native/plugins/speech-recognition/index.ts +++ b/src/@ionic-native/plugins/speech-recognition/index.ts @@ -1,8 +1,10 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; -export type SpeechRecognitionListeningOptions = SpeechRecognitionListeningOptionsIOS | SpeechRecognitionListeningOptionsAndroid; +export type SpeechRecognitionListeningOptions = + SpeechRecognitionListeningOptionsIOS + | SpeechRecognitionListeningOptionsAndroid; export interface SpeechRecognitionListeningOptionsIOS { /** diff --git a/src/@ionic-native/plugins/spinner-dialog/index.ts b/src/@ionic-native/plugins/spinner-dialog/index.ts index 25905669fa..fc3295c91a 100644 --- a/src/@ionic-native/plugins/spinner-dialog/index.ts +++ b/src/@ionic-native/plugins/spinner-dialog/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface SpinnerDialogIOSOptions { overlayOpacity?: number; @@ -46,7 +46,8 @@ export class SpinnerDialog extends IonicNativePlugin { @Cordova({ sync: true }) - show(title?: string, message?: string, cancelCallback?: any, iOSOptions?: SpinnerDialogIOSOptions): void { } + show(title?: string, message?: string, cancelCallback?: any, iOSOptions?: SpinnerDialogIOSOptions): void { + } /** * Hides the spinner dialog if visible @@ -54,6 +55,7 @@ export class SpinnerDialog extends IonicNativePlugin { @Cordova({ sync: true }) - hide(): void { } + hide(): void { + } } diff --git a/src/@ionic-native/plugins/splash-screen/index.ts b/src/@ionic-native/plugins/splash-screen/index.ts index 94a2d18f57..2a864a17cb 100644 --- a/src/@ionic-native/plugins/splash-screen/index.ts +++ b/src/@ionic-native/plugins/splash-screen/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -34,7 +34,8 @@ export class SplashScreen extends IonicNativePlugin { @Cordova({ sync: true }) - show(): void { } + show(): void { + } /** * Hides the splashscreen @@ -42,6 +43,7 @@ export class SplashScreen extends IonicNativePlugin { @Cordova({ sync: true }) - hide(): void { } + hide(): void { + } } diff --git a/src/@ionic-native/plugins/sqlite-porter/index.ts b/src/@ionic-native/plugins/sqlite-porter/index.ts index b4e4b3ef0d..6b4993858e 100644 --- a/src/@ionic-native/plugins/sqlite-porter/index.ts +++ b/src/@ionic-native/plugins/sqlite-porter/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -59,7 +59,9 @@ export class SQLitePorter extends IonicNativePlugin { successName: 'successFn', errorName: 'errorFn' }) - importSqlToDb(db: any, sql: string): Promise { return; } + importSqlToDb(db: any, sql: string): Promise { + return; + } /** * Exports a SQLite DB as a set of SQL statements. @@ -71,7 +73,9 @@ export class SQLitePorter extends IonicNativePlugin { successName: 'successFn', errorName: 'errorFn' }) - exportDbToSql(db: any): Promise { return; } + exportDbToSql(db: any): Promise { + return; + } /** * Converts table structure and/or row data contained within a JSON structure into SQL statements that can be executed against a SQLite database. Can be used to import data into the database and/or create the table structure. @@ -84,7 +88,9 @@ export class SQLitePorter extends IonicNativePlugin { successName: 'successFn', errorName: 'errorFn' }) - importJsonToDb(db: any, json: any): Promise { return; } + importJsonToDb(db: any, json: any): Promise { + return; + } /** * Exports a SQLite DB as a JSON structure @@ -96,7 +102,9 @@ export class SQLitePorter extends IonicNativePlugin { successName: 'successFn', errorName: 'errorFn' }) - exportDbToJson(db: any): Promise { return; } + exportDbToJson(db: any): Promise { + return; + } /** * Wipes all data from a database by dropping all existing tables @@ -108,6 +116,8 @@ export class SQLitePorter extends IonicNativePlugin { successName: 'successFn', errorName: 'errorFn' }) - wipeDb(db: any): Promise { return; } + wipeDb(db: any): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/sqlite/index.ts b/src/@ionic-native/plugins/sqlite/index.ts index 82d814fd4b..588391962f 100644 --- a/src/@ionic-native/plugins/sqlite/index.ts +++ b/src/@ionic-native/plugins/sqlite/index.ts @@ -1,5 +1,12 @@ import { Injectable } from '@angular/core'; -import { Cordova, CordovaInstance, Plugin, CordovaCheck, InstanceProperty, IonicNativePlugin } from '@ionic-native/core'; +import { + Cordova, + CordovaCheck, + CordovaInstance, + InstanceProperty, + IonicNativePlugin, + Plugin +} from '@ionic-native/core'; declare const sqlitePlugin: any; @@ -17,8 +24,8 @@ export interface SQLiteDatabaseConfig { */ iosDatabaseLocation?: string; /** - * support opening pre-filled databases with https://github.com/litehelpers/cordova-sqlite-ext - */ + * support opening pre-filled databases with https://github.com/litehelpers/cordova-sqlite-ext + */ createFromLocation?: number; /** * support encrypted databases with https://github.com/litehelpers/Cordova-sqlcipher-adapter @@ -46,16 +53,17 @@ export interface SQLiteTransaction { */ export class SQLiteObject { - constructor(public _objectInstance: any) { } - - @InstanceProperty databaseFeatures: { isSQLitePluginDatabase: boolean }; + @InstanceProperty() databaseFeatures: { isSQLitePluginDatabase: boolean }; + @InstanceProperty() openDBs: any; - @InstanceProperty openDBs: any; + constructor(public _objectInstance: any) { + } @CordovaInstance({ sync: true }) - addTransaction(transaction: (tx: SQLiteTransaction) => void): void { } + addTransaction(transaction: (tx: SQLiteTransaction) => void): void { + } /** * @param fn {any} @@ -65,50 +73,64 @@ export class SQLiteObject { successIndex: 2, errorIndex: 1 }) - transaction(fn: any): Promise { return; } + transaction(fn: any): Promise { + return; + } /** * @param fn {Function} * @returns {Promise} */ @CordovaInstance() - readTransaction(fn: (tx: SQLiteTransaction) => void): Promise { return; } + readTransaction(fn: (tx: SQLiteTransaction) => void): Promise { + return; + } @CordovaInstance({ sync: true }) - startNextTransaction(): void { } + startNextTransaction(): void { + } /** * @returns {Promise} */ @CordovaInstance() - open(): Promise { return; } + open(): Promise { + return; + } /** * @returns {Promise} */ @CordovaInstance() - close(): Promise { return; } + close(): Promise { + return; + } /** * Execute SQL on the opened database. Note, you must call `create` first, and * ensure it resolved and successfully opened the database. */ @CordovaInstance() - executeSql(statement: string, params: any): Promise { return; } + executeSql(statement: string, params: any): Promise { + return; + } /** * @param sqlStatements {Array} * @returns {Promise} */ @CordovaInstance() - sqlBatch(sqlStatements: Array): Promise { return; } + sqlBatch(sqlStatements: Array): Promise { + return; + } @CordovaInstance({ sync: true }) - abortallPendingTransactions(): void { } + abortallPendingTransactions(): void { + } } @@ -180,7 +202,9 @@ export class SQLite extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - echoTest(): Promise { return; } + echoTest(): Promise { + return; + } /** * Deletes a database @@ -188,6 +212,8 @@ export class SQLite extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - deleteDatabase(config: SQLiteDatabaseConfig): Promise { return; } + deleteDatabase(config: SQLiteDatabaseConfig): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/status-bar/index.ts b/src/@ionic-native/plugins/status-bar/index.ts index 480421d23e..e2001dad11 100644 --- a/src/@ionic-native/plugins/status-bar/index.ts +++ b/src/@ionic-native/plugins/status-bar/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, CordovaProperty, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Status Bar @@ -33,6 +33,12 @@ import { Cordova, CordovaProperty, Plugin, IonicNativePlugin } from '@ionic-nati }) @Injectable() export class StatusBar extends IonicNativePlugin { + /** + * Whether the StatusBar is currently visible or not. + */ + @CordovaProperty() + isVisible: boolean; + /** * Set whether the status bar overlays the main app view. The default * is true. @@ -42,7 +48,8 @@ export class StatusBar extends IonicNativePlugin { @Cordova({ sync: true }) - overlaysWebView(doesOverlay: boolean) { }; + overlaysWebView(doesOverlay: boolean) { + } /** * Use the default statusbar (dark text, for light backgrounds). @@ -50,7 +57,8 @@ export class StatusBar extends IonicNativePlugin { @Cordova({ sync: true }) - styleDefault() { }; + styleDefault() { + } /** * Use the lightContent statusbar (light text, for dark backgrounds). @@ -58,7 +66,8 @@ export class StatusBar extends IonicNativePlugin { @Cordova({ sync: true }) - styleLightContent() { }; + styleLightContent() { + } /** * Use the blackTranslucent statusbar (light text, for dark backgrounds). @@ -66,7 +75,8 @@ export class StatusBar extends IonicNativePlugin { @Cordova({ sync: true }) - styleBlackTranslucent() { }; + styleBlackTranslucent() { + } /** * Use the blackOpaque statusbar (light text, for dark backgrounds). @@ -74,7 +84,8 @@ export class StatusBar extends IonicNativePlugin { @Cordova({ sync: true }) - styleBlackOpaque() { }; + styleBlackOpaque() { + } /** * Set the status bar to a specific named color. Valid options: @@ -87,7 +98,8 @@ export class StatusBar extends IonicNativePlugin { @Cordova({ sync: true }) - backgroundColorByName(colorName: string) { }; + backgroundColorByName(colorName: string) { + } /** * Set the status bar to a specific hex color (CSS shorthand supported!). @@ -99,7 +111,8 @@ export class StatusBar extends IonicNativePlugin { @Cordova({ sync: true }) - backgroundColorByHexString(hexString: string) { }; + backgroundColorByHexString(hexString: string) { + } /** * Hide the StatusBar @@ -107,20 +120,16 @@ export class StatusBar extends IonicNativePlugin { @Cordova({ sync: true }) - hide() { }; + hide() { + } /** - * Show the StatusBar - */ + * Show the StatusBar + */ @Cordova({ sync: true }) - show() { }; - - /** - * Whether the StatusBar is currently visible or not. - */ - @CordovaProperty - isVisible: boolean; + show() { + } } diff --git a/src/@ionic-native/plugins/stepcounter/index.ts b/src/@ionic-native/plugins/stepcounter/index.ts index a24ce38895..a8c1e3891d 100644 --- a/src/@ionic-native/plugins/stepcounter/index.ts +++ b/src/@ionic-native/plugins/stepcounter/index.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; + /** * @name Stepcounter * @description @@ -41,40 +42,52 @@ export class Stepcounter extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves on success or rejects on failure */ @Cordova() - start(startingOffset: number): Promise { return; } + start(startingOffset: number): Promise { + return; + } /** * Stop the step counter * @returns {Promise} Returns a Promise that resolves on success with the amount of steps since the start command has been called, or rejects on failure */ @Cordova() - stop(): Promise { return; } + stop(): Promise { + return; + } /** * Get the amount of steps for today (or -1 if it no data given) * @returns {Promise} Returns a Promise that resolves on success with the amount of steps today, or rejects on failure */ @Cordova() - getTodayStepCount(): Promise { return; } + getTodayStepCount(): Promise { + return; + } /** * Get the amount of steps since the start command has been called * @returns {Promise} Returns a Promise that resolves on success with the amount of steps since the start command has been called, or rejects on failure */ @Cordova() - getStepCount(): Promise { return; } + getStepCount(): Promise { + return; + } /** * Returns true/false if Android device is running >API level 19 && has the step counter API available * @returns {Promise} Returns a Promise that resolves on success, or rejects on failure */ @Cordova() - deviceCanCountSteps(): Promise { return; } + deviceCanCountSteps(): Promise { + return; + } /** * Get the step history (JavaScript object) * @returns {Promise} Returns a Promise that resolves on success, or rejects on failure */ @Cordova() - getHistory(): Promise { return; } + getHistory(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/streaming-media/index.ts b/src/@ionic-native/plugins/streaming-media/index.ts index 6fb18f53cf..7a5bdb349d 100644 --- a/src/@ionic-native/plugins/streaming-media/index.ts +++ b/src/@ionic-native/plugins/streaming-media/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface StreamingVideoOptions { successCallback?: Function; @@ -31,7 +31,7 @@ export interface StreamingAudioOptions { * successCallback: () => { console.log('Video played') }, * errorCallback: (e) => { console.log('Error streaming') }, * orientation: 'landscape' - * }; + * } * * this.streamingMedia.playVideo('https://path/to/video/stream', options); * @@ -55,7 +55,8 @@ export class StreamingMedia extends IonicNativePlugin { * @param options {StreamingVideoOptions} Options */ @Cordova({ sync: true }) - playVideo(videoUrl: string, options?: StreamingVideoOptions): void { } + playVideo(videoUrl: string, options?: StreamingVideoOptions): void { + } /** * Streams an audio @@ -63,24 +64,28 @@ export class StreamingMedia extends IonicNativePlugin { * @param options {StreamingAudioOptions} Options */ @Cordova({ sync: true }) - playAudio(audioUrl: string, options?: StreamingAudioOptions): void { } + playAudio(audioUrl: string, options?: StreamingAudioOptions): void { + } /** * Stops streaming audio */ @Cordova({ sync: true }) - stopAudio(): void { } + stopAudio(): void { + } /** * Pauses streaming audio */ @Cordova({ sync: true, platforms: ['iOS'] }) - pauseAudio(): void { } + pauseAudio(): void { + } /** * Resumes streaming audio */ @Cordova({ sync: true, platforms: ['iOS'] }) - resumeAudio(): void { } + resumeAudio(): void { + } } diff --git a/src/@ionic-native/plugins/stripe/index.ts b/src/@ionic-native/plugins/stripe/index.ts index 32eda51def..55514ab9a9 100644 --- a/src/@ionic-native/plugins/stripe/index.ts +++ b/src/@ionic-native/plugins/stripe/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface StripeCardTokenParams { /** @@ -80,28 +80,28 @@ export interface StripeBankAccountParams { } export interface StripeCardTokenRes { - /** - * Card Object. - */ - card: { - brand: string, - exp_month: number, - exp_year: number, - funding: string, - last4: string - }; - /** - * Token Request Date Time. - */ - created: string; - /** - * Card Token. - */ - id: string; - /** - * Source Type (card or account). - */ - type: string; + /** + * Card Object. + */ + card: { + brand: string, + exp_month: number, + exp_year: number, + funding: string, + last4: string + }; + /** + * Token Request Date Time. + */ + created: string; + /** + * Card Token. + */ + id: string; + /** + * Source Type (card or account). + */ + type: string; } /** @@ -124,7 +124,7 @@ export interface StripeCardTokenRes { * expMonth: 12, * expYear: 2020, * cvc: '220' - * }; + * } * * this.stripe.createCardToken(card) * .then(token => console.log(token.id)) @@ -151,7 +151,9 @@ export class Stripe extends IonicNativePlugin { * @return {Promise} */ @Cordova() - setPublishableKey(publishableKey: string): Promise { return; } + setPublishableKey(publishableKey: string): Promise { + return; + } /** * Create Credit Card Token @@ -159,7 +161,9 @@ export class Stripe extends IonicNativePlugin { * @return {Promise} returns a promise that resolves with the token object, or rejects with an error */ @Cordova() - createCardToken(params: StripeCardTokenParams): Promise { return; } + createCardToken(params: StripeCardTokenParams): Promise { + return; + } /** * Create a bank account token @@ -167,7 +171,9 @@ export class Stripe extends IonicNativePlugin { * @return {Promise} returns a promise that resolves with the token, or rejects with an error */ @Cordova() - createBankAccountToken(params: StripeBankAccountParams): Promise { return; } + createBankAccountToken(params: StripeBankAccountParams): Promise { + return; + } /** * Validates a credit card number @@ -175,7 +181,9 @@ export class Stripe extends IonicNativePlugin { * @return {Promise} returns a promise that resolves if the number is valid, and rejects if it's invalid */ @Cordova() - validateCardNumber(cardNumber: string): Promise { return; } + validateCardNumber(cardNumber: string): Promise { + return; + } /** * Validates a CVC number @@ -183,7 +191,9 @@ export class Stripe extends IonicNativePlugin { * @return {Promise} returns a promise that resolves if the number is valid, and rejects if it's invalid */ @Cordova() - validateCVC(cvc: string): Promise { return; } + validateCVC(cvc: string): Promise { + return; + } /** * Validates an expiry date @@ -192,7 +202,9 @@ export class Stripe extends IonicNativePlugin { * @return {Promise} returns a promise that resolves if the date is valid, and rejects if it's invalid */ @Cordova() - validateExpiryDate(expMonth: string, expYear: string): Promise { return; } + validateExpiryDate(expMonth: string, expYear: string): Promise { + return; + } /** * Get a card type from card number @@ -200,6 +212,8 @@ export class Stripe extends IonicNativePlugin { * @return {Promise} returns a promise that resolves with the credit card type */ @Cordova() - getCardType(cardNumber: string): Promise { return; } + getCardType(cardNumber: string): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/taptic-engine/index.ts b/src/@ionic-native/plugins/taptic-engine/index.ts index f74763711e..b990c9a633 100644 --- a/src/@ionic-native/plugins/taptic-engine/index.ts +++ b/src/@ionic-native/plugins/taptic-engine/index.ts @@ -1,4 +1,4 @@ -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -39,7 +39,9 @@ export class TapticEngine extends IonicNativePlugin { * @returns {Promise} Returns a promise that resolves on success and rejects on error */ @Cordova() - selection(): Promise { return; } + selection(): Promise { + return; + } /** * Use this to indicate success/failure/warning to the user. @@ -48,7 +50,9 @@ export class TapticEngine extends IonicNativePlugin { * @returns {Promise} Returns a promise that resolves on success and rejects on error */ @Cordova() - notification(options: { type: string }): Promise { return; } + notification(options: { type: string }): Promise { + return; + } /** * Use this to indicate success/failure/warning to the user. @@ -57,6 +61,8 @@ export class TapticEngine extends IonicNativePlugin { * @returns {Promise} Returns a promise that resolves on success and rejects on error */ @Cordova() - impact(options: { style: string }): Promise { return; } + impact(options: { style: string }): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/text-to-speech/index.ts b/src/@ionic-native/plugins/text-to-speech/index.ts index 9a34e4d296..a3b52a4ed5 100644 --- a/src/@ionic-native/plugins/text-to-speech/index.ts +++ b/src/@ionic-native/plugins/text-to-speech/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface TTSOptions { /** text to speak */ diff --git a/src/@ionic-native/plugins/themeable-browser/index.ts b/src/@ionic-native/plugins/themeable-browser/index.ts index 76e4a73b79..e3c6ca137d 100644 --- a/src/@ionic-native/plugins/themeable-browser/index.ts +++ b/src/@ionic-native/plugins/themeable-browser/index.ts @@ -1,8 +1,8 @@ import { Injectable } from '@angular/core'; -import { Plugin, CordovaInstance, InstanceCheck, IonicNativePlugin } from '@ionic-native/core'; +import { CordovaInstance, InstanceCheck, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; -declare var cordova: any; +declare const cordova: any; export interface ThemeableBrowserButton { wwwImage?: string; @@ -88,19 +88,22 @@ export class ThemeableBrowserObject { * if the browser was already visible. */ @CordovaInstance({ sync: true }) - show(): void { } + show(): void { + } /** * Closes the browser window. */ @CordovaInstance({ sync: true }) - close(): void { } + close(): void { + } /** * Reloads the current page */ @CordovaInstance({ sync: true }) - reload(): void { } + reload(): void { + } /** * Injects JavaScript code into the browser window. @@ -108,7 +111,9 @@ export class ThemeableBrowserObject { * @returns {Promise} */ @CordovaInstance() - executeScript(script: { file?: string, code?: string }): Promise { return; } + executeScript(script: { file?: string, code?: string }): Promise { + return; + } /** * Injects CSS into the browser window. @@ -116,7 +121,9 @@ export class ThemeableBrowserObject { * @returns {Promise} */ @CordovaInstance() - insertCss(css: { file?: string, code?: string }): Promise { return; } + insertCss(css: { file?: string, code?: string }): Promise { + return; + } /** * A method that allows you to listen to events happening in the browser. @@ -207,7 +214,7 @@ export class ThemeableBrowserObject { * ] * }, * backButtonCanClose: true - * }; + * } * * const browser: ThemeableBrowserObject = this.themeableBrowser.create('https://ionic.io', '_blank', options); * diff --git a/src/@ionic-native/plugins/three-dee-touch/index.ts b/src/@ionic-native/plugins/three-dee-touch/index.ts index 6907118a03..1c76247d9f 100644 --- a/src/@ionic-native/plugins/three-dee-touch/index.ts +++ b/src/@ionic-native/plugins/three-dee-touch/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, CordovaFunctionOverride, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaFunctionOverride, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface ThreeDeeTouchQuickAction { @@ -134,7 +134,9 @@ export class ThreeDeeTouch extends IonicNativePlugin { * @returns {Promise} returns a promise that resolves with a boolean that indicates whether the plugin is available or not */ @Cordova() - isAvailable(): Promise { return; } + isAvailable(): Promise { + return; + } /** * You can get a notification when the user force touches the webview. The plugin defines a Force Touch when at least 75% of the maximum force is applied to the screen. Your app will receive the x and y coordinates, so you have to figure out which UI element was touched. @@ -143,7 +145,9 @@ export class ThreeDeeTouch extends IonicNativePlugin { @Cordova({ observable: true }) - watchForceTouches(): Observable { return; } + watchForceTouches(): Observable { + return; + } /** * setup the 3D-touch actions, takes an array of objects with the following @@ -156,14 +160,17 @@ export class ThreeDeeTouch extends IonicNativePlugin { @Cordova({ sync: true }) - configureQuickActions(quickActions: Array): void { } + configureQuickActions(quickActions: Array): void { + } /** * When a home icon is pressed, your app launches and this JS callback is invoked. * @returns {Observable} returns an observable that notifies you when he user presses on the home screen icon */ @CordovaFunctionOverride() - onHomeIconPressed(): Observable { return; } + onHomeIconPressed(): Observable { + return; + } /** * Enable Link Preview. @@ -172,7 +179,8 @@ export class ThreeDeeTouch extends IonicNativePlugin { @Cordova({ sync: true }) - enableLinkPreview(): void { } + enableLinkPreview(): void { + } /** * Disabled the link preview feature, if enabled. @@ -180,6 +188,7 @@ export class ThreeDeeTouch extends IonicNativePlugin { @Cordova({ sync: true }) - disableLinkPreview(): void { } + disableLinkPreview(): void { + } } diff --git a/src/@ionic-native/plugins/toast/index.ts b/src/@ionic-native/plugins/toast/index.ts index 41d5a443e2..9aabb9c75a 100644 --- a/src/@ionic-native/plugins/toast/index.ts +++ b/src/@ionic-native/plugins/toast/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface ToastOptions { @@ -82,14 +82,18 @@ export class Toast extends IonicNativePlugin { observable: true, clearFunction: 'hide' }) - show(message: string, duration: string, position: string): Observable { return; } + show(message: string, duration: string, position: string): Observable { + return; + } /** * Manually hide any currently visible toast. * @returns {Promise} Returns a Promise that resolves on success. */ @Cordova() - hide(): Promise { return; } + hide(): Promise { + return; + } /** * Show a native toast with the given options. @@ -106,7 +110,9 @@ export class Toast extends IonicNativePlugin { observable: true, clearFunction: 'hide' }) - showWithOptions(options: ToastOptions): Observable { return; } + showWithOptions(options: ToastOptions): Observable { + return; + } /** * Shorthand for `show(message, 'short', 'top')`. @@ -117,7 +123,9 @@ export class Toast extends IonicNativePlugin { observable: true, clearFunction: 'hide' }) - showShortTop(message: string): Observable { return; } + showShortTop(message: string): Observable { + return; + } /** * Shorthand for `show(message, 'short', 'center')`. @@ -128,7 +136,9 @@ export class Toast extends IonicNativePlugin { observable: true, clearFunction: 'hide' }) - showShortCenter(message: string): Observable { return; } + showShortCenter(message: string): Observable { + return; + } /** @@ -140,7 +150,9 @@ export class Toast extends IonicNativePlugin { observable: true, clearFunction: 'hide' }) - showShortBottom(message: string): Observable { return; } + showShortBottom(message: string): Observable { + return; + } /** @@ -152,7 +164,9 @@ export class Toast extends IonicNativePlugin { observable: true, clearFunction: 'hide' }) - showLongTop(message: string): Observable { return; } + showLongTop(message: string): Observable { + return; + } /** @@ -164,7 +178,9 @@ export class Toast extends IonicNativePlugin { observable: true, clearFunction: 'hide' }) - showLongCenter(message: string): Observable { return; } + showLongCenter(message: string): Observable { + return; + } /** @@ -176,6 +192,8 @@ export class Toast extends IonicNativePlugin { observable: true, clearFunction: 'hide' }) - showLongBottom(message: string): Observable { return; } + showLongBottom(message: string): Observable { + return; + } } diff --git a/src/@ionic-native/plugins/touch-id/index.ts b/src/@ionic-native/plugins/touch-id/index.ts index 5d411d6637..6efdf6c912 100644 --- a/src/@ionic-native/plugins/touch-id/index.ts +++ b/src/@ionic-native/plugins/touch-id/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -59,7 +59,9 @@ export class TouchID extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves if yes, rejects if no. */ @Cordova() - isAvailable(): Promise { return; } + isAvailable(): Promise { + return; + } /** * Show TouchID dialog and wait for a fingerprint scan. If user taps 'Enter Password' button, brings up standard system passcode screen. @@ -68,7 +70,9 @@ export class TouchID extends IonicNativePlugin { * @returns {Promise} Returns a Promise the resolves if the fingerprint scan was successful, rejects with an error code (see above). */ @Cordova() - verifyFingerprint(message: string): Promise { return; } + verifyFingerprint(message: string): Promise { + return; + } /** * Show TouchID dialog and wait for a fingerprint scan. If user taps 'Enter Password' button, rejects with code '-3' (see above). @@ -77,7 +81,9 @@ export class TouchID extends IonicNativePlugin { * @returns {Promise} Returns a Promise the resolves if the fingerprint scan was successful, rejects with an error code (see above). */ @Cordova() - verifyFingerprintWithCustomPasswordFallback(message: string): Promise { return; } + verifyFingerprintWithCustomPasswordFallback(message: string): Promise { + return; + } /** * Show TouchID dialog with custom 'Enter Password' message and wait for a fingerprint scan. If user taps 'Enter Password' button, rejects with code '-3' (see above). @@ -87,7 +93,9 @@ export class TouchID extends IonicNativePlugin { * @returns {Promise} Returns a Promise the resolves if the fingerprint scan was successful, rejects with an error code (see above). */ @Cordova() - verifyFingerprintWithCustomPasswordFallbackAndEnterPasswordLabel(message: string, enterPasswordLabel: string): Promise { return; } + verifyFingerprintWithCustomPasswordFallbackAndEnterPasswordLabel(message: string, enterPasswordLabel: string): Promise { + return; + } /** * Checks if the fingerprint database changed. @@ -95,6 +103,8 @@ export class TouchID extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves if yes, rejects if no. */ @Cordova() - didFingerprintDatabaseChange(): Promise { return; } + didFingerprintDatabaseChange(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/twitter-connect/index.ts b/src/@ionic-native/plugins/twitter-connect/index.ts index 6ed25c92aa..a38913581b 100644 --- a/src/@ionic-native/plugins/twitter-connect/index.ts +++ b/src/@ionic-native/plugins/twitter-connect/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface TwitterConnectResponse { /** @@ -67,18 +67,25 @@ export class TwitterConnect extends IonicNativePlugin { * @returns {Promise} returns a promise that resolves if logged in and rejects if failed to login */ @Cordova() - login(): Promise { return; } + login(): Promise { + return; + } + /** * Logs out * @returns {Promise} returns a promise that resolves if logged out and rejects if failed to logout */ @Cordova() - logout(): Promise { return; } + logout(): Promise { + return; + } /** * Returns user's profile information * @returns {Promise} returns a promise that resolves if user profile is successfully retrieved and rejects if request fails */ @Cordova() - showUser(): Promise { return; } + showUser(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/uid/index.ts b/src/@ionic-native/plugins/uid/index.ts index aa417a8324..dd49898b3f 100644 --- a/src/@ionic-native/plugins/uid/index.ts +++ b/src/@ionic-native/plugins/uid/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, CordovaProperty, IonicNativePlugin } from '@ionic-native/core'; +import { CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Uid @@ -13,12 +13,12 @@ import { Plugin, CordovaProperty, IonicNativePlugin } from '@ionic-native/core'; * * constructor(private uid: Uid, private androidPermissions: AndroidPermissions) { } * - * + * * async getImei() { * const { hasPermission } = await this.androidPermissions.checkPermission( * this.androidPermissions.PERMISSION.READ_PHONE_STATE * ); - * + * * if (!hasPermission) { * const result = await this.androidPermissions.requestPermission( * this.androidPermissions.PERMISSION.READ_PHONE_STATE @@ -27,11 +27,11 @@ import { Plugin, CordovaProperty, IonicNativePlugin } from '@ionic-native/core'; * if (!result.hasPermission) { * throw new Error('Permissions required'); * } - * + * * // ok, a user gave us permission, we can get him identifiers after restart app * return; * } - * + * * return this.uid.IMEI * } * ``` @@ -47,23 +47,23 @@ import { Plugin, CordovaProperty, IonicNativePlugin } from '@ionic-native/core'; export class Uid extends IonicNativePlugin { /** Get the device Universally Unique Identifier (UUID). */ - @CordovaProperty + @CordovaProperty() UUID: string; /** Get the device International Mobile Station Equipment Identity (IMEI). */ - @CordovaProperty + @CordovaProperty() IMEI: string; /** Get the device International mobile Subscriber Identity (IMSI). */ - @CordovaProperty + @CordovaProperty() IMSI: string; /** Get the sim Integrated Circuit Card Identifier (ICCID). */ - @CordovaProperty + @CordovaProperty() ICCID: string; /** Get the Media Access Control address (MAC). */ - @CordovaProperty + @CordovaProperty() MAC: string; } diff --git a/src/@ionic-native/plugins/unique-device-id/index.ts b/src/@ionic-native/plugins/unique-device-id/index.ts index 4773aa006a..b40096ecbb 100644 --- a/src/@ionic-native/plugins/unique-device-id/index.ts +++ b/src/@ionic-native/plugins/unique-device-id/index.ts @@ -1,4 +1,4 @@ -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** @@ -35,6 +35,8 @@ export class UniqueDeviceID extends IonicNativePlugin { * @return {Promise} Returns a promise that resolves when something happens */ @Cordova() - get(): Promise { return; } + get(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/user-agent/index.ts b/src/@ionic-native/plugins/user-agent/index.ts index 1a87f1f723..c00c253cb0 100644 --- a/src/@ionic-native/plugins/user-agent/index.ts +++ b/src/@ionic-native/plugins/user-agent/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name User Agent diff --git a/src/@ionic-native/plugins/vibration/index.ts b/src/@ionic-native/plugins/vibration/index.ts index e09b678b32..273eef0f91 100644 --- a/src/@ionic-native/plugins/vibration/index.ts +++ b/src/@ionic-native/plugins/vibration/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** @@ -45,6 +45,7 @@ export class Vibration extends IonicNativePlugin { @Cordova({ sync: true }) - vibrate(time: number | Array) { } + vibrate(time: number | Array) { + } } diff --git a/src/@ionic-native/plugins/video-capture-plus/index.ts b/src/@ionic-native/plugins/video-capture-plus/index.ts index 7969aa9c13..efc868d87a 100644 --- a/src/@ionic-native/plugins/video-capture-plus/index.ts +++ b/src/@ionic-native/plugins/video-capture-plus/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface MediaFile { /** @@ -59,39 +59,39 @@ export interface MediaFileData { export interface VideoCapturePlusOptions { /** - * The number of videos to record, default 1 (on iOS always 1) - */ + * The number of videos to record, default 1 (on iOS always 1) + */ limit?: number; /** - * Max duration in seconds, default 0, which is 'forever' - */ + * Max duration in seconds, default 0, which is 'forever' + */ duration?: number; /** - * Set to true to override the default low quality setting - */ + * Set to true to override the default low quality setting + */ highquality?: boolean; /** - * Set to true to override the default backfacing camera setting. - * You'll want to sniff the useragent/device and pass the best overlay based on that.. assuming iphone here - */ + * Set to true to override the default backfacing camera setting. + * You'll want to sniff the useragent/device and pass the best overlay based on that.. assuming iphone here + */ frontcamera?: boolean; /** - * put the png overlay in your assets folder - */ + * put the png overlay in your assets folder + */ portraitOverlay?: string; /** - * not passing an overlay means no image is shown for the landscape orientation - */ + * not passing an overlay means no image is shown for the landscape orientation + */ landscapeOverlay?: string; /** - * iOS only - */ + * iOS only + */ overlayText?: string; } @@ -147,6 +147,8 @@ export class VideoCapturePlus extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - captureVideo(options?: VideoCapturePlusOptions): Promise { return; } + captureVideo(options?: VideoCapturePlusOptions): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/video-editor/index.ts b/src/@ionic-native/plugins/video-editor/index.ts index 16af70d2ee..5fbb93a798 100644 --- a/src/@ionic-native/plugins/video-editor/index.ts +++ b/src/@ionic-native/plugins/video-editor/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface TranscodeOptions { @@ -177,7 +177,9 @@ export class VideoEditor extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - transcodeVideo(options: TranscodeOptions): Promise { return; } + transcodeVideo(options: TranscodeOptions): Promise { + return; + } /** * Trim a video @@ -188,7 +190,9 @@ export class VideoEditor extends IonicNativePlugin { callbackOrder: 'reverse', platforms: ['iOS'] }) - trim(options: TrimOptions): Promise { return; } + trim(options: TrimOptions): Promise { + return; + } /** * Create a JPEG thumbnail from a video @@ -198,7 +202,9 @@ export class VideoEditor extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - createThumbnail(options: CreateThumbnailOptions): Promise { return; } + createThumbnail(options: CreateThumbnailOptions): Promise { + return; + } /** * Get info on a video (width, height, orientation, duration, size, & bitrate) @@ -208,6 +214,8 @@ export class VideoEditor extends IonicNativePlugin { @Cordova({ callbackOrder: 'reverse' }) - getVideoInfo(options: GetVideoInfoOptions): Promise { return; } + getVideoInfo(options: GetVideoInfoOptions): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/video-player/index.ts b/src/@ionic-native/plugins/video-player/index.ts index e45fbf4487..23c3d6c4ad 100644 --- a/src/@ionic-native/plugins/video-player/index.ts +++ b/src/@ionic-native/plugins/video-player/index.ts @@ -1,14 +1,14 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * Options for the video playback using the `play` function. */ export interface VideoOptions { /** - * Set the initial volume of the video playback, where 0.0 is 0% volume and 1.0 is 100%. - * For example: for a volume of 30% set the value to 0.3. - */ + * Set the initial volume of the video playback, where 0.0 is 0% volume and 1.0 is 100%. + * For example: for a volume of 30% set the value to 0.3. + */ volume?: number; /** * There are two options for the scaling mode. SCALE_TO_FIT which is default and SCALE_TO_FIT_WITH_CROPPING. @@ -60,11 +60,14 @@ export class VideoPlayer extends IonicNativePlugin { * @returns {Promise} Resolves promise when the video was played successfully. */ @Cordova() - play(fileUrl: string, options?: VideoOptions): Promise { return; } + play(fileUrl: string, options?: VideoOptions): Promise { + return; + } /** * Stops the video playback immediatly. */ @Cordova({ sync: true }) - close(): void { } + close(): void { + } } diff --git a/src/@ionic-native/plugins/web-intent/index.ts b/src/@ionic-native/plugins/web-intent/index.ts index a41f063b65..2ce6191d0e 100644 --- a/src/@ionic-native/plugins/web-intent/index.ts +++ b/src/@ionic-native/plugins/web-intent/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, CordovaProperty, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; /** @@ -20,7 +20,7 @@ import { Observable } from 'rxjs/Observable'; * action: this.webIntent.ACTION_VIEW, * url: 'path/to/file', * type: 'application/vnd.android.package-archive' - * }; + * } * * this.webIntent.startActivity(options).then(onSuccess, onError); * @@ -40,70 +40,70 @@ export class WebIntent extends IonicNativePlugin { * Convenience constant for actions * @type {string} */ - @CordovaProperty + @CordovaProperty() ACTION_SEND: string; /** * Convenience constant for actions * @type {string} */ - @CordovaProperty + @CordovaProperty() ACTION_VIEW: string; /** * Convenience constant for extras * @type {string} */ - @CordovaProperty + @CordovaProperty() EXTRA_TEXT: string; /** * Convenience constant for extras * @type {string} */ - @CordovaProperty + @CordovaProperty() EXTRA_SUBJECT: string; /** * Convenience constant for extras * @type {string} */ - @CordovaProperty + @CordovaProperty() EXTRA_STREAM: string; /** * Convenience constant for extras * @type {string} */ - @CordovaProperty + @CordovaProperty() EXTRA_EMAIL: string; /** * Convenience constant for actions * @type {string} */ - @CordovaProperty + @CordovaProperty() ACTION_CALL: string; /** * Convenience constant for actions * @type {string} */ - @CordovaProperty + @CordovaProperty() ACTION_SENDTO: string; /** * Convenience constant for actions * @type {string} */ - @CordovaProperty + @CordovaProperty() ACTION_GET_CONTENT: string; /** * Convenience constant for actions * @type {string} */ - @CordovaProperty + @CordovaProperty() ACTION_PICK: string; @@ -113,7 +113,9 @@ export class WebIntent extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - startActivity(options: { action: any, url: string, type?: string }): Promise { return; } + startActivity(options: { action: any, url: string, type?: string }): Promise { + return; + } /** * Starts a new activity and return the result to the application @@ -121,7 +123,9 @@ export class WebIntent extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - startActivityForResult(options: { action: any, url: string, type?: string }): Promise { return; } + startActivityForResult(options: { action: any, url: string, type?: string }): Promise { + return; + } /** * Checks if this app was invoked with specified extra @@ -129,7 +133,9 @@ export class WebIntent extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - hasExtra(extra: string): Promise { return; } + hasExtra(extra: string): Promise { + return; + } /** * Gets the extra that this app was invoked with @@ -137,14 +143,18 @@ export class WebIntent extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - getExtra(extra: string): Promise { return; } + getExtra(extra: string): Promise { + return; + } /** * Gets the Uri the app was invoked with * @returns {Promise} */ @Cordova() - getUri(): Promise { return; }; + getUri(): Promise { + return; + } /** * @returns {Observable} @@ -152,7 +162,9 @@ export class WebIntent extends IonicNativePlugin { @Cordova({ observable: true }) - onNewIntent(): Observable { return; }; + onNewIntent(): Observable { + return; + } /** * Sends a custom intent passing optional extras @@ -160,37 +172,45 @@ export class WebIntent extends IonicNativePlugin { * @returns {Promise} */ @Cordova() - sendBroadcast(options: { action: string, extras?: { option: boolean } }): Promise { return; } + sendBroadcast(options: { action: string, extras?: { option: boolean } }): Promise { + return; + } /** * Registers a broadcast receiver for the specified filters * @param filters {any} */ @Cordova({ sync: true }) - registerBroadcastReceiver(filters: any): void { } + registerBroadcastReceiver(filters: any): void { + } /** * Unregisters a broadcast receiver */ @Cordova({ sync: true }) - unregisterBroadcastReceiver(): void { } + unregisterBroadcastReceiver(): void { + } /** - * Returns the content of the intent used whenever the application activity is launched - */ + * Returns the content of the intent used whenever the application activity is launched + */ @Cordova({ sync: true }) - onIntent(): void { } + onIntent(): void { + } /** - * - */ + * + */ @Cordova({ sync: true }) - onActivityResult(): void { } + onActivityResult(): void { + } /** * @returns {Promise} */ @Cordova() - getIntent(): Promise { return; }; + getIntent(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/wheel-selector/index.ts b/src/@ionic-native/plugins/wheel-selector/index.ts index b97a9d3268..9fe58b25ad 100644 --- a/src/@ionic-native/plugins/wheel-selector/index.ts +++ b/src/@ionic-native/plugins/wheel-selector/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface WheelSelectorItem { description?: string; @@ -55,7 +55,7 @@ export interface WheelSelectorOptions { * key/value to be displayed * Default: description */ - displayKey?: string; + displayKey?: string; } export interface WheelSelectorData { @@ -101,7 +101,7 @@ export interface WheelSelectorData { * { name: "Gordon", id: '103' }, * { name: "Smith", id: '104' } * ] - * }; + * } * * ... * @@ -155,7 +155,7 @@ export interface WheelSelectorData { * ], * displayKey: 'name', * defaultItems: [ - * {index:0, value: this.jsonData.firstNames[2].name}, + * {index:0, value: this.jsonData.firstNames[2].name}, * {index: 0, value: this.jsonData.lastNames[3].name} * ] * }).then( @@ -200,5 +200,7 @@ export class WheelSelector extends IonicNativePlugin { @Cordova({ platforms: ['iOS'] }) - hideSelector(): Promise { return; } + hideSelector(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/youtube-video-player/index.ts b/src/@ionic-native/plugins/youtube-video-player/index.ts index 6b458594c6..875a454ac2 100644 --- a/src/@ionic-native/plugins/youtube-video-player/index.ts +++ b/src/@ionic-native/plugins/youtube-video-player/index.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; + /** * @name Youtube Video Player * @description @@ -40,6 +41,7 @@ export class YoutubeVideoPlayer extends IonicNativePlugin { * @param videoId {string} Video ID */ @Cordova({ sync: true }) - openVideo(videoId: string): void { } + openVideo(videoId: string): void { + } } diff --git a/src/@ionic-native/plugins/zbar/index.ts b/src/@ionic-native/plugins/zbar/index.ts index 3fb463c8d7..4c96f7358f 100644 --- a/src/@ionic-native/plugins/zbar/index.ts +++ b/src/@ionic-native/plugins/zbar/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; export interface ZBarOptions { /** @@ -53,7 +53,7 @@ export interface ZBarOptions { * let options: ZBarOptions = { * flash: 'off', * drawSight: false - * }; + * } * * this.zbar.scan(options) * .then(result => { @@ -84,6 +84,8 @@ export class ZBar extends IonicNativePlugin { * @returns {Promise} Returns a Promise that resolves with the scanned string, or rejects with an error. */ @Cordova() - scan(options: ZBarOptions): Promise { return; } + scan(options: ZBarOptions): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/zeroconf/index.ts b/src/@ionic-native/plugins/zeroconf/index.ts index 63ce745743..9c0fc169f7 100644 --- a/src/@ionic-native/plugins/zeroconf/index.ts +++ b/src/@ionic-native/plugins/zeroconf/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; export interface ZeroconfService { @@ -65,7 +65,9 @@ export class Zeroconf extends IonicNativePlugin { * @return {Promise} */ @Cordova() - getHostname(): Promise { return; } + getHostname(): Promise { + return; + } /** * Publishes a new service. @@ -77,7 +79,9 @@ export class Zeroconf extends IonicNativePlugin { * @return {Promise} Returns a Promise that resolves with the registered service. */ @Cordova() - register(type: string, domain: string, name: string, port: number, txtRecord: any): Promise { return; } + register(type: string, domain: string, name: string, port: number, txtRecord: any): Promise { + return; + } /** * Unregisters a service. @@ -87,14 +91,18 @@ export class Zeroconf extends IonicNativePlugin { * @return {Promise} */ @Cordova() - unregister(type: string, domain: string, name: string): Promise { return; } + unregister(type: string, domain: string, name: string): Promise { + return; + } /** * Unregisters all published services. * @return {Promise} */ @Cordova() - stop(): Promise { return; } + stop(): Promise { + return; + } /** * Starts watching for services of the specified type. @@ -107,7 +115,9 @@ export class Zeroconf extends IonicNativePlugin { clearFunction: 'unwatch', clearWithArgs: true }) - watch(type: string, domain: string): Observable { return; } + watch(type: string, domain: string): Observable { + return; + } /** * Stops watching for services of the specified type. @@ -116,19 +126,25 @@ export class Zeroconf extends IonicNativePlugin { * @return {Promise} */ @Cordova() - unwatch(type: string, domain: string): Promise { return; } + unwatch(type: string, domain: string): Promise { + return; + } /** * Closes the service browser and stops watching. * @return {Promise} */ @Cordova() - close(): Promise { return; } + close(): Promise { + return; + } /** * Re-initializes the plugin to clean service & browser state. * @return {Promise} */ @Cordova() - reInit(): Promise { return; } + reInit(): Promise { + return; + } } diff --git a/src/@ionic-native/plugins/zip/index.ts b/src/@ionic-native/plugins/zip/index.ts index 7fc0380169..8863781560 100644 --- a/src/@ionic-native/plugins/zip/index.ts +++ b/src/@ionic-native/plugins/zip/index.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; /** * @name Zip @@ -43,6 +43,8 @@ export class Zip extends IonicNativePlugin { successIndex: 2, errorIndex: 4 }) - unzip(sourceZip: string, destUrl: string, onProgress?: Function): Promise { return; } + unzip(sourceZip: string, destUrl: string, onProgress?: Function): Promise { + return; + } } diff --git a/scripts/build/tsconfig-core.json b/tsconfig.core.json similarity index 54% rename from scripts/build/tsconfig-core.json rename to tsconfig.core.json index 88250a7b89..0caf69e3cd 100644 --- a/scripts/build/tsconfig-core.json +++ b/tsconfig.core.json @@ -5,21 +5,22 @@ "stripInternal": true, "experimentalDecorators": true, "emitDecoratorMetadata": true, + "noImplicitAny": true, "module": "es2015", "moduleResolution": "node", - "outDir": "../../dist/", - "rootDir": "../../src/", + "outDir": "./dist", + "rootDir": "src", "target": "es5", "skipLibCheck": true, - "lib": ["es2015", "dom"], - "sourceMap": true, + "lib": ["es2017", "dom"], "inlineSources": true, - "noImplicitAny": true + "sourceMap": true }, - "files": [ - "../../src/@ionic-native/core/index.ts" + "include": [ + "src/core/**/*.ts" ], - "angularCompilerOptions": { - "genDir": "../../.tmp/core-aot" - } + "exclude": [ + "node_modules", + "src/core/**/*.spec.ts" + ] } diff --git a/tsconfig.json b/tsconfig.json index c2e34edaee..bc6d219b24 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,12 +9,20 @@ "module": "es2015", "moduleResolution": "node", "paths": { - "@ionic-native/core": ["./dist/@ionic-native/core"] + "@ionic-native/core": ["./dist/core"] }, - "outDir": "dist", - "rootDir": ".", + "outDir": "./dist", + "rootDir": "src", "target": "es5", "skipLibCheck": true, - "lib": ["es2015", "dom"] + "lib": ["es2017", "dom"], + "inlineSources": true, + "inlineSourceMap": true + }, + "include": [ + "src/plugins/**/*.ts" + ], + "angularCompilerOptions": { + "genDir": "aot" } } diff --git a/tslint.json b/tslint.json index aa8b53d98c..ce5bea5726 100644 --- a/tslint.json +++ b/tslint.json @@ -1,3 +1,6 @@ { - "extends": "tslint-ionic-rules" + "extends": "tslint-ionic-rules", + "rules": { + "ordered-imports": false + } }