Compare commits

...

502 Commits

Author SHA1 Message Date
45779126aa init: 完成公司插件提示包项目初始化 2024-04-23 00:27:25 +08:00
zher52
2ccf618d47 添加https://m.shuto.cn:8681/public/zip-cordova-plugin.git插件支持 2023-05-07 17:59:13 +08:00
renovate[bot]
213a26730e chore(deps): update dependency minimist to v1.2.8 (#4515) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:41:14 +02:00
renovate[bot]
611374066e chore(deps): update dependency rollup to v3.21.1 (#4557) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:39:08 +02:00
renovate[bot]
f609b9332b chore(deps): update dependency eslint to v8.39.0 (#4556) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:38:52 +02:00
renovate[bot]
a236719a71 chore(deps): update actions/setup-node action to v3.6.0 (#4555) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:38:39 +02:00
renovate[bot]
d726bac60e chore(deps): update typescript-eslint monorepo to v5.59.1 (#4550) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:38:12 +02:00
renovate[bot]
7e533f48b9 fix(deps): update dependency tslib to v2.5.0 (#4552) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:38:01 +02:00
renovate[bot]
d6827531ee chore(deps): update dependency prettier to v2.8.8 (#4554) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:37:40 +02:00
renovate[bot]
e96885c6b0 chore(deps): update dependency eslint-plugin-jsdoc to v43 (#4548) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:33:17 +02:00
renovate[bot]
6b827ffe95 chore(deps): update dependency @types/cordova to v11 (#4547) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:30:56 +02:00
renovate[bot]
90e5028547 chore(deps): update dependency lint-staged to v13.2.2 (#4544) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:29:39 +02:00
renovate[bot]
b2b3e3a6e3 chore(deps): update dependency rimraf to v5 (#4549) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:29:24 +02:00
renovate[bot]
06018b2cc7 chore(deps): update dependency eslint-config-prettier to v8.8.0 (#4542) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:27:37 +02:00
renovate[bot]
f5c3307969 chore(deps): update dependency fs-extra to v11.1.1 (#4540) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:27:20 +02:00
renovate[bot]
4435e7a3e0 chore(deps): update dependency @types/node to v18.16.3 (#4541) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:27:10 +02:00
renovate[bot]
7a0a73db3b chore(deps): update actions/stale action to v8 (#4546) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:26:46 +02:00
renovate[bot]
7fe38aa378 chore(deps): update dependency @types/lodash to v4.14.194 (#4529) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:22:24 +02:00
renovate[bot]
bd0f4b07b4 chore(deps): update dependency terser-webpack-plugin to v5.3.7 (#4516) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:22:05 +02:00
renovate[bot]
402f4b7987 chore(deps): update actions/checkout action to v3.5.2 (#4522) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:21:56 +02:00
renovate[bot]
6c9bd07361 chore(deps): update dependency eslint to v8.38.0 (#4491) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:21:33 +02:00
renovate[bot]
7f0077979c chore(deps): update dependency prettier to v2.8.7 (#4490) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:21:24 +02:00
renovate[bot]
da2ec29c05 chore(deps): update dependency rollup to v3.20.5 (#4486) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:21:16 +02:00
renovate[bot]
26bd115891 chore(deps): update typescript-eslint monorepo to v5.59.0 (#4483) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 23:21:03 +02:00
renovate[bot]
f92c99bfbf chore(deps): update dependency @types/fs-extra to v11 (#4481)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-09 20:48:47 +01:00
renovate[bot]
9031371721 chore(deps): update dependency prettier to v2.8.2 (#4479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-08 13:39:09 +01:00
renovate[bot]
2d836d3cd0 chore(deps): update dependency husky to v8.0.3 (#4474)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 18:55:31 +01:00
renovate[bot]
ae8221001e chore(deps): update typescript-eslint monorepo to v5.48.0 (#4473)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 18:55:25 +01:00
renovate[bot]
277d696a02 chore(deps): update dependency eslint-config-prettier to v8.6.0 (#4472)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 18:55:15 +01:00
renovate[bot]
5b768854da chore(deps): update dependency rollup to v3.9.1 (#4471)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-02 17:40:25 +01:00
Daniel Sogl
a589dac215 6.3.0 2022-12-31 08:19:35 +00:00
renovate[bot]
950a1bb4ff chore(deps): update actions/stale action to v7 (#4468)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 09:14:21 +01:00
renovate[bot]
1b15bf4557 chore(deps): update dependency fs-extra to v11 (#4469)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 09:14:04 +01:00
renovate[bot]
bfd111e9d6 chore(deps): update typescript-eslint monorepo to v5.47.1 (#4467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 09:11:16 +01:00
renovate[bot]
9715ef8755 chore(deps): update dependency rollup to v3.9.0 (#4466)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 09:10:40 +01:00
renovate[bot]
e21bd1a50e chore(deps): update dependency prettier to v2.8.1 (#4465)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 09:10:06 +01:00
renovate[bot]
99ec80e2e7 chore(deps): update dependency lint-staged to v13.1.0 (#4464)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 09:10:00 +01:00
renovate[bot]
91da2e5020 chore(deps): update dependency eslint to v8.31.0 (#4463)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 09:07:00 +01:00
renovate[bot]
e1ff6de9ef chore(deps): update actions/checkout action to v3.2.0 (#4462)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 09:05:49 +01:00
Nikhil Arroju
d9b3638f3d docs(readme): update capacitor website links (#4416) 2022-12-31 09:04:59 +01:00
ndesai-newrelic
82f7fd9e0a docs(newrelic): update docs (#4420)
* Adding Newrelic support for Awesome plugins

* Adding more static methods for newrelic cordova plugin

* adding documentation for newrelic plugin

* Updating newrelic cordova plugin repo

* Update index.ts

* fix:updating correct cordova plugin repo

* docs: added Documentation for NewRelic Plugin

* ADDED Record Error and Updated set Attribute Method

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-12-31 09:04:42 +01:00
Alex Ryltsov
0579e67e96 feat(fingerprint-aio): update plugin (#4423)
Changes:
- added confirmationRequired param to show method to options
- moved plugin errors to a separate enum
- changes some plugin method return values
2022-12-31 09:04:05 +01:00
dependabot[bot]
2d55ad694c build(deps): bump json5 from 2.2.0 to 2.2.2 (#4459)
Bumps [json5](https://github.com/json5/json5) from 2.2.0 to 2.2.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-31 09:03:16 +01:00
renovate[bot]
5ae27d8ad4 chore(deps): update dependency @types/node to v18.11.18 (#4460)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 09:03:10 +01:00
renovate[bot]
0ec396b25c chore(deps): update dependency gulp-replace to v1.1.4 (#4461)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 09:03:04 +01:00
MaximBelov
a095422889 feat(fbsdk): add plugin (#4431) 2022-12-31 09:02:54 +01:00
Simon Smith
a924fb519f Update ISSUE_TEMPLATE.md (#4433)
use checkboxes
2022-12-31 09:02:43 +01:00
MaximBelov
63cfd4488d feat(advanced-image-picker): add plugin (#4434) 2022-12-31 09:02:28 +01:00
MaximBelov
9b4502f929 feat(ffmpeg): add plugin (#4435) 2022-12-31 09:02:18 +01:00
MaximBelov
ba37646fc4 fix(chooser): Update for support android 11+ (#4436)
BREAKING: Updated plugin source https://github.com/MaximBelov/cordova-plugin-chooser
2022-12-31 09:02:04 +01:00
Olivier Favre
3b1d0593da feat(wonderpush): expose getters and setters (#4441) 2022-12-31 09:00:05 +01:00
infacto
ff78ca7fb4 feat(diagnostics): add getBluetoothAuthorizationStatuses function (#4442) 2022-12-31 08:59:22 +01:00
Fabio Martino
b283dc2e76 feat(power-management): add power management support (#4443)
Co-authored-by: Fabio Martino <fabio.martino@babel.es>
2022-12-31 08:56:42 +01:00
renovate[bot]
cc2a78c858 chore(deps): update dependency @types/lodash to v4.14.191 (#4446)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 08:56:24 +01:00
renovate[bot]
65d3053a53 chore(deps): update dependency eslint-plugin-jsdoc to v39.6.4 (#4447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 08:56:14 +01:00
Adrian Cando
f02bc78ec2 feat(brightness): add brightness plugin (#4454)
* feat(brightness): add brightness plugin

* doc(brightness): update usage doc
2022-12-31 08:55:48 +01:00
Adrian Cando
7fe3ad1daa feat(unique-device-id): add unique-device-id plugin (#4455) 2022-12-31 08:55:14 +01:00
Adrian Cando
e51a1a79ef feat(mobile-accessibility): add mobile-accessibility plugin (#4456) 2022-12-31 08:54:05 +01:00
piyush-kukadiya
74a80c0953 feat(clevertap): support clevertap-cordova 2.6.0 (#4458)
* feat(clevertap): add CleverTap plugin

* style(clevertap): cleanup stray lint error

* refactor

* feat(clevertap): update for latest CleverTap Cordova plugin

* chore: Update Repo from Ionic Native Repo

* fix: Code Changes for parity SDK-155

* fix: Indentation fixes for SDK-155

* fix: Code Repo fix while updating fork branch

* fix: Remove unnecessary adder .scripts Folder

* fix: Remove unwanted added folder .circleci

* fix: Remove unwanted added File .npmrc

* fix: Revert .Github Folder Changes to as per Ionic-Native master

* fix: Update changes as per ionic-native master

* fix: Code Repo fix while updating fork branch

fix: Remove unnecessary adder .scripts Folder

fix: Remove unwanted added folder .circleci

fix: Remove unwanted added File .npmrc

fix: Revert .Github Folder Changes to as per Ionic-Native master

fix: Update changes as per ionic-native master

* fix(CleverTap): Fix for missing methods issue #3491

* refactor(profile): remove setProfile methods for fb and google

* refactor(dynamic variables): remove Product A/B Testing (Dynamic Variables) code

* fix(product config): add key param to product config getters

* feat(identity): add a new public method getCleverTapID and deprecate existing CleverTapID methods

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(inapp): add public methods for suspending/discarding & resuming InApp Notifications

* feat(inbox): add new api for iOS to delete bulk inbox messages for given message ids

* refactor(xiaomi-push): add region as an extra mandatory parameter to setPushXiaomiToken

Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
2022-12-31 08:52:23 +01:00
dependabot[bot]
e32ac8c6c9 build(deps): bump decode-uri-component from 0.2.0 to 0.2.2 (#4445)
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-04 14:29:06 +01:00
renovate[bot]
cf23a52ea2 chore(deps): update dependency @types/node to v18 (#4395)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-04 14:28:58 +01:00
renovate[bot]
e7aab1d814 chore(deps): update dependency husky to v8.0.2 (#4419)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-04 14:28:36 +01:00
renovate[bot]
34afbd1c53 chore(deps): update typescript-eslint monorepo to v5.42.1 (#4417)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-07 19:34:45 +01:00
renovate[bot]
56054d036e chore(deps): update dependency eslint to v8.27.0 (#4415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-06 16:36:23 +01:00
renovate[bot]
c654ea5925 chore(deps): update dependency eslint-plugin-jsdoc to v39.6.2 (#4414)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-05 11:11:20 +01:00
renovate[bot]
70d7acc113 chore(deps): update dependency @types/lodash to v4.14.188 (#4412)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 21:57:00 +01:00
Daniel Sogl
60aa74baed 6.2.0 2022-11-04 20:48:47 +00:00
MaximBelov
af55cb25fa feat(device): detect if app is running on a macOS desktop with Apple Silicon (#4299) 2022-11-04 21:46:34 +01:00
Cesar de la Vega
2b8992faf3 feat(purchases)!: migrate RevenueCat to 3.2.1 (#4392)
* feat(purchases)!: migrate RevenueCat to 3.2.0

* update version to 3.2.1
2022-11-04 21:46:09 +01:00
renovate[bot]
e90a6a306c fix(deps): update dependency tslib to v2.4.1 (#4413)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 21:45:39 +01:00
Alex Ryltsov
97f566170e feat(file-chooser): add plugin (#4396) 2022-11-04 21:45:27 +01:00
Alex Ryltsov
d2e92f5589 feat(image-resizer): add plugin (#4397)
* feature: added support for the image-resizer cordova plugin

* Update index.ts

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-11-04 21:44:53 +01:00
Mathias Verdon
c544b43a51 fix(diagnostic): add getBluetoothAuthorizationStatus function (#4398) 2022-11-04 21:43:46 +01:00
Sawyer Schumacher
755b28e325 feat(ble): add wrapper for starting location notifications (#4399) 2022-11-04 21:43:28 +01:00
Mathias Verdon
6a97dc5e07 fix(diagnostic): add new Android runtime permissions for Bluetooth (#4402) 2022-11-04 21:43:09 +01:00
Nuno Rodrigues
2d347e46ed fix(bluetooth-le): use correct return types (#4411) 2022-11-04 21:42:47 +01:00
ndesai-newrelic
ef499ed290 feat(newrelic): add plugin (#4409)
* Adding Newrelic support for Awesome plugins

* Adding more static methods for newrelic cordova plugin

* adding documentation for newrelic plugin

* Updating newrelic cordova plugin repo

* Update index.ts

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-11-04 21:42:26 +01:00
Bara Aksayeth
1e258adeb5 feat(crop-privacy): add plugin (#4408)
* feat(crop-privacy): add new plugin

* Update index.ts

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-11-04 21:40:26 +01:00
renovate[bot]
5c0b31faa7 chore(deps): update dependency rollup to v3.2.5 (#4406)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 21:39:40 +01:00
renovate[bot]
d00d54f507 chore(deps): update typescript-eslint monorepo to v5.42.0 (#4405)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 21:39:34 +01:00
renovate[bot]
2e5e43fa7b chore(deps): update dependency @types/node to v16.18.3 (#4404)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 21:39:25 +01:00
renovate[bot]
8eddcb0d45 chore(deps): update dependency eslint-plugin-jsdoc to v39.4.0 (#4403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-30 12:05:29 +01:00
renovate[bot]
4716a9db68 chore(deps): update dependency @types/node to v16.18.2 (#4401)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-29 17:07:06 +02:00
renovate[bot]
7eb57cdde8 chore(deps): update typescript-eslint monorepo to v5.41.0 (#4394)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-26 18:41:56 +02:00
renovate[bot]
6f38115ce2 chore(deps): update dependency eslint-plugin-jsdoc to v39.3.25 (#4390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-26 18:41:46 +02:00
renovate[bot]
d76dfae916 chore(deps): update dependency @types/node to v16.18.1 (#4391)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-26 18:41:35 +02:00
Daniel Sogl
b8e3ac4403 6.1.0 2022-10-22 17:29:32 +00:00
Alex Ryltsov
cd81cfabf4 feat(diagnostic): addisCameraRollAuthorized and getCameraRollAuthorizationStatus functions (WIP) (#4362) 2022-10-22 19:27:42 +02:00
Serj Malko
81a8b42a29 feat(webim): update plugin wrapper (#4370)
* feat(plugins): Add Webim SDK plugin

* feat(webim): Add request/response models

* feat(webim): Fix Observable methods

* Update index.ts

Co-authored-by: Малько Сергей Сергеевич <malko@softclub.by>
Co-authored-by: SerjMalko <serhey_rti@mail.ru>
2022-10-22 19:04:29 +02:00
Nico Lueg
6f14ba6031 feat(purchases)!: migrate RevenueCat to 3.1.0 (#4382)
- Breaking Changes can be found here: https://github.com/RevenueCat/cordova-plugin-purchases/releases/tag/3.0.0
2022-10-22 19:03:49 +02:00
Alex Ryltsov
62f664e61a fix(launch-navigator): use currect handlers (#4385) 2022-10-22 19:03:32 +02:00
renovate[bot]
664e3385ce chore(deps): update dependency eslint-plugin-jsdoc to v39.3.15 (#4389)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-22 19:02:35 +02:00
renovate[bot]
8201dc1d14 chore(deps): update dependency rollup to v3.2.3 (#4381)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-22 18:37:33 +02:00
renovate[bot]
375246970c chore(deps): update dependency eslint to v8.26.0 (#4388)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-22 18:36:50 +02:00
renovate[bot]
d7c771b250 chore(deps): update dependency @types/node to v16.11.68 (#4386)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-19 19:20:39 +02:00
renovate[bot]
89b21b7694 chore(deps): update dependency eslint-plugin-jsdoc to v39.3.14 (#4380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-19 19:20:27 +02:00
renovate[bot]
5e23ebebdc chore(deps): update typescript-eslint monorepo to v5.40.1 (#4379)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-17 23:26:05 +02:00
renovate[bot]
5bc6693571 chore(deps): update dependency eslint-plugin-jsdoc to v39.3.12 (#4378)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-17 23:25:53 +02:00
renovate[bot]
facadcabaa chore(deps): update dependency rollup to v3.2.2 (#4376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-17 13:26:13 +02:00
Daniel Sogl
d1210b76a7 6.0.1 2022-10-17 11:23:43 +00:00
Daniel Sogl
e7d1641fe9 fix: use correct core version 2022-10-17 11:23:21 +00:00
renovate[bot]
e22cf2bb69 chore(deps): update dependency @types/node to v16.11.66 (#4372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-16 14:27:28 +02:00
renovate[bot]
deb8a61a81 chore(deps): update dependency rollup to v3.2.1 (#4373)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-16 14:27:18 +02:00
renovate[bot]
3cca6104df chore(deps): update actions/setup-node action to v3.5.1 (#4371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-15 18:20:00 +02:00
Daniel Sogl
de884a55d0 chore: use node v16 in actions 2022-10-15 16:19:39 +00:00
Daniel Sogl
5a22241db5 6.0.0 2022-10-15 16:17:59 +00:00
renovate[bot]
d476af44cd chore(deps): update dependency rollup to v3 (#4367)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-15 18:16:39 +02:00
renovate[bot]
8b6d6c726b chore(deps): update dependency minimist to v1.2.7 (#4365)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-15 18:16:24 +02:00
renovate[bot]
7f1bf9520b chore(deps): update dependency @types/node to v16.11.65 (#4364)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-15 18:16:17 +02:00
renovate[bot]
f9257f4d65 chore(deps): update typescript-eslint monorepo to v5.40.0 (#4363)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-15 18:16:10 +02:00
Johannes Korrek
85441e59ca feat(core): use angular ivy (#4369)
* chore(deps): bump angular and typescript

- required to enable ivy output & partial compilation mode

* chore(build): enable ivy output & partial compilation mode

- change ngx builds to use ivy
- remove some code that is no longer required with ivy
2022-10-15 18:12:20 +02:00
Daniel Sogl
a86c55ba5f 5.46.0 2022-10-09 14:55:04 +00:00
Lihang Xu
f8c6430a26 feat(GCDWebServer): add plugin (#4302)
* add GCDWebServer

* fix plugin ref and add the server options interface

* fix the pluginRef's case

* update name

* add docs
2022-10-09 16:48:59 +02:00
nomadev
98dc7c4be0 feat(bluetooth-le): upgrade to v6.7.0 (#4320)
* Update index.ts

updated plugin with new methods from cordova-plugin-bluetoothle 6.7.0
https://github.com/randdusing/cordova-plugin-bluetoothle/compare/v6.6.2...v6.7.0

* Fixed comments

* Fixed responses in new methods

Co-authored-by: claudio <claudio.corti@hondaracing.co.jp>
Co-authored-by: “Claudio <“claudio.corti@bitcycle.uk”>
2022-10-09 16:47:17 +02:00
Bruno Sales Cardoso
178489ffaa fix(sms-retriever): update startWatching result type (#4309)
* Updating the types to match what we get

* Update index.ts
2022-10-09 16:45:08 +02:00
Khang
bf860c30c2 feat(applovin): add plugin (#4307)
* feat(applovin): add plugin

* fix(applovin): fix pluginRef, add ad hidden events
2022-10-09 16:44:33 +02:00
Uglješa Erceg
a7a10913fc feat(adjust): update wrapper for Adjust Cordova SDK v4.32.0 (#4327) 2022-10-09 16:39:33 +02:00
Clément Prod'homme
406ad4ec45 docs(camera): adjust content type (#4330) 2022-10-09 16:37:32 +02:00
Clément Prod'homme
c3a01431ce docs(facebook): adjust content type (#4331) 2022-10-09 16:36:58 +02:00
Yevhen
dc1ee8c530 feat(firebase-x): add MessagePayloadAps prop (#4344)
* feat(types): add aps for MessagePayload

* fix(types): fix firebase-x on ios
2022-10-09 16:35:48 +02:00
renovate[bot]
b6a44e3a8a chore(deps): update dependency eslint to v8.25.0 (#4360)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-09 16:33:26 +02:00
dependabot[bot]
7761ed4a39 build(deps): bump async from 2.6.3 to 2.6.4 (#4357)
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-09 16:33:19 +02:00
dependabot[bot]
e799600b6e build(deps): bump ansi-regex and ansi-regex (#4356)
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) and [ansi-regex](https://github.com/chalk/ansi-regex). These dependencies needed to be updated together.

Updates `ansi-regex` from 3.0.0 to 5.0.1
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v3.0.0...v5.0.1)

Updates `ansi-regex` from 4.1.0 to 5.0.1
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v3.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-09 16:32:56 +02:00
uzosocom
b0780a8bec feat(app-review): add plugin (#4348) 2022-10-09 16:32:47 +02:00
renovate[bot]
b6cc2d93f0 chore(deps): update actions/checkout action to v3.1.0 (#4359)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-09 16:31:58 +02:00
renovate[bot]
7817643282 chore(deps): update dependency @types/node to v16.11.64 (#4336)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-09 16:31:48 +02:00
infacto
b572a10a6e feat(diagnostic): extend parameter for requestLocationAuthorization (#4350) 2022-10-09 16:31:00 +02:00
uzosocom
acb39e5849 feat(device): add sdkVersion (#4354) 2022-10-09 16:28:00 +02:00
Serj Malko
74302846dc feat(webim): add plugin (#4355)
Co-authored-by: Малько Сергей Сергеевич <malko@softclub.by>
2022-10-09 16:27:26 +02:00
renovate[bot]
a76463877c chore(deps): update typescript-eslint monorepo to v5.39.0 (#4337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-09 16:25:51 +02:00
renovate[bot]
698692ed59 chore(deps): update dependency @types/lodash to v4.14.186 (#4343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-09 16:25:45 +02:00
renovate[bot]
dfd3d55dbc chore(deps): update actions/setup-node action to v3.5.0 (#4341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-09 16:25:36 +02:00
renovate[bot]
f2d809f8b3 chore(deps): update typescript-eslint monorepo to v5.38.0 (#4326)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-26 10:11:28 +02:00
renovate[bot]
22d6cd957b chore(deps): update actions/stale action to v6 (#4328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-26 10:11:21 +02:00
renovate[bot]
2b061556dd chore(deps): update dependency rollup to v2.79.1 (#4329)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-26 10:11:12 +02:00
renovate[bot]
7baa002fb9 chore(deps): update dependency @types/node to v16.11.60 (#4333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-09-26 10:11:05 +02:00
renovate[bot]
2698011d4b chore(deps): update dependency eslint to v8.24.0 (#4334)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-26 10:10:48 +02:00
renovate[bot]
b8374ab3b1 chore(deps): update dependency @types/node to v16.11.59 (#4305)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-14 11:37:56 +02:00
renovate[bot]
e85f6cf2b2 chore(deps): update dependency winston to v3.8.2 (#4303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-14 11:12:50 +02:00
renovate[bot]
f86764abe7 chore(deps): update dependency @types/lodash to v4.14.185 (#4312)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-14 11:12:34 +02:00
renovate[bot]
dcb9b225ce chore(deps): update dependency eslint to v8.23.1 (#4313)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-14 11:12:15 +02:00
renovate[bot]
97739e86f1 chore(deps): update typescript-eslint monorepo to v5.37.0 (#4316)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-14 11:12:05 +02:00
renovate[bot]
b3fade36c6 chore(deps): update typescript-eslint monorepo to v5.36.2 (#4300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 19:50:44 +02:00
Daniel Sogl
a6fcc16d12 5.45.0 2022-09-05 17:16:40 +00:00
Daniel Sogl
e420bd1d2a docs: refresh readmes 2022-09-05 17:10:51 +00:00
Marius Backes
8b826e3c1b feat(in-app-purchase-2): update validator for custom headers (#4262) 2022-09-05 19:05:08 +02:00
Quentin Stoeckel
1b45462542 doc: fix Secure Storage broken link (#4265)
It currently leads to a 404 page (https://ionicframework.com/docs/native/secure-storage/): a working anchor would lead to https://ionic.io/docs/secure-storage
2022-09-05 19:04:59 +02:00
Uglješa Erceg
82377f0633 feat(adjust): update wrapper for Adjust Cordova SDK v4.30.0 (#4277) 2022-09-05 19:04:48 +02:00
Ashish Gaikwad
aef160e418 feat(lets-cooee): add event observer and installation documentation (#4278)
* feat(Cooee): add Cooee plugin

* chore(Cooee): update document

* Update index.ts

* feat(lets-cooee): add event observable

* docs(lets-cooee): add lets-cooee documentation

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-09-05 19:04:37 +02:00
Lihang Xu
a801c7d305 feat(dynamsoft-barcode): add setFocus and setZoom (#4281)
* add set zoom for Dynamsoft Barcode Scanner

* update Dynamsoft Barcode Scanner to add setFocus

* feat: add rotate scan option and rotation frame result to Dynamsoft Barcode Scanner

* add comments and rename the rotation result for Dynamsoft Barcode Scanner
2022-09-05 19:04:21 +02:00
Yevhen
898e0b8588 feat(firebase-x): add message typing (#4282) 2022-09-05 19:04:10 +02:00
renovate[bot]
99161e2b73 chore(deps): update dependency @types/lodash to v4.14.184 (#4283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:03:52 +02:00
Srinidhi
678fb71a7f feat(unvired-cordova-sdk): Add new function to regenrate the JWT Token (#4291) 2022-09-05 19:03:26 +02:00
renovate[bot]
6e953e58ca chore(deps): update dependency zone.js to v0.11.8 (#4280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:02:24 +02:00
renovate[bot]
29163b93d6 chore(deps): update dependency terser-webpack-plugin to v5.3.6 (#4279)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:02:20 +02:00
renovate[bot]
ba83a81c75 chore(deps): update dependency eslint-plugin-jsdoc to v39.3.6 (#4272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:02:15 +02:00
renovate[bot]
ac1d0aa0a1 chore(deps): update dependency rollup to v2.79.0 (#4268)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:02:08 +02:00
renovate[bot]
5d7cf3940f chore(deps): update typescript-eslint monorepo to v5.36.1 (#4267)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:01:58 +02:00
renovate[bot]
725e88080b chore(deps): update dependency webpack to v5.74.0 (#4266)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:01:53 +02:00
renovate[bot]
38d59e3455 chore(deps): update dependency eslint to v8.23.0 (#4259)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:01:48 +02:00
renovate[bot]
b5b8968ac4 chore(deps): update dependency @types/node to v16.11.57 (#4258)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:01:42 +02:00
MaximBelov
ebdd6e9796 feat(intercom): add displaySurvey (#4292) 2022-09-05 19:01:03 +02:00
jcesarmobile
620385befc docs: update template urls (#4293) 2022-09-05 19:00:42 +02:00
Neil Cresswell
ba9c1c154e feat(android-permissions): add android 13 permissions (#4295)
Added new POST_NOTIFICATIONS, READ_MEDIA_AUDIO, READ_MEDIA_IMAGES, and READ_MEDIA_VIDEO permissions. Adding missing Bluetooth permissions for advertise, connect, and scan.
The Bluetooth permissions are already present in the underlying Cordova plugin. The Android 13 permissions have been submitted to the underlying Cordova plugin as a pull request so may not be present there yet, but match the pull request and the actual underlying permission names found in Android 13.
2022-09-05 18:59:34 +02:00
renovate[bot]
dd081cc696 chore(deps): update dependency zone.js to v0.11.7 (#4264)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-22 18:55:45 +02:00
dependabot[bot]
135c6cc8b4 build(deps): bump terser from 5.9.0 to 5.14.2 (#4263)
Bumps [terser](https://github.com/terser/terser) from 5.9.0 to 5.14.2.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-20 18:02:49 +02:00
renovate[bot]
c7d39dde42 chore(deps): update typescript-eslint monorepo to v5.30.7 (#4248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-19 21:26:19 +02:00
renovate[bot]
eb27d87d92 chore(deps): update dependency rollup to v2.77.0 (#4252)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-15 21:33:41 +02:00
renovate[bot]
878a6e94c2 chore(deps): update dependency @types/node to v16.11.44 (#4249)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-14 20:45:53 +02:00
renovate[bot]
95fa8eb098 chore(deps): update dependency ts-node to v10.9.1 (#4247)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-14 20:45:29 +02:00
renovate[bot]
b1f4639640 chore(deps): update actions/setup-node action to v3.4.1 (#4257)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-14 20:45:11 +02:00
renovate[bot]
d6697b8a95 chore(deps): update actions/setup-node action to v3.4.0 (#4253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-11 21:25:48 +02:00
renovate[bot]
41e96d950f chore(deps): update dependency eslint to v8.19.0 (#4246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-02 10:35:13 +02:00
renovate[bot]
56fc1d4663 chore(deps): update typescript-eslint monorepo to v5.30.3 (#4245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-01 19:25:22 +02:00
renovate[bot]
9e5953bc27 chore(deps): update typescript-eslint monorepo to v5.30.2 (#4244)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-01 19:22:23 +02:00
renovate[bot]
346ea82652 chore(deps): update dependency winston to v3.8.1 (#4243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-01 13:44:23 +02:00
Daniel Sogl
8671e18391 5.44.0 2022-06-30 09:09:52 +00:00
Jonathan Ramirez Taboada
0a31a374b1 feat(zip): add plugin (#4238)
* added cordova-plugin-zip

* Update index.ts

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-06-30 11:05:34 +02:00
Ionel Andrei Muresan
64d2c55880 docs(document-scanner): update example (#4236) 2022-06-30 11:05:04 +02:00
Konstantin
f96b7588de feat(mobile-messaging): add chat methods (#4231)
Co-authored-by: Konstantin Latypov <Konstantin.Latypov@infobip.com>
2022-06-30 11:04:37 +02:00
Ashish Gaikwad
7a528b42d9 feat(cooee): add plugin (#4228)
* feat(Cooee): add Cooee plugin

* chore(Cooee): update document

* Update index.ts

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-06-30 10:59:42 +02:00
Alex Ryltsov
19fc222ea9 fix(diagnostic): adjust options declaration (#4227) 2022-06-30 10:58:43 +02:00
renovate[bot]
41a85e6587 chore(deps): update dependency winston to v3.8.0 (#4240)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-30 10:57:53 +02:00
Christian von Rohr
04422600ca fix(urbanairship): fix cordova and method wrapper options (#4221)
Co-authored-by: Christian von Rohr <christian.vonrohr@well.ch>
2022-06-30 10:57:35 +02:00
Lihang Xu
4e183b1881 feat(dynamsoft-barcode): update startScanning options (#4205)
* add barcodeBytesBase64 to the BarcodeResult

* update startScanning's param to ScanOptions
2022-06-30 10:56:29 +02:00
Vitor Martins
63c83653c0 feat(file-md5): add plugin (#4201)
* added cordova-plugin-file-md5

* Update index.ts

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-06-30 10:55:34 +02:00
renovate[bot]
032f3a160a chore(deps): update typescript-eslint monorepo to v5.30.0 (#4235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-30 10:54:01 +02:00
renovate[bot]
44967cc02c chore(deps): update dependency eslint-plugin-jsdoc to v39.3.3 (#4233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-30 10:53:56 +02:00
renovate[bot]
123517eac6 chore(deps): update dependency eslint to v8.18.0 (#4232)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-30 10:53:51 +02:00
renovate[bot]
d1c13567d7 chore(deps): update dependency prettier to v2.7.1 (#4230)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-30 10:53:46 +02:00
renovate[bot]
49df2996c8 chore(deps): update dependency zone.js to v0.11.6 (#4229)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-30 10:53:42 +02:00
renovate[bot]
d14d8c413e chore(deps): update dependency @types/node to v16.11.42 (#4220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-30 10:53:38 +02:00
renovate[bot]
511300ea7b chore(deps): update dependency lint-staged to v13.0.3 (#4222)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-24 20:29:16 +02:00
renovate[bot]
a3d3d546af chore(deps): update dependency rollup to v2.75.7 (#4219)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-20 20:57:15 +02:00
renovate[bot]
cca5929a7d chore(deps): update typescript-eslint monorepo to v5.28.0 (#4207)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-14 19:03:08 +02:00
renovate[bot]
6e83ebdfb3 chore(deps): update dependency prettier to v2.7.0 (#4225)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-14 19:02:53 +02:00
renovate[bot]
38528e1017 chore(deps): update actions/setup-node action to v3.3.0 (#4218)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-06 16:20:14 +02:00
renovate[bot]
c801668d3f chore(deps): update dependency eslint to v8.17.0 (#4217)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-04 18:46:46 +02:00
renovate[bot]
bc1ff3da7d chore(deps): update dependency ts-node to v10.8.1 (#4216)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-03 20:54:30 +02:00
renovate[bot]
a29927837c chore(deps): update dependency rollup to v2.75.5 (#4204)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-03 18:54:20 +02:00
renovate[bot]
3935e620be chore(deps): update dependency @types/jest to v27.5.2 (#4211)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-03 18:53:59 +02:00
renovate[bot]
379df77692 chore(deps): update dependency terser-webpack-plugin to v5.3.3 (#4212)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-03 18:53:52 +02:00
renovate[bot]
af723c02e3 chore(deps): update dependency webpack to v5.73.0 (#4213)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-03 18:53:42 +02:00
renovate[bot]
daa929e229 chore(deps): update dependency lint-staged to v13 (#4210)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-01 13:53:44 +02:00
renovate[bot]
126f23b303 chore(deps): update dependency @types/node to v16.11.38 (#4209)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-01 13:35:36 +02:00
Daniel Sogl
95b84447ad 5.43.0 2022-05-25 18:18:21 +00:00
Gaven Henry
5ebe762d4b update to create ivy distribution (#4198) 2022-05-25 18:51:19 +02:00
renovate[bot]
ab1ea4aef9 chore(deps): roll back dependency eslint-plugin-jsdoc to 39.3.1 (#4199)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-25 18:50:55 +02:00
renovate[bot]
08db901db6 chore(deps): update typescript-eslint monorepo to v5.26.0 (#4194)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-24 18:36:45 +02:00
renovate[bot]
0e922b7e0b chore(deps): update dependency eslint-plugin-jsdoc to v39.3.2 (#4196)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-24 18:36:23 +02:00
renovate[bot]
cfa194b71a chore(deps): update dependency lint-staged to v12.4.2 (#4197)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-24 18:36:12 +02:00
renovate[bot]
cee00fbcc8 chore(deps): update dependency ts-node to v10.8.0 (#4192)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-22 13:01:02 +02:00
Daniel Sogl
9f65002b6e 5.42.0 2022-05-21 18:34:59 +00:00
Daniel Sogl
7aba998e1c docs: refresh 2022-05-21 18:34:30 +00:00
renovate[bot]
3e1fdd966b chore(deps): update dependency eslint-plugin-jsdoc to v39.3.0 (#4191)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-21 20:29:57 +02:00
Lincoln Baxter, III
c2b01e0510 feat(in-app-purchase-2): add launchPriceChangeConfirmationFlow (#4127)
See: https://github.com/j3k0/cordova-plugin-purchase/releases/tag/v11.0.0
2022-05-21 20:29:41 +02:00
pavel-kuznetsov-hypertrack
26a8cbe437 feat(hyper-track): add new functions (#4128) 2022-05-21 20:29:08 +02:00
Lihang Xu
7e2452b6ad feat(dynamsoft barcode scanner): update plugin (#4176)
BREAKING: original plugin is replaced by https://github.com/xulihang/cordova-plugin-dynamsoft-barcode-reader
2022-05-21 20:26:24 +02:00
marcushultgren
5f9f58edba docs(firebase-analytics): resolve typo (#4181)
Manifest typo
2022-05-21 20:23:28 +02:00
Pascal Clanget
6b2c1fd32e fix(keychain): mark useTouchID as required (#4182)
`useTouchID` is not an optional parameter. When it is not explicitly set, the whole app crashes with this error:
> Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull boolValue]: unrecognized selector sent to instance 0x111f02f08'

This bug is known since November 2018 and likely won't be fixed: https://github.com/ionic-team/cordova-plugin-ios-keychain/issues/34
2022-05-21 20:22:58 +02:00
刘富东
f5b7b8469b Update SUMMARY.md (#4189)
Modify the link title `Http` to `ApproovHttp` for `plugins/approov-advanced-http.md`
2022-05-21 20:22:13 +02:00
renovate[bot]
c70508e877 chore(deps): update dependency eslint to v8.16.0 (#4190)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-21 20:21:40 +02:00
renovate[bot]
dd349640ee chore(deps): update dependency rollup to v2.74.1 (#4178)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-21 20:21:30 +02:00
renovate[bot]
6406cdc35c chore(deps): update dependency husky to v8 (#4179)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-21 20:21:24 +02:00
renovate[bot]
6f4d6cf0bc chore(deps): update dependency webpack to v5.72.1 (#4183)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-21 20:21:16 +02:00
renovate[bot]
88e78cf9fa chore(deps): update dependency @types/jest to v27.5.1 (#4186)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-21 20:21:06 +02:00
renovate[bot]
21b7b673e9 chore(deps): update dependency ts-jest to v27.1.5 (#4188)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-21 20:20:51 +02:00
renovate[bot]
5b9382f2fe chore(deps): update typescript-eslint monorepo to v5.25.0 (#4180)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-21 20:20:46 +02:00
renovate[bot]
8bda638d19 chore(deps): update dependency @types/node to v16.11.36 (#4185)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-21 20:20:40 +02:00
renovate[bot]
f81610ef69 chore(deps): update actions/setup-node action to v3.2.0 (#4187)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-21 20:20:30 +02:00
renovate[bot]
adba813eb0 chore(deps): update dependency eslint to v8.15.0 (#4177)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-08 13:20:24 +02:00
renovate[bot]
aa00e37ffd chore(deps): update dependency rollup to v2.72.0 (#4168)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-05 13:49:20 +02:00
renovate[bot]
c7566e2ba0 chore(deps): update dependency @types/jest to v27.5.0 (#4170)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-03 09:37:36 +02:00
renovate[bot]
bf443da2d4 chore(deps): update typescript-eslint monorepo to v5.22.0 (#4171)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-03 09:37:25 +02:00
renovate[bot]
8a4055c06b chore(deps): update dependency @types/node to v16.11.33 (#4169)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-02 16:05:21 +02:00
renovate[bot]
00a0cbc05b chore(deps): update dependency @types/node to v16.11.32 (#4165)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-30 12:51:08 +02:00
renovate[bot]
343ca3652d chore(deps): update dependency rollup to v2.71.0 (#4167)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-30 12:50:51 +02:00
renovate[bot]
1f5a2f007a chore(deps): update dependency lint-staged to v12.4.1 (#4164)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-26 19:27:31 +02:00
renovate[bot]
bae0a8dbc8 fix(deps): update dependency tslib to v2.4.0 (#4154)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-26 16:26:28 +02:00
renovate[bot]
18cb1acb2a chore(deps): update dependency @types/node to v16.11.29 (#4160)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-26 16:26:18 +02:00
renovate[bot]
9a4abea1cd chore(deps): update typescript-eslint monorepo to v5.21.0 (#4161)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-26 16:26:13 +02:00
renovate[bot]
46086a7f4f chore(deps): update dependency eslint-plugin-jsdoc to v39.2.9 (#4162)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-26 16:26:07 +02:00
Daniel Sogl
710cf7acc0 Revert "chore(deps): update dependency jest to v28 (#4159)" (#4163)
This reverts commit 206b2183f1.
2022-04-26 16:25:30 +02:00
renovate[bot]
206b2183f1 chore(deps): update dependency jest to v28 (#4159) 2022-04-26 16:02:13 +02:00
renovate[bot]
a8dafc29be chore(deps): update dependency eslint-plugin-jsdoc to v39.2.8 (#4157)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-25 10:29:04 +02:00
renovate[bot]
36ed9a6d9c chore(deps): update dependency @types/node to v16.11.28 (#4158)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-25 10:28:54 +02:00
renovate[bot]
ab2aec26e3 chore(deps): update dependency eslint to v8.14.0 (#4156)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-23 11:18:18 +02:00
renovate[bot]
9f93ba66a5 chore(deps): update dependency lint-staged to v12.4.0 (#4151)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-21 20:26:15 +02:00
renovate[bot]
d735124f59 chore(deps): update actions/checkout action to v3.0.2 (#4152)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-21 20:25:18 +02:00
renovate[bot]
ba5232cdb0 chore(deps): update dependency eslint-plugin-jsdoc to v39.2.7 (#4150)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-21 20:25:09 +02:00
renovate[bot]
672552bd7d chore(deps): update dependency eslint-plugin-jsdoc to v39.2.4 (#4148)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-20 11:12:53 +02:00
renovate[bot]
6e2b9a062a chore(deps): update dependency eslint-plugin-jsdoc to v39.2.3 (#4147)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-19 16:35:02 +02:00
renovate[bot]
893540cf88 chore(deps): update dependency @types/lodash to v4.14.182 (#4146)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-19 16:34:46 +02:00
renovate[bot]
dcad4d7711 chore(deps): update typescript-eslint monorepo to v5.20.0 (#4144)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-19 16:34:39 +02:00
renovate[bot]
bfd3a58276 chore(deps): update dependency eslint-plugin-jsdoc to v39.2.2 (#4143)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-17 18:57:47 +02:00
renovate[bot]
365571eaf2 chore(deps): update dependency fs-extra to v10.1.0 (#4142)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-17 18:53:43 +02:00
renovate[bot]
53cd775a71 chore(deps): update dependency lint-staged to v12.3.8 (#4141)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-17 18:53:33 +02:00
renovate[bot]
798ae0a238 chore(deps): update actions/checkout action to v3.0.1 (#4139)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-15 11:05:48 +02:00
renovate[bot]
4b2dea8244 chore(deps): update dependency rollup to v2.70.2 (#4140)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-15 11:05:07 +02:00
renovate[bot]
444b9539a8 chore(deps): update dependency @types/node to v16.11.27 (#4138)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-14 18:54:35 +02:00
renovate[bot]
ed83bbe171 chore(deps): update dependency eslint-plugin-jsdoc to v39.2.1 (#4137)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-13 14:52:32 +02:00
renovate[bot]
136d24ae3d chore(deps): update dependency eslint-plugin-jsdoc to v39.2.0 (#4136)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-12 18:48:13 +02:00
renovate[bot]
6ff9625fdc chore(deps): update typescript-eslint monorepo to v5.19.0 (#4135)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-12 18:48:04 +02:00
renovate[bot]
650027f2cc chore(deps): update actions/setup-node action to v3.1.1 (#4134)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-11 20:21:28 +02:00
renovate[bot]
2b92cc1adf chore(deps): update dependency eslint-plugin-jsdoc to v39.1.0 (#4133)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-10 22:26:18 +02:00
renovate[bot]
19acfe7dbd chore(deps): update dependency webpack to v5.72.0 (#4129)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-09 11:33:51 +02:00
renovate[bot]
9865faa8c5 chore(deps): update dependency eslint-plugin-jsdoc to v39 (#4130)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-09 11:33:35 +02:00
renovate[bot]
24e190ae1f chore(deps): update dependency eslint to v8.13.0 (#4132)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-09 11:33:25 +02:00
renovate[bot]
17121a8058 chore(deps): update dependency winston to v3.7.2 (#4126)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-06 19:08:04 +02:00
renovate[bot]
fd88c86e40 chore(deps): update dependency @typescript-eslint/eslint-plugin to v5.18.0 (#4125)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-04 20:26:07 +02:00
renovate[bot]
02d38860d1 chore(deps): update dependency @typescript-eslint/parser to v5.18.0 (#4124)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-04 19:57:45 +02:00
renovate[bot]
164ae4039a chore(deps): update dependency winston to v3.7.1 (#4123)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-04 19:11:33 +02:00
Daniel Sogl
9fedc9fda5 5.41.0 2022-04-02 20:38:03 +02:00
J. Chris Tyler
a17dba1f8b feat(star-prnt): allow null port for print methods and openCashDrawer (#4095) 2022-04-02 19:33:13 +02:00
Christian von Rohr
12ef7ac215 feat(urbanairship): new functions for version cordova-urbanairship 14.0 (#4097)
* feat(urbanairship): Add attributes editing and fix tag editing

* feat(urbanairship): Update  for urbanairship 14.0

Co-authored-by: Christian von Rohr <christian.vonrohr@well.ch>
2022-04-02 19:32:33 +02:00
Johann-S
04fdacc22f feat(http): add set client auth mode method (#4100)
Co-authored-by: Johann SERVOIRE <j.servoire@ldlc.com>
2022-04-02 19:31:58 +02:00
glv1at118
07093dc553 docs(email-composer): update example (#4101)
"this.emailComposer.hasClient()" and "this.emailComposer.isAvailable()" method usage is wrong on the official documentation. Please check.
.hasClient and .isAvailable both requires an app name string as the parameter, and they return promises. 
The original code of putting the parameter "app" into the "then()" chainable is not correct, as the "then()" only accepts callback functions as parameters.
Tested and proved in visual studio code.
2022-04-02 19:31:46 +02:00
Mohd Gausul Abdeen
32c65efe10 docs(sms-retriever): update example (#4103)
Update  URL 
 import { SmsRetriever } from '@awesome-cordova-plugins/sms-retriever/ngx';
2022-04-02 19:30:50 +02:00
renovate[bot]
4a43c143fe chore(deps): update dependency prettier to v2.6.2 (#4122)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-02 19:29:45 +02:00
renovate[bot]
6e544f08ac chore(deps): update dependency eslint-plugin-jsdoc to v38.1.6 (#4121)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-02 19:10:02 +02:00
renovate[bot]
e1aaa9ab60 chore(deps): update dependency eslint-plugin-jsdoc to v38.1.5 (#4120)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-02 10:52:45 +02:00
renovate[bot]
4316bbcb07 chore(deps): update actions/setup-node action to v3.1.0 (#4118)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-01 17:08:40 +02:00
renovate[bot]
08770ca627 chore(deps): update dependency webpack to v5.71.0 (#4119)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-01 17:08:25 +02:00
renovate[bot]
e965d3ea49 chore(deps): update typescript-eslint monorepo to v5.17.0 (#4112)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-29 17:25:16 +02:00
renovate[bot]
933cb1e0c8 chore(deps): update dependency @types/lodash to v4.14.181 (#4114)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-29 17:25:10 +02:00
renovate[bot]
6d35716b2f chore(deps): update dependency eslint-plugin-jsdoc to v38.1.4 (#4115)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-29 17:25:02 +02:00
renovate[bot]
3c03eba60c chore(deps): update dependency eslint-plugin-jsdoc to v38.1.3 (#4111)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-28 19:36:52 +02:00
renovate[bot]
b234620bf1 chore(deps): update dependency eslint-plugin-jsdoc to v38.0.8 (#4110)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-27 19:49:32 +02:00
renovate[bot]
e8752e28ba chore(deps): update dependency eslint-plugin-jsdoc to v38.0.7 (#4109)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-26 09:47:30 +01:00
renovate[bot]
89fc8d490e chore(deps): update dependency eslint to v8.12.0 (#4108)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-26 09:40:00 +01:00
renovate[bot]
273925c0a6 chore(deps): update dependency ts-jest to v27.1.4 (#4105)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-25 20:24:21 +01:00
renovate[bot]
3747b82f53 chore(deps): update dependency prettier to v2.6.1 (#4106)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-25 20:24:08 +01:00
renovate[bot]
35d7d5c135 chore(deps): update typescript-eslint monorepo to v5.16.0 (#4098)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-22 16:19:46 +01:00
renovate[bot]
e8a386a13a chore(deps): update dependency minimist to v1.2.6 (#4099)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-22 16:19:11 +01:00
renovate[bot]
0feef6a75d chore(deps): update dependency eslint-plugin-jsdoc to v38.0.6 (#4096)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-21 19:34:14 +01:00
renovate[bot]
2ab626ada9 chore(deps): update dependency lint-staged to v12.3.7 (#4094)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-18 19:11:58 +01:00
renovate[bot]
d02781caaa chore(deps): update dependency prettier to v2.6.0 (#4091)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-16 23:01:58 +01:00
renovate[bot]
7875ca7e6f chore(deps): update dependency lint-staged to v12.3.6 (#4092)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-16 23:01:36 +01:00
renovate[bot]
278c0619c4 chore(deps): update dependency eslint-plugin-jsdoc to v38.0.4 (#4090)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-15 20:53:52 +01:00
renovate[bot]
7ae78815d3 chore(deps): update dependency @typescript-eslint/parser to v5.15.0 (#4089)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-15 20:53:47 +01:00
renovate[bot]
9eee42a26e chore(deps): update dependency @types/lodash to v4.14.180 (#4088)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-15 20:53:30 +01:00
renovate[bot]
99f4c5d093 chore(deps): update dependency @typescript-eslint/eslint-plugin to v5.15.0 (#4087)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-14 20:23:18 +01:00
renovate[bot]
55da02c808 chore(deps): update dependency rollup to v2.70.1 (#4084)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-14 20:18:33 +01:00
renovate[bot]
21f7411dd4 chore(deps): update dependency eslint-plugin-jsdoc to v38.0.3 (#4082)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-13 17:59:17 +01:00
renovate[bot]
74b12329c7 chore(deps): update typescript-eslint monorepo to v5.14.0 (#4079)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-13 10:22:06 +01:00
renovate[bot]
6fec213c33 chore(deps): update dependency eslint to v8.11.0 (#4081)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-13 10:21:59 +01:00
renovate[bot]
75a6776898 chore(deps): update dependency eslint-plugin-jsdoc to v38 (#4080)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-13 10:21:50 +01:00
renovate[bot]
d231ec2444 chore(deps): update dependency eslint-plugin-jsdoc to v37.9.7 (#4077)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-07 21:56:30 +01:00
renovate[bot]
be08057704 chore(deps): update dependency rollup to v2.70.0 (#4078)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-07 21:56:20 +01:00
renovate[bot]
3da0c9da94 chore(deps): update dependency rollup to v2.69.2 (#4076)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-06 10:02:22 +01:00
renovate[bot]
52c156ab83 chore(deps): update dependency ts-node to v10.7.0 (#4075)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-06 10:02:09 +01:00
renovate[bot]
f1a0785022 chore(deps): update dependency lint-staged to v12.3.5 (#4074)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-05 09:58:49 +01:00
Daniel Sogl
a8973a2c2b 5.40.0 2022-03-05 09:53:15 +01:00
Lihang Xu
698fa6f47f add dynamsoft barcode scanner (#4072) 2022-03-04 16:52:29 +01:00
renovate[bot]
c30179a1eb chore(deps): update dependency webpack to v5.70.0 (#4069)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-04 16:51:44 +01:00
renovate[bot]
2fc051d915 chore(deps): update dependency zone.js to v0.11.5 (#4070)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-04 16:51:16 +01:00
renovate[bot]
a4c84d9bcd chore(deps): update dependency rollup to v2.69.1 (#4073)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-04 16:51:01 +01:00
Christian von Rohr
d9e9a6d31a feat(urbanairship): Add attributes editing and fix tag editing (#4058)
Co-authored-by: Christian von Rohr <christian.vonrohr@well.ch>
2022-03-03 15:27:47 +01:00
renovate[bot]
110b370003 chore(deps): update typescript-eslint monorepo to v5.13.0 (#4060)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 15:27:28 +01:00
J. Chris Tyler
790b9eb15c docs(star-prnt): correct capitalization of example code (#4062) 2022-03-03 15:27:17 +01:00
renovate[bot]
09094cef9d chore(deps): update dependency rollup to v2.69.0 (#4050)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 15:26:50 +01:00
renovate[bot]
105de208e5 chore(deps): update dependency ts-node to v10.6.0 (#4063)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 15:26:34 +01:00
renovate[bot]
bccfde9fc0 chore(deps): update actions/checkout action to v3 (#4064)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 15:26:28 +01:00
renovate[bot]
fdb6582eb2 chore(deps): update actions/stale action to v5 (#4065)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 15:26:20 +01:00
renovate[bot]
11c7a61a81 chore(deps): update dependency eslint-plugin-jsdoc to v37.9.6 (#4066)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 15:26:10 +01:00
renovate[bot]
983d7f1ed1 chore(deps): update dependency eslint-config-prettier to v8.5.0 (#4068)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 15:09:13 +01:00
renovate[bot]
b0e031d92c chore(deps): update dependency eslint-plugin-jsdoc to v37.9.5 (#4059)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-28 18:38:20 +01:00
renovate[bot]
9903cea9b6 chore(deps): update dependency @types/lodash to v4.14.179 (#4056)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-26 11:23:41 +01:00
renovate[bot]
8a2a5bc8bd chore(deps): update dependency eslint to v8.10.0 (#4057)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-26 11:23:29 +01:00
renovate[bot]
4d25f05de8 chore(deps): update dependency @types/jest to v27.4.1 (#4053)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-25 19:21:56 +01:00
renovate[bot]
1c30ae6724 chore(deps): update actions/setup-node action to v3 (#4054)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-25 19:21:51 +01:00
renovate[bot]
019371de49 chore(deps): update dependency @types/node to v16.11.26 (#4055)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-25 19:21:44 +01:00
renovate[bot]
e2aef199e6 chore(deps): update typescript-eslint monorepo to v5.12.1 (#4049)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-22 19:33:42 +01:00
renovate[bot]
e220450477 chore(deps): update dependency fs-extra to v10.0.1 (#4052)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-22 19:33:03 +01:00
VReactor
daa4887325 feat(browser-tab): add plugin (#4046)
* feat(browser-tab): add plugin

* feat(browser-tab): add documentation

Co-authored-by: Neroda.NN <n.neroda@lcgroup.su>
2022-02-19 21:37:28 +01:00
renovate[bot]
711affd42d chore(deps): update dependency eslint-config-prettier to v8.4.0 (#4047)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-19 21:32:31 +01:00
renovate[bot]
bae943a165 chore(deps): update dependency @types/node to v16.11.25 (#4040)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-18 20:02:30 +01:00
renovate[bot]
e9f75a0c4b chore(deps): update dependency eslint-plugin-jsdoc to v37.9.4 (#4044)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-18 20:02:14 +01:00
renovate[bot]
9821335ecf chore(deps): update dependency rollup to v2.67.3 (#4045)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-18 20:01:57 +01:00
renovate[bot]
edd6becb78 chore(deps): update dependency eslint-plugin-jsdoc to v37.9.2 (#4042)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-17 19:27:58 +01:00
renovate[bot]
4dba4d1c04 chore(deps): update dependency webpack to v5.69.1 (#4043)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-17 19:27:51 +01:00
renovate[bot]
49749da17c chore(deps): update dependency webpack to v5.69.0 (#4041)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-15 19:03:34 +01:00
renovate[bot]
fcdce472df chore(deps): update typescript-eslint monorepo to v5.12.0 (#4039)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-14 20:09:54 +01:00
renovate[bot]
5786dcc16a chore(deps): update dependency lint-staged to v12.3.4 (#4038)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-13 19:38:58 +01:00
renovate[bot]
fd402a97d5 chore(deps): update dependency winston to v3.6.0 (#4037)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-13 13:45:32 +01:00
Daniel Sogl
792cb5ce11 5.39.1 2022-02-12 20:25:14 +01:00
renovate[bot]
d3f2b02b30 chore(deps): update dependency eslint to v8.9.0 (#4036)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-12 17:30:23 +01:00
renovate[bot]
4a42674d6b chore(deps): update dependency eslint-plugin-jsdoc to v37.9.1 (#4035)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-12 17:30:14 +01:00
renovate[bot]
7de0f637fd chore(deps): update dependency @types/node to v16.11.24 (#4034)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-10 18:11:24 +01:00
Sk Heerah Zafir
8e257f3e08 fix(background-upload): use correct plugin source (#4028)
* Add @spoonconsulting

* Remove ccordova
2022-02-10 13:05:02 +01:00
renovate[bot]
0a772198fb chore(deps): update dependency rollup to v2.67.2 (#4023)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-10 13:03:41 +01:00
renovate[bot]
1f8545f739 chore(deps): update dependency ts-node to v10.5.0 (#4025)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-10 13:03:36 +01:00
renovate[bot]
52acb0d003 chore(deps): update dependency eslint-plugin-jsdoc to v37.8.2 (#4026)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-10 13:03:31 +01:00
renovate[bot]
b721017a17 chore(deps): update typescript-eslint monorepo to v5.11.0 (#4027)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-10 13:03:25 +01:00
renovate[bot]
c6794d2257 chore(deps): update dependency jest to v27.5.1 (#4029)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-10 13:03:18 +01:00
renovate[bot]
d2613cb17f chore(deps): update dependency @types/node to v16.11.23 (#4033)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-10 13:03:09 +01:00
renovate[bot]
145a60685e chore(deps): update dependency jest to v27.5.0 (#4022)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-06 10:30:26 +01:00
renovate[bot]
72dc59123a chore(deps): update dependency eslint-plugin-jsdoc to v37.7.1 (#4020)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-03 18:58:10 +01:00
renovate[bot]
204d7df921 chore(deps): update dependency rollup to v2.67.0 (#4019)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-02 20:50:17 +01:00
Daniel Sogl
827e722d4c 5.39.0 2022-02-01 20:56:43 +00:00
renovate[bot]
77730dd2e1 chore(deps): update dependency @types/node to v16.11.22 (#4015)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-01 21:51:16 +01:00
renovate[bot]
021ba2c68b chore(deps): update dependency terser-webpack-plugin to v5.3.1 (#4016)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-01 21:51:11 +01:00
renovate[bot]
65165200d7 chore(deps): update dependency lint-staged to v12.3.3 (#4017)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-01 21:51:02 +01:00
TAKUYA NAKAYASU
bb1f3268de fix(firebase-x): change incrementCounter signature (#4010) 2022-02-01 10:30:38 +01:00
piyush-kukadiya
24c61a50a7 feat(clevertap): support new clevertap changes (#4011)
* feat(clevertap): add CleverTap plugin

* style(clevertap): cleanup stray lint error

* refactor

* feat(clevertap): update for latest CleverTap Cordova plugin

* chore: Update Repo from Ionic Native Repo

* fix: Code Changes for parity SDK-155

* fix: Indentation fixes for SDK-155

* fix: Code Repo fix while updating fork branch

* fix: Remove unnecessary adder .scripts Folder

* fix: Remove unwanted added folder .circleci

* fix: Remove unwanted added File .npmrc

* fix: Revert .Github Folder Changes to as per Ionic-Native master

* fix: Update changes as per ionic-native master

* fix: Code Repo fix while updating fork branch

fix: Remove unnecessary adder .scripts Folder

fix: Remove unwanted added folder .circleci

fix: Remove unwanted added File .npmrc

fix: Revert .Github Folder Changes to as per Ionic-Native master

fix: Update changes as per ionic-native master

* fix(CleverTap): Fix for missing methods issue #3491

* refactor(profile): remove setProfile methods for fb and google

* refactor(dynamic variables): remove Product A/B Testing (Dynamic Variables) code

* fix(product config): add key param to product config getters

* feat(identity): add a new public method getCleverTapID and deprecate existing CleverTapID methods

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(inapp): add public methods for suspending/discarding & resuming InApp Notifications

Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
2022-02-01 10:30:12 +01:00
renovate[bot]
d382e3e17e chore(deps): update dependency winston to v3.5.1 (#4014)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-01 10:29:15 +01:00
renovate[bot]
e03e869f76 chore(deps): update dependency @typescript-eslint/eslint-plugin to v5.10.2 (#4012)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-31 20:32:51 +01:00
renovate[bot]
72cc3c79e6 chore(deps): update dependency webpack to v5.68.0 (#4013)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-31 20:25:15 +01:00
renovate[bot]
fce7f2c1af chore(deps): update dependency eslint to v8.8.0 (#4008)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-30 21:11:43 +01:00
renovate[bot]
286d7d8298 chore(deps): update dependency winston to v3.5.0 (#4007)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-28 16:52:55 +01:00
Daniel Sogl
093fda8f74 5.38.0 2022-01-27 08:35:11 +00:00
renovate[bot]
9ba02fe567 chore(deps): update dependency eslint-plugin-jsdoc to v37.7.0 (#4003)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-27 09:34:47 +01:00
renovate[bot]
20ced6738b chore(deps): update dependency lint-staged to v12.3.2 (#4004)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-27 09:34:41 +01:00
Daniel Sogl
3af036f93e docs(): update generated readmes 2022-01-27 08:33:57 +00:00
Daniel Sogl
e6140aaaee feat(market): add plugin 2022-01-27 08:32:31 +00:00
renovate[bot]
8765be4e42 chore(deps): update dependency @typescript-eslint/parser to v5.10.1 (#4000)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-25 21:29:55 +01:00
renovate[bot]
c3b0377e3c chore(deps): update dependency rollup to v2.66.1 (#4001)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-25 21:29:46 +01:00
renovate[bot]
8ab490b95b chore(deps): update dependency @typescript-eslint/eslint-plugin to v5.10.1 (#3999)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-24 19:34:48 +01:00
Пронин Андрей
67d8a37d1e feat(chooser-simple-file): add plugin (#3982)
* add chooser actual fork plugin

* * removes base64 functionality as we can use ionic native file plugin to get file directly

* use getFiles

Co-authored-by: Pronin Andrey <a@innoline.pro>
2022-01-23 16:39:28 +01:00
renovate[bot]
8351a26a74 chore(deps): update dependency lint-staged to v12.3.1 (#3998)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-23 16:24:27 +01:00
renovate[bot]
a9c5ba9d67 chore(deps): update dependency lint-staged to v12.3.0 (#3997)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-23 16:14:20 +01:00
TAKUYA NAKAYASU
a1e85d2f80 fix(social-sharing): change shareWithOptions parameter typing (#3996) 2022-01-23 16:14:14 +01:00
renovate[bot]
551382a841 chore(deps): update dependency rollup to v2.66.0 (#3994)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-23 16:14:05 +01:00
renovate[bot]
bc51ed7c2c chore(deps): update dependency eslint-plugin-jsdoc to v37.6.3 (#3991)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 20:19:39 +01:00
renovate[bot]
416a4b7626 chore(deps): update dependency webpack to v5.67.0 (#3993)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 20:19:25 +01:00
renovate[bot]
06c9f19ce3 chore(deps): update dependency eslint-plugin-jsdoc to v37.6.2 (#3989)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 15:58:27 +01:00
renovate[bot]
32c6559648 chore(deps): update dependency rollup to v2.65.0 (#3990)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 15:58:13 +01:00
renovate[bot]
2c25c4be3a chore(deps): update dependency lint-staged to v12.2.2 (#3986)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-20 20:04:11 +01:00
renovate[bot]
c88310b658 chore(deps): update dependency lint-staged to v12.2.1 (#3983)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-20 14:44:06 +01:00
renovate[bot]
92a2ae5006 chore(deps): update dependency @types/node to v16.11.21 (#3984)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-20 14:43:55 +01:00
renovate[bot]
3bd839acbb chore(deps): update typescript-eslint monorepo to v5.10.0 (#3981)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-17 22:06:27 +01:00
renovate[bot]
43136d9447 chore(deps): update dependency @types/node to v16.11.20 (#3980)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-17 19:37:12 +01:00
renovate[bot]
bbab19f5aa chore(deps): update dependency eslint to v8.7.0 (#3979)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-16 19:17:24 +01:00
renovate[bot]
8276f460e7 chore(deps): update dependency ts-jest to v27.1.3 (#3978)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-15 10:33:31 +01:00
renovate[bot]
d31111478d chore(deps): update dependency rollup to v2.64.0 (#3977)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-15 10:33:17 +01:00
renovate[bot]
20c3b83c23 chore(deps): update dependency webpack to v5.66.0 (#3974)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-12 16:23:32 +01:00
renovate[bot]
c17defd727 chore(deps): update dependency winston to v3.4.0 (#3969)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 17:30:43 +01:00
renovate[bot]
68d854f0a5 chore(deps): update typescript-eslint monorepo to v5.9.1 (#3968)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 17:30:34 +01:00
renovate[bot]
b2d1e45ba6 chore(deps): update dependency winston to v3.3.4 (#3966)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-10 18:14:29 +01:00
renovate[bot]
7c487064b7 chore(deps): update dependency eslint-plugin-jsdoc to v37.6.1 (#3965)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-09 18:25:20 +01:00
Simone Colazzo
3b8566df93 feat(magnetometer): add magnetometer wrapper (#3887)
* feat(magnetometer): add magnetometer wrapper

* fix(magnetomer): add wrapper parameters

Co-authored-by: Simone Colazzo <si.colazzo@reply.it>
2022-01-08 14:21:04 +01:00
renovate[bot]
a04a70e1a0 chore(deps): update dependency eslint-plugin-jsdoc to v37.5.2 (#3964)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-08 14:20:37 +01:00
renovate[bot]
7cad9fd207 chore(deps): update dependency lint-staged to v12.1.7 (#3961)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-08 14:10:12 +01:00
Martin DONADIEU
6a93bb2e9b feat(camera-preview): add storeToFile param (#3958) 2022-01-06 21:28:38 +01:00
renovate[bot]
e1c10171ba chore(deps): update dependency jest to v27.4.7 (#3957)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 21:27:42 +01:00
renovate[bot]
7ef395a1f5 chore(deps): update dependency @types/node to v16.11.19 (#3956) 2022-01-04 23:35:29 +01:00
renovate[bot]
3da6e37b20 chore(deps): update typescript-eslint monorepo to v5.9.0 (#3954)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 18:24:13 +01:00
renovate[bot]
8e9bbf41e1 chore(deps): update dependency rollup to v2.63.0 (#3955)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 18:24:06 +01:00
Marius Backes
7350c630fe feat(sumup): add test and setup function (#3950)
* feat(sumup): add setup and test function

* feat(sumup): add title as parameter in pay function
2022-01-03 15:47:15 +01:00
renovate[bot]
f5c5e7d179 chore(deps): update dependency lint-staged to v12.1.5 (#3951)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-03 15:46:53 +01:00
renovate[bot]
dfbcf412ed chore(deps): update dependency @types/node to v16.11.18 (#3952)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-03 15:46:42 +01:00
renovate[bot]
8c23123ae8 chore(deps): update dependency eslint-plugin-jsdoc to v37.5.1 (#3953)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-03 15:46:35 +01:00
renovate[bot]
2c8d6e4224 chore(deps): update dependency eslint-plugin-jsdoc to v37.5.0 (#3948)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-02 14:38:23 +01:00
renovate[bot]
cc203ee566 chore(deps): update dependency eslint to v8.6.0 (#3949)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-02 14:22:14 +01:00
renovate[bot]
c3248915e0 chore(deps): update dependency @types/jest to v27.4.0 (#3947)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-31 12:15:21 +01:00
renovate[bot]
0c282b365a chore(deps): update dependency eslint-plugin-jsdoc to v37.4.2 (#3945)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-28 19:09:42 +01:00
renovate[bot]
3a628efa78 chore(deps): update actions/setup-node action to v2.5.1 (#3944)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-28 12:43:13 +01:00
renovate[bot]
64ec0cbb07 chore(deps): update typescript-eslint monorepo to v5.8.1 (#3943)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-28 12:43:01 +01:00
renovate[bot]
930e011bf0 chore(deps): update dependency eslint to v8 (#3924)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-25 22:02:24 +01:00
renovate[bot]
eb2c405e99 chore(deps): update dependency @types/node to v16.11.17 (#3936)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-25 22:01:41 +01:00
renovate[bot]
bf3c873b43 chore(deps): update dependency rollup to v2.62.0 (#3938)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-25 22:01:35 +01:00
renovate[bot]
f63db5b94c chore(deps): update dependency lint-staged to v12.1.4 (#3940)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-25 22:01:29 +01:00
renovate[bot]
642314271c chore(deps): update dependency conventional-changelog-cli to v2.2.2 (#3941)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-25 22:01:24 +01:00
Daniel Sogl
7d52794933 refactor(tealium): resolv lint issues 2021-12-25 20:47:29 +00:00
Daniel Sogl
104e66db28 chore(ci): run lint workflow quiet 2021-12-25 20:46:28 +00:00
Karen Tamayo
771552cd42 feat(tealium): update wrapper (#3883)
Co-authored-by: Karen Tamayo <karentamayo@Karens-MBP.webpass.net>
2021-12-21 18:58:13 +01:00
renovate[bot]
50069b6fe8 chore(deps): update dependency @types/node to v16.11.15 (#3916)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-21 18:57:37 +01:00
renovate[bot]
3b6d3a04fb chore(deps): update dependency eslint-plugin-jsdoc to v37.4.0 (#3929)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-21 18:57:27 +01:00
renovate[bot]
1df610968a chore(deps): update typescript-eslint monorepo to v5.8.0 (#3932)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-21 18:57:18 +01:00
Daniel Sogl
79e10c7b54 Update .gitbook.yaml 2021-12-21 18:42:31 +01:00
Daniel Sogl
da8c059017 Delete README.md 2021-12-21 18:41:53 +01:00
Daniel Sogl
bbb8e20b57 GitBook: [#6] No subject 2021-12-21 17:38:18 +00:00
Jean-Christophe Hoelt
5c7ece4e9b docs(in-app-purchase-2): add missing code block close (#3933) 2021-12-21 16:08:52 +01:00
renovate[bot]
bdab2f82cd chore(deps): update typescript-eslint monorepo to v5 (#3928)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-19 18:38:18 +01:00
renovate[bot]
e149bc0fdc chore(deps): update dependency eslint-plugin-jsdoc to v37.3.0 (#3917)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-19 18:37:48 +01:00
renovate[bot]
a16099aaae chore(deps): update dependency terser-webpack-plugin to v5.3.0 (#3921)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-19 18:37:40 +01:00
renovate[bot]
ce822f8ed0 chore(deps): update dependency lint-staged to v12.1.3 (#3927)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-19 18:37:25 +01:00
Daniel Sogl
119796b0e7 5.37.3 2021-12-19 11:16:25 +00:00
Daniel Sogl
0922b468a2 closes #3909; fix: allow rxjs 5, 6 and 7 2021-12-19 12:14:32 +01:00
renovate[bot]
6cfc20cd93 chore(deps): update dependency ts-jest to v27.1.2 (#3919)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-18 15:23:40 +01:00
renovate[bot]
e4b1d47c07 chore(deps): update dependency rollup to v2.61.1 (#3918)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-18 15:23:32 +01:00
renovate[bot]
47181c1e03 chore(deps): pin dependencies (#3914)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 22:13:46 +01:00
renovate[bot]
d095932007 chore(deps): pin dependencies (#3913)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 22:04:17 +01:00
Daniel Sogl
bcf4868847 Delete dependabot.yml 2021-12-16 22:01:52 +01:00
renovate[bot]
76743a4811 chore(deps): add renovate.json (#3908)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 22:01:37 +01:00
Daniel Sogl
973a8b76c1 5.37.2 2021-12-16 21:00:31 +00:00
dependabot[bot]
3afcf3c0e9 chore(deps-dev): bump @types/lodash from 4.14.177 to 4.14.178 (#3900)
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.14.177 to 4.14.178.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-10 19:42:19 +01:00
dependabot[bot]
f04f4f8fb9 chore(deps-dev): bump rollup from 2.60.2 to 2.61.0 (#3899)
Bumps [rollup](https://github.com/rollup/rollup) from 2.60.2 to 2.61.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.60.2...v2.61.0)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-10 19:42:12 +01:00
dependabot[bot]
429bd8f5b2 chore(deps-dev): bump eslint-plugin-jsdoc from 37.0.3 to 37.2.0 (#3898)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 37.0.3 to 37.2.0.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v37.0.3...v37.2.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-10 19:42:06 +01:00
dependabot[bot]
98cf6a1be4 chore(deps-dev): bump ts-jest from 27.1.0 to 27.1.1 (#3895)
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 27.1.0 to 27.1.1.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kulshekhar/ts-jest/compare/v27.1.0...v27.1.1)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-09 19:20:57 +01:00
dependabot[bot]
62207e6ad5 chore(deps-dev): bump @types/node from 16.11.11 to 16.11.12 (#3894)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.11 to 16.11.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-09 19:20:45 +01:00
Uglješa Erceg
a013e33e2c fix(adjust): added missing AdjustConfig method (#3886) 2021-12-09 17:38:54 +01:00
dependabot[bot]
d10a20ec1d chore(deps-dev): bump webpack from 5.64.2 to 5.65.0 (#3889)
Bumps [webpack](https://github.com/webpack/webpack) from 5.64.2 to 5.65.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.64.2...v5.65.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-07 20:36:16 +01:00
dependabot[bot]
6f97eb6bbc chore(deps-dev): bump ts-jest from 27.0.7 to 27.1.0 (#3891)
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 27.0.7 to 27.1.0.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kulshekhar/ts-jest/compare/v27.0.7...v27.1.0)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-07 20:35:11 +01:00
dependabot[bot]
9a6406c341 chore(deps-dev): bump prettier from 2.4.1 to 2.5.1 (#3892)
Bumps [prettier](https://github.com/prettier/prettier) from 2.4.1 to 2.5.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.4.1...2.5.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-07 20:34:57 +01:00
dependabot[bot]
54e958b570 chore(deps): bump actions/setup-node from 2.4.1 to 2.5.0 (#3878)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.4.1 to 2.5.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.4.1...v2.5.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-01 21:37:35 +01:00
dependabot[bot]
a93bfcd8c3 chore(deps-dev): bump rollup from 2.60.1 to 2.60.2 (#3880)
Bumps [rollup](https://github.com/rollup/rollup) from 2.60.1 to 2.60.2.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.60.1...v2.60.2)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-01 21:37:28 +01:00
dependabot[bot]
f3f923de22 chore(deps-dev): bump @types/node from 16.11.10 to 16.11.11 (#3882)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.10 to 16.11.11.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-01 21:36:56 +01:00
dependabot[bot]
48e39db016 chore(deps-dev): bump jest from 27.3.1 to 27.4.3 (#3884)
Bumps [jest](https://github.com/facebook/jest) from 27.3.1 to 27.4.3.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v27.3.1...v27.4.3)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-01 21:36:50 +01:00
Daniel Sogl
6d44ce555c 5.37.1 2021-11-24 10:27:51 +00:00
dependabot[bot]
fb37d49e46 chore(deps-dev): bump @types/node from 16.11.9 to 16.11.10 (#3873)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.9 to 16.11.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-24 11:25:16 +01:00
dependabot[bot]
dceef7f32a chore(deps-dev): bump rollup from 2.60.0 to 2.60.1 (#3870)
Bumps [rollup](https://github.com/rollup/rollup) from 2.60.0 to 2.60.1.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.60.0...v2.60.1)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-22 21:58:30 +01:00
dependabot[bot]
175a6ca029 chore(deps-dev): bump lint-staged from 12.0.3 to 12.1.2 (#3872)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 12.0.3 to 12.1.2.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v12.0.3...v12.1.2)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-22 21:58:22 +01:00
dependabot[bot]
72b466f62b chore(deps-dev): bump webpack from 5.64.1 to 5.64.2 (#3869)
Bumps [webpack](https://github.com/webpack/webpack) from 5.64.1 to 5.64.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.64.1...v5.64.2)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-22 21:58:08 +01:00
dependabot[bot]
e69f88e5fa chore(deps-dev): bump @types/node from 16.11.8 to 16.11.9 (#3865)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.8 to 16.11.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-22 21:18:40 +01:00
dependabot[bot]
a766261e87 chore(deps-dev): bump @types/lodash from 4.14.176 to 4.14.177 (#3858)
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.14.176 to 4.14.177.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-20 12:17:28 +01:00
dependabot[bot]
86bf521aa4 chore(deps-dev): bump @types/node from 16.11.7 to 16.11.8 (#3864)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.7 to 16.11.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-19 13:56:40 +01:00
dependabot[bot]
57d0ec878b chore(deps-dev): bump @types/jest from 27.0.2 to 27.0.3 (#3863)
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 27.0.2 to 27.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-19 13:56:32 +01:00
dependabot[bot]
4ed2d60ba4 chore(deps-dev): bump lint-staged from 12.0.2 to 12.0.3 (#3862)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 12.0.2 to 12.0.3.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v12.0.2...v12.0.3)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-19 13:56:21 +01:00
dependabot[bot]
5d044a774b chore(deps-dev): bump webpack from 5.64.0 to 5.64.1 (#3859)
Bumps [webpack](https://github.com/webpack/webpack) from 5.64.0 to 5.64.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.64.0...v5.64.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-16 08:30:09 +01:00
dependabot[bot]
97559595d8 chore(deps-dev): bump lint-staged from 11.2.6 to 12.0.2 (#3857)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 11.2.6 to 12.0.2.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v11.2.6...v12.0.2)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-16 08:30:00 +01:00
aboedo
2f25396c94 feat(purchases): add setAirshipChannelID method (#3856) 2021-11-15 18:02:53 +01:00
dependabot[bot]
96847444fa chore(deps-dev): bump rollup from 2.59.0 to 2.60.0 (#3854)
Bumps [rollup](https://github.com/rollup/rollup) from 2.59.0 to 2.60.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.59.0...v2.60.0)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-13 12:45:01 +01:00
dependabot[bot]
bf7ba31aab chore(deps-dev): bump webpack from 5.63.0 to 5.64.0 (#3853)
Bumps [webpack](https://github.com/webpack/webpack) from 5.63.0 to 5.64.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.63.0...v5.64.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-12 13:04:37 +01:00
dependabot[bot]
2738adb450 chore(deps-dev): bump webpack from 5.62.1 to 5.63.0 (#3851)
Bumps [webpack](https://github.com/webpack/webpack) from 5.62.1 to 5.63.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.62.1...v5.63.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-09 22:15:30 +01:00
dependabot[bot]
4516f0fba3 chore(deps-dev): bump @types/node from 16.11.6 to 16.11.7 (#3852)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.6 to 16.11.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-09 22:05:56 +01:00
dependabot[bot]
923a6fb2c0 chore(deps-dev): bump webpack from 5.61.0 to 5.62.1 (#3846)
Bumps [webpack](https://github.com/webpack/webpack) from 5.61.0 to 5.62.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.61.0...v5.62.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-09 17:42:54 +01:00
dependabot[bot]
096aab7d59 chore(deps-dev): bump terser-webpack-plugin from 5.2.4 to 5.2.5 (#3848)
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 5.2.4 to 5.2.5.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v5.2.4...v5.2.5)

---
updated-dependencies:
- dependency-name: terser-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-09 17:42:40 +01:00
dependabot[bot]
c680cb4966 chore(deps): bump actions/checkout from 2.3.5 to 2.4.0 (#3844)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.5 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.5...v2.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-02 22:33:51 +01:00
dependabot[bot]
f84e86e621 chore(deps-dev): bump rollup from 2.58.3 to 2.59.0 (#3843)
Bumps [rollup](https://github.com/rollup/rollup) from 2.58.3 to 2.59.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.58.3...v2.59.0)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-02 18:19:22 +01:00
dependabot[bot]
0a2d28a74d chore(deps-dev): bump webpack from 5.60.0 to 5.61.0 (#3842)
Bumps [webpack](https://github.com/webpack/webpack) from 5.60.0 to 5.61.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.60.0...v5.61.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-29 22:33:27 +02:00
dependabot[bot]
a445327f78 chore(deps-dev): bump lint-staged from 11.2.4 to 11.2.6 (#3841)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 11.2.4 to 11.2.6.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v11.2.4...v11.2.6)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-26 22:28:45 +02:00
dependabot[bot]
0886f361db chore(deps-dev): bump @types/node from 16.11.5 to 16.11.6 (#3840)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.5 to 16.11.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-26 13:55:53 +02:00
dependabot[bot]
93e31a509f chore(deps-dev): bump eslint-plugin-jsdoc from 37.0.0 to 37.0.3 (#3836)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 37.0.0 to 37.0.3.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v37.0.0...v37.0.3)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-26 13:52:00 +02:00
dependabot[bot]
9cae7e8936 chore(deps-dev): bump lint-staged from 11.2.3 to 11.2.4 (#3838)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 11.2.3 to 11.2.4.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v11.2.3...v11.2.4)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-26 13:48:07 +02:00
dependabot[bot]
7a6d690a0d chore(deps-dev): bump is-ci from 3.0.0 to 3.0.1 (#3837)
Bumps [is-ci](https://github.com/watson/is-ci) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/watson/is-ci/releases)
- [Changelog](https://github.com/watson/is-ci/blob/master/CHANGELOG.md)
- [Commits](https://github.com/watson/is-ci/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: is-ci
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-26 13:47:56 +02:00
dependabot[bot]
1e264b53b3 chore(deps-dev): bump webpack from 5.59.1 to 5.60.0 (#3835)
Bumps [webpack](https://github.com/webpack/webpack) from 5.59.1 to 5.60.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.59.1...v5.60.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-26 13:47:38 +02:00
dependabot[bot]
163005d9c4 chore(deps-dev): bump @types/node from 16.11.2 to 16.11.5 (#3834)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.2 to 16.11.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-26 13:40:46 +02:00
dependabot[bot]
fe87a6e56c chore(deps-dev): bump rollup from 2.58.0 to 2.58.3 (#3833)
Bumps [rollup](https://github.com/rollup/rollup) from 2.58.0 to 2.58.3.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.58.0...v2.58.3)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-26 13:40:37 +02:00
dependabot[bot]
8c8ca73af0 chore(deps-dev): bump eslint-plugin-jsdoc from 36.1.1 to 37.0.0 (#3832)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 36.1.1 to 37.0.0.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v36.1.1...v37.0.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-26 13:40:26 +02:00
dependabot[bot]
15cae61ee2 chore(deps-dev): bump ts-node from 10.3.1 to 10.4.0 (#3831)
Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 10.3.1 to 10.4.0.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](https://github.com/TypeStrong/ts-node/compare/v10.3.1...v10.4.0)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-26 13:40:16 +02:00
dependabot[bot]
f717880b8c chore(deps-dev): bump @types/lodash from 4.14.175 to 4.14.176 (#3825)
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.14.175 to 4.14.176.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-22 16:59:26 +02:00
dependabot[bot]
8b10e201f5 chore(deps-dev): bump ts-node from 10.3.0 to 10.3.1 (#3829)
Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 10.3.0 to 10.3.1.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](https://github.com/TypeStrong/ts-node/compare/v10.3.0...v10.3.1)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-22 16:59:17 +02:00
dependabot[bot]
a2a5836804 chore(deps-dev): bump @types/node from 16.11.1 to 16.11.2 (#3826) 2021-10-22 11:32:50 +02:00
dependabot[bot]
2720d84ff5 chore(deps-dev): bump webpack from 5.59.0 to 5.59.1 (#3827) 2021-10-22 11:32:38 +02:00
dependabot[bot]
4ad2d71bca chore(deps-dev): bump husky from 7.0.2 to 7.0.4 (#3828) 2021-10-22 11:32:28 +02:00
dependabot[bot]
6d2428c97e chore(deps-dev): bump webpack from 5.58.2 to 5.59.0 (#3824)
Bumps [webpack](https://github.com/webpack/webpack) from 5.58.2 to 5.59.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.58.2...v5.59.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-20 15:12:02 +02:00
dependabot[bot]
bfe7a6a0a1 chore(deps-dev): bump @types/node from 16.11.0 to 16.11.1 (#3821)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.0 to 16.11.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-20 15:11:53 +02:00
Daniel Sogl
dce0a22b23 chore(package): bump deps 2021-10-19 18:51:21 +02:00
Daniel Sogl
ba62223ce2 refactor(hyper-track): fix type errors 2021-10-19 18:46:32 +02:00
dependabot[bot]
a1d2868343 chore(deps-dev): bump ts-jest from 27.0.6 to 27.0.7 (#3823) 2021-10-19 12:40:34 +02:00
dependabot[bot]
d13f72d851 chore(deps-dev): bump jest from 27.2.5 to 27.3.0 (#3822) 2021-10-19 12:40:24 +02:00
268 changed files with 4948 additions and 59865 deletions

View File

@@ -1 +1 @@
root: ./docs/
root: ./docs/plugins/

View File

@@ -1,7 +1,7 @@
**I'm submitting a ...** (check one with "x")
[ ] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or https://ionicworldwide.herokuapp.com/
- [ ] bug report
- [ ] feature request
- [ ] support request => Please do not submit support requests here, use the discussions section https://github.com/danielsogl/awesome-cordova-plugins/discussions
**Current behavior:**
<!-- Describe how the bug manifests. -->

View File

@@ -1,11 +0,0 @@
version: 2
updates:
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'daily'
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'daily'

View File

@@ -8,12 +8,12 @@ jobs:
strategy:
matrix:
node-version: [14.x]
node-version: [16.x]
steps:
- uses: actions/checkout@v2.3.5
- uses: actions/checkout@v3.5.2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2.4.1
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ matrix.node-version }}
@@ -21,7 +21,7 @@ jobs:
run: npm ci
- name: Lint
run: npm run lint
run: npm run lint -- --quiet
- name: Build
run: npm run build

View File

@@ -9,10 +9,10 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.5
- uses: actions/setup-node@v2.4.1
- uses: actions/checkout@v3.5.2
- uses: actions/setup-node@v3.6.0
with:
node-version: 14
node-version: 16
- name: Install dependencies
run: npm ci
- name: Build
@@ -24,10 +24,10 @@ jobs:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.5
- uses: actions/setup-node@v2.4.1
- uses: actions/checkout@v3.5.2
- uses: actions/setup-node@v3.6.0
with:
node-version: 14
node-version: 16
registry-url: https://registry.npmjs.org/
- run: npm ci
- run: npm run shipit

View File

@@ -13,7 +13,7 @@ jobs:
pull-requests: write
steps:
- uses: actions/stale@v4
- uses: actions/stale@v8
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'There has been no recent activity and this issue has been marked inactive.'

View File

@@ -1,3 +1,250 @@
# [6.3.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.2.0...v6.3.0) (2022-12-31)
### Bug Fixes
* **chooser:** Update for support android 11+ ([#4436](https://github.com/danielsogl/awesome-cordova-plugins/issues/4436)) ([ba37646](https://github.com/danielsogl/awesome-cordova-plugins/commit/ba37646fc4b7cc86b497affa0ef932ad374b9080))
### Features
* **advanced-image-picker:** add plugin ([#4434](https://github.com/danielsogl/awesome-cordova-plugins/issues/4434)) ([63cfd44](https://github.com/danielsogl/awesome-cordova-plugins/commit/63cfd4488d17b5cdac8a8302b310acc6c308c5a2))
* **brightness:** add brightness plugin ([#4454](https://github.com/danielsogl/awesome-cordova-plugins/issues/4454)) ([f02bc78](https://github.com/danielsogl/awesome-cordova-plugins/commit/f02bc78ec253f6388750e662571300c82e990b51))
* **clevertap:** support clevertap-cordova 2.6.0 ([#4458](https://github.com/danielsogl/awesome-cordova-plugins/issues/4458)) ([74a80c0](https://github.com/danielsogl/awesome-cordova-plugins/commit/74a80c0953577478bd15fe16ab9edf28dcb27280)), closes [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
* **diagnostics:** add getBluetoothAuthorizationStatuses function ([#4442](https://github.com/danielsogl/awesome-cordova-plugins/issues/4442)) ([ff78ca7](https://github.com/danielsogl/awesome-cordova-plugins/commit/ff78ca7fb4335698076282ec9da99433939f276a))
* **fbsdk:** add plugin ([#4431](https://github.com/danielsogl/awesome-cordova-plugins/issues/4431)) ([a095422](https://github.com/danielsogl/awesome-cordova-plugins/commit/a0954228896b53dc42db3cbf6d6e89764d83646d))
* **ffmpeg:** add plugin ([#4435](https://github.com/danielsogl/awesome-cordova-plugins/issues/4435)) ([9b4502f](https://github.com/danielsogl/awesome-cordova-plugins/commit/9b4502f9297d1a0a579db3fd0165c98e0897625e))
* **fingerprint-aio:** update plugin ([#4423](https://github.com/danielsogl/awesome-cordova-plugins/issues/4423)) ([0579e67](https://github.com/danielsogl/awesome-cordova-plugins/commit/0579e67e966eb0469bccd22ee88d0c4c9c375838))
* **mobile-accessibility:** add mobile-accessibility plugin ([#4456](https://github.com/danielsogl/awesome-cordova-plugins/issues/4456)) ([e51a1a7](https://github.com/danielsogl/awesome-cordova-plugins/commit/e51a1a79efcfd99e05783d567472251277f1bf93))
* **power-management:** add power management support ([#4443](https://github.com/danielsogl/awesome-cordova-plugins/issues/4443)) ([b283dc2](https://github.com/danielsogl/awesome-cordova-plugins/commit/b283dc2e761dd897556a8ed955a312b663ca9c5e))
* **unique-device-id:** add unique-device-id plugin ([#4455](https://github.com/danielsogl/awesome-cordova-plugins/issues/4455)) ([7fe3ad1](https://github.com/danielsogl/awesome-cordova-plugins/commit/7fe3ad1daabeac6c8365ddfce4d2b44df94ed00b))
* **wonderpush:** expose getters and setters ([#4441](https://github.com/danielsogl/awesome-cordova-plugins/issues/4441)) ([3b1d059](https://github.com/danielsogl/awesome-cordova-plugins/commit/3b1d0593daf5732ea9f6268af84a612a575a3941))
# [6.2.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.1.0...v6.2.0) (2022-11-04)
### Bug Fixes
* **bluetooth-le:** use correct return types ([#4411](https://github.com/danielsogl/awesome-cordova-plugins/issues/4411)) ([2d347e4](https://github.com/danielsogl/awesome-cordova-plugins/commit/2d347e46edb47a13e662e55ae8c126021a54ea85))
* **deps:** update dependency tslib to v2.4.1 ([#4413](https://github.com/danielsogl/awesome-cordova-plugins/issues/4413)) ([e90a6a3](https://github.com/danielsogl/awesome-cordova-plugins/commit/e90a6a306c24bf5b58ff2419fe1e8fea73c62472))
* **diagnostic:** add getBluetoothAuthorizationStatus function ([#4398](https://github.com/danielsogl/awesome-cordova-plugins/issues/4398)) ([c544b43](https://github.com/danielsogl/awesome-cordova-plugins/commit/c544b43a5198566b2e56a0c3e0bbeb74e5527f0e))
* **diagnostic:** add new Android runtime permissions for Bluetooth ([#4402](https://github.com/danielsogl/awesome-cordova-plugins/issues/4402)) ([6a97dc5](https://github.com/danielsogl/awesome-cordova-plugins/commit/6a97dc5e07ace559b766482ca1ee1a187ffb5d0c))
### Features
* **ble:** add wrapper for starting location notifications ([#4399](https://github.com/danielsogl/awesome-cordova-plugins/issues/4399)) ([755b28e](https://github.com/danielsogl/awesome-cordova-plugins/commit/755b28e32534d75a6f8079b9be5a8e1b81aef636))
* **crop-privacy:** add plugin ([#4408](https://github.com/danielsogl/awesome-cordova-plugins/issues/4408)) ([1e258ad](https://github.com/danielsogl/awesome-cordova-plugins/commit/1e258adeb5506d3bfa3eff755a710fa6373f6dcc))
* **device:** detect if app is running on a macOS desktop with Apple Silicon ([#4299](https://github.com/danielsogl/awesome-cordova-plugins/issues/4299)) ([af55cb2](https://github.com/danielsogl/awesome-cordova-plugins/commit/af55cb25fa39146c0ed79d94e3805a401b881cc2))
* **file-chooser:** add plugin ([#4396](https://github.com/danielsogl/awesome-cordova-plugins/issues/4396)) ([97f5661](https://github.com/danielsogl/awesome-cordova-plugins/commit/97f566170efdc90f48a4f7b4aef292dccfb0165c))
* **image-resizer:** add plugin ([#4397](https://github.com/danielsogl/awesome-cordova-plugins/issues/4397)) ([d2e92f5](https://github.com/danielsogl/awesome-cordova-plugins/commit/d2e92f558972d62e6061494bee3562c70dfe7de1))
* **newrelic:** add plugin ([#4409](https://github.com/danielsogl/awesome-cordova-plugins/issues/4409)) ([ef499ed](https://github.com/danielsogl/awesome-cordova-plugins/commit/ef499ed290d399a76ff3428b2dca63bd7ae0977f))
# [6.1.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.0.1...v6.1.0) (2022-10-22)
### Bug Fixes
* **launch-navigator:** use currect handlers ([#4385](https://github.com/danielsogl/awesome-cordova-plugins/issues/4385)) ([62f664e](https://github.com/danielsogl/awesome-cordova-plugins/commit/62f664e61a31f7b8be395cd6ce575604c5b5e88c))
### Features
* **diagnostic:** addisCameraRollAuthorized and getCameraRollAuthorizationStatus functions (WIP) ([#4362](https://github.com/danielsogl/awesome-cordova-plugins/issues/4362)) ([cd81cfa](https://github.com/danielsogl/awesome-cordova-plugins/commit/cd81cfabf4a3027d65597a3b7079da5998988891))
* **webim:** update plugin wrapper ([#4370](https://github.com/danielsogl/awesome-cordova-plugins/issues/4370)) ([81a8b42](https://github.com/danielsogl/awesome-cordova-plugins/commit/81a8b42a29f8b83fdcae8f6bcdf5179d009ad72d))
## [6.0.1](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.0.0...v6.0.1) (2022-10-17)
### Bug Fixes
* use correct core version ([e7d1641](https://github.com/danielsogl/awesome-cordova-plugins/commit/e7d1641fe9b3cc18bbfab0fb7f23d8b3a4136e9b))
# [6.0.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.46.0...v6.0.0) (2022-10-15)
### Features
* **core:** use angular ivy ([#4369](https://github.com/danielsogl/awesome-cordova-plugins/issues/4369)) ([85441e5](https://github.com/danielsogl/awesome-cordova-plugins/commit/85441e59cac2ac9f40b9da55647ec89c9bafb2ea))
# [5.46.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.45.0...v5.46.0) (2022-10-09)
### Bug Fixes
* **sms-retriever:** update startWatching result type ([#4309](https://github.com/danielsogl/awesome-cordova-plugins/issues/4309)) ([178489f](https://github.com/danielsogl/awesome-cordova-plugins/commit/178489ffaae6ad256ca1536bc79e63354c72516f))
### Features
* **adjust:** update wrapper for Adjust Cordova SDK v4.32.0 ([#4327](https://github.com/danielsogl/awesome-cordova-plugins/issues/4327)) ([a7a1091](https://github.com/danielsogl/awesome-cordova-plugins/commit/a7a10913fcfc218dddd1b55b24aa797b47e3bf73))
* **app-review:** add plugin ([#4348](https://github.com/danielsogl/awesome-cordova-plugins/issues/4348)) ([b0780a8](https://github.com/danielsogl/awesome-cordova-plugins/commit/b0780a8bec1f061489966ab29ebd44736eb3536e))
* **applovin:** add plugin ([#4307](https://github.com/danielsogl/awesome-cordova-plugins/issues/4307)) ([bf860c3](https://github.com/danielsogl/awesome-cordova-plugins/commit/bf860c30c216e05bc516c179979210c1645570a9))
* **bluetooth-le:** upgrade to v6.7.0 ([#4320](https://github.com/danielsogl/awesome-cordova-plugins/issues/4320)) ([98dc7c4](https://github.com/danielsogl/awesome-cordova-plugins/commit/98dc7c4be0c3a63775a63926e5958bcde79e7d5c))
* **device:** add sdkVersion ([#4354](https://github.com/danielsogl/awesome-cordova-plugins/issues/4354)) ([acb39e5](https://github.com/danielsogl/awesome-cordova-plugins/commit/acb39e5849f368e2d2ac75baa5d341b189206e27))
* **diagnostic:** extend parameter for requestLocationAuthorization ([#4350](https://github.com/danielsogl/awesome-cordova-plugins/issues/4350)) ([b572a10](https://github.com/danielsogl/awesome-cordova-plugins/commit/b572a10a6e1e4063fdd19a04acc09d049b973d67))
* **firebase-x:** add MessagePayloadAps prop ([#4344](https://github.com/danielsogl/awesome-cordova-plugins/issues/4344)) ([dc1ee8c](https://github.com/danielsogl/awesome-cordova-plugins/commit/dc1ee8c5306196562a0013924014a0d7adfa5059))
* **GCDWebServer:** add plugin ([#4302](https://github.com/danielsogl/awesome-cordova-plugins/issues/4302)) ([f8c6430](https://github.com/danielsogl/awesome-cordova-plugins/commit/f8c6430a26f5b489255c4f36629f245ed23bb280))
* **webim:** add plugin ([#4355](https://github.com/danielsogl/awesome-cordova-plugins/issues/4355)) ([7430284](https://github.com/danielsogl/awesome-cordova-plugins/commit/74302846dc387423d51da79be82f7e0fee4a45bf))
# [5.45.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.44.0...v5.45.0) (2022-09-05)
### Features
* **adjust:** update wrapper for Adjust Cordova SDK v4.30.0 ([#4277](https://github.com/danielsogl/awesome-cordova-plugins/issues/4277)) ([82377f0](https://github.com/danielsogl/awesome-cordova-plugins/commit/82377f06330e8618e50a57004c9a79cafa66d972))
* **android-permissions:** add android 13 permissions ([#4295](https://github.com/danielsogl/awesome-cordova-plugins/issues/4295)) ([ba9c1c1](https://github.com/danielsogl/awesome-cordova-plugins/commit/ba9c1c154e76900f9570a7f3acc7728fd32a89a2))
* **dynamsoft-barcode:** add setFocus and setZoom ([#4281](https://github.com/danielsogl/awesome-cordova-plugins/issues/4281)) ([a801c7d](https://github.com/danielsogl/awesome-cordova-plugins/commit/a801c7d3054d285c962b4657f4b224c9a9ad67cf))
* **firebase-x:** add message typing ([#4282](https://github.com/danielsogl/awesome-cordova-plugins/issues/4282)) ([898e0b8](https://github.com/danielsogl/awesome-cordova-plugins/commit/898e0b8588f479aea228746c2b3e177c6066f757))
* **in-app-purchase-2:** update validator for custom headers ([#4262](https://github.com/danielsogl/awesome-cordova-plugins/issues/4262)) ([8b826e3](https://github.com/danielsogl/awesome-cordova-plugins/commit/8b826e3c1b2b53e0d188e90d22f34948b2362cd4))
* **intercom:** add displaySurvey ([#4292](https://github.com/danielsogl/awesome-cordova-plugins/issues/4292)) ([ebdd6e9](https://github.com/danielsogl/awesome-cordova-plugins/commit/ebdd6e97964d6c1e862f0160180d6e056f91de88))
* **lets-cooee:** add event observer and installation documentation ([#4278](https://github.com/danielsogl/awesome-cordova-plugins/issues/4278)) ([aef160e](https://github.com/danielsogl/awesome-cordova-plugins/commit/aef160e4180d28598a8ef25c75cd8057dd59f81f))
* **unvired-cordova-sdk:** Add new function to regenrate the JWT Token ([#4291](https://github.com/danielsogl/awesome-cordova-plugins/issues/4291)) ([678fb71](https://github.com/danielsogl/awesome-cordova-plugins/commit/678fb71a7f4cf1ad34c2746fdaa3690a13df4fe4))
# [5.44.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.43.0...v5.44.0) (2022-06-30)
### Bug Fixes
* **diagnostic:** adjust options declaration ([#4227](https://github.com/danielsogl/awesome-cordova-plugins/issues/4227)) ([19fc222](https://github.com/danielsogl/awesome-cordova-plugins/commit/19fc222ea93c79c53156aa0a05b3dc0bffa77a7e))
* **urbanairship:** fix cordova and method wrapper options ([#4221](https://github.com/danielsogl/awesome-cordova-plugins/issues/4221)) ([0442260](https://github.com/danielsogl/awesome-cordova-plugins/commit/04422600ca9675ff1f5ff763e3aba03b7abb8455))
### Features
* **cooee:** add plugin ([#4228](https://github.com/danielsogl/awesome-cordova-plugins/issues/4228)) ([7a528b4](https://github.com/danielsogl/awesome-cordova-plugins/commit/7a528b42d9427222d01b8e0da675045996be042d))
* **dynamsoft-barcode:** update startScanning options ([#4205](https://github.com/danielsogl/awesome-cordova-plugins/issues/4205)) ([4e183b1](https://github.com/danielsogl/awesome-cordova-plugins/commit/4e183b18818864b23501fa4bccd2813ca4149e5a))
* **file-md5:** add plugin ([#4201](https://github.com/danielsogl/awesome-cordova-plugins/issues/4201)) ([63c8365](https://github.com/danielsogl/awesome-cordova-plugins/commit/63c83653c0d0942d9cac2185bd8b9f38a5b4980c))
* **mobile-messaging:** add chat methods ([#4231](https://github.com/danielsogl/awesome-cordova-plugins/issues/4231)) ([f96b758](https://github.com/danielsogl/awesome-cordova-plugins/commit/f96b7588dece0ed1119d7166168486315f9fc714))
* **zip:** add plugin ([#4238](https://github.com/danielsogl/awesome-cordova-plugins/issues/4238)) ([0a31a37](https://github.com/danielsogl/awesome-cordova-plugins/commit/0a31a374b1a73403785a1e6c9104381ee9761940))
# [5.43.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.42.0...v5.43.0) (2022-05-25)
# [5.42.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.41.0...v5.42.0) (2022-05-21)
### Bug Fixes
* **deps:** update dependency tslib to v2.4.0 ([#4154](https://github.com/danielsogl/awesome-cordova-plugins/issues/4154)) ([bae0a8d](https://github.com/danielsogl/awesome-cordova-plugins/commit/bae0a8dbc85fb751470365080b1a35689d9d6be4))
* **keychain:** mark useTouchID as required ([#4182](https://github.com/danielsogl/awesome-cordova-plugins/issues/4182)) ([6b2c1fd](https://github.com/danielsogl/awesome-cordova-plugins/commit/6b2c1fd32e068a25dccd0f9fda5357fdc9eb7c26))
### Features
* **dynamsoft barcode scanner:** update plugin ([#4176](https://github.com/danielsogl/awesome-cordova-plugins/issues/4176)) ([7e2452b](https://github.com/danielsogl/awesome-cordova-plugins/commit/7e2452b6ad0526247dcb310d37f819026c90451c))
* **hyper-track:** add new functions ([#4128](https://github.com/danielsogl/awesome-cordova-plugins/issues/4128)) ([26a8cbe](https://github.com/danielsogl/awesome-cordova-plugins/commit/26a8cbe437f63e8dd80b9fac643ee68070b9a1cf))
* **in-app-purchase-2:** add launchPriceChangeConfirmationFlow ([#4127](https://github.com/danielsogl/awesome-cordova-plugins/issues/4127)) ([c2b01e0](https://github.com/danielsogl/awesome-cordova-plugins/commit/c2b01e051086d87747597ac3554feaa8772a71d1))
### Reverts
* Revert "chore(deps): update dependency jest to v28 (#4159)" (#4163) ([710cf7a](https://github.com/danielsogl/awesome-cordova-plugins/commit/710cf7acc0d12c981adb9b00db96945e4348c643)), closes [#4159](https://github.com/danielsogl/awesome-cordova-plugins/issues/4159) [#4163](https://github.com/danielsogl/awesome-cordova-plugins/issues/4163)
# [5.41.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.40.0...v5.41.0) (2022-04-02)
### Features
* **http:** add set client auth mode method ([#4100](https://github.com/danielsogl/awesome-cordova-plugins/issues/4100)) ([04fdacc](https://github.com/danielsogl/awesome-cordova-plugins/commit/04fdacc22feba4eedf14c76b0a9c408ec1ee1bdf))
* **star-prnt:** allow null port for print methods and openCashDrawer ([#4095](https://github.com/danielsogl/awesome-cordova-plugins/issues/4095)) ([a17dba1](https://github.com/danielsogl/awesome-cordova-plugins/commit/a17dba1f8b6570d76d5c8a30f437edb2dca9abea))
* **urbanairship:** new functions for version cordova-urbanairship 14.0 ([#4097](https://github.com/danielsogl/awesome-cordova-plugins/issues/4097)) ([12ef7ac](https://github.com/danielsogl/awesome-cordova-plugins/commit/12ef7ac215f1f9cf718a004fae9e7f4d01f597b8))
# [5.40.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.39.1...v5.40.0) (2022-03-05)
### Features
* **browser-tab:** add plugin ([#4046](https://github.com/danielsogl/awesome-cordova-plugins/issues/4046)) ([daa4887](https://github.com/danielsogl/awesome-cordova-plugins/commit/daa48873255d0fc31608cc8515e08386c01db6dd))
* **urbanairship:** Add attributes editing and fix tag editing ([#4058](https://github.com/danielsogl/awesome-cordova-plugins/issues/4058)) ([d9e9a6d](https://github.com/danielsogl/awesome-cordova-plugins/commit/d9e9a6d31aed0308bc3cb0bf07ee7e1682e2f66f))
## [5.39.1](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.39.0...v5.39.1) (2022-02-12)
### Bug Fixes
* **background-upload:** use correct plugin source ([#4028](https://github.com/danielsogl/awesome-cordova-plugins/issues/4028)) ([8e257f3](https://github.com/danielsogl/awesome-cordova-plugins/commit/8e257f3e08528954a69581eef98871d1fb146441))
# [5.39.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.38.0...v5.39.0) (2022-02-01)
### Bug Fixes
* **firebase-x:** change incrementCounter signature ([#4010](https://github.com/danielsogl/awesome-cordova-plugins/issues/4010)) ([bb1f326](https://github.com/danielsogl/awesome-cordova-plugins/commit/bb1f3268dede9633f5736cedfa5f4ccc15f89aa9))
### Features
* **clevertap:** support new clevertap changes ([#4011](https://github.com/danielsogl/awesome-cordova-plugins/issues/4011)) ([24c61a5](https://github.com/danielsogl/awesome-cordova-plugins/commit/24c61a50a76cc174245624ea71f21bf0f556a317)), closes [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
# [5.38.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.37.3...v5.38.0) (2022-01-27)
### Bug Fixes
* **social-sharing:** change shareWithOptions parameter typing ([#3996](https://github.com/danielsogl/awesome-cordova-plugins/issues/3996)) ([a1e85d2](https://github.com/danielsogl/awesome-cordova-plugins/commit/a1e85d2f80a18a4b2da93abdd85ebd5ab04f1b16))
### Features
* **camera-preview:** add storeToFile param ([#3958](https://github.com/danielsogl/awesome-cordova-plugins/issues/3958)) ([6a93bb2](https://github.com/danielsogl/awesome-cordova-plugins/commit/6a93bb2e9b450d89112768e78c5cf888b85fcffa))
* **chooser-simple-file:** add plugin ([#3982](https://github.com/danielsogl/awesome-cordova-plugins/issues/3982)) ([67d8a37](https://github.com/danielsogl/awesome-cordova-plugins/commit/67d8a37d1e1d526da8beab8ac8e05b09312f30e4))
* **magnetometer:** add magnetometer wrapper ([#3887](https://github.com/danielsogl/awesome-cordova-plugins/issues/3887)) ([3b8566d](https://github.com/danielsogl/awesome-cordova-plugins/commit/3b8566df939773a4b9a1604a4af3a60e24cf9aed))
* **market:** add plugin ([e6140aa](https://github.com/danielsogl/awesome-cordova-plugins/commit/e6140aaaeef735731a292aabb3972624754f10c3))
* **sumup:** add test and setup function ([#3950](https://github.com/danielsogl/awesome-cordova-plugins/issues/3950)) ([7350c63](https://github.com/danielsogl/awesome-cordova-plugins/commit/7350c630fea4db8c31a07f46b4464bab2f1b55e4))
* **tealium:** update wrapper ([#3883](https://github.com/danielsogl/awesome-cordova-plugins/issues/3883)) ([771552c](https://github.com/danielsogl/awesome-cordova-plugins/commit/771552cd4286b755b5bd7a8bddb755bb3c3d5d0c))
## [5.37.3](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.37.2...v5.37.3) (2021-12-19)
## [5.37.2](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.37.1...v5.37.2) (2021-12-16)
### Bug Fixes
* **adjust:** added missing AdjustConfig method ([#3886](https://github.com/danielsogl/awesome-cordova-plugins/issues/3886)) ([a013e33](https://github.com/danielsogl/awesome-cordova-plugins/commit/a013e33e2c672c0faef75bef7bf1c28a8a62bb8e))
## [5.37.1](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.37.0...v5.37.1) (2021-11-24)
### Features
* **purchases:** add `setAirshipChannelID` method ([#3856](https://github.com/danielsogl/awesome-cordova-plugins/issues/3856)) ([2f25396](https://github.com/danielsogl/awesome-cordova-plugins/commit/2f25396c944a86b92de86cdf2e841ee7179bef19))
# [5.37.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.36.1...v5.37.0) (2021-10-16)

View File

@@ -6,50 +6,44 @@ This is a short guide on creating new plugin wrappers for Ionic Native.
First, let's start by creating a new plugin wrapper from template.
```
// Call this command, and replace PluginName with the name of the plugin you wish to add
// Make sure to capitalize the first letter, or use CamelCase if necessary.
// Call this command, and replace PluginName with the name of the plugin you wish to add
// Make sure to capitalize the first letter, or use CamelCase if necessary.
gulp plugin:create -n PluginName
gulp plugin:create -n PluginName
// add -m flag to get a minimal template to start with
gulp plugin:create -m -n PluginName
```
// add -m flag to get a minimal template to start with
gulp plugin:create -m -n PluginName
Running the command above will create a new directory `src/@ionic-native/plugins/plugin-name/` with a single file in there: `index.ts`. This file is where all the plugin definitions should be.
Let's take a look at the existing plugin wrapper for Geolocation to see what goes into an Ionic Native plugin (comments have been removed for clarity):
```
@Plugin({
plugin: 'cordova-plugin-geolocation',
pluginRef: 'navigator.geolocation'
})
@Injectable()
export class Geolocation {
@Plugin({
plugin: 'cordova-plugin-geolocation',
pluginRef: 'navigator.geolocation'
})
@Injectable()
export class Geolocation {
@Cordova()
getCurrentPosition(options?: GeolocationOptions): Promise<Geoposition> { return; }
@Cordova()
getCurrentPosition(options?: GeolocationOptions): Promise<Geoposition> { return; }
@Cordova({
callbackOrder: 'reverse',
observable: true,
clearFunction: 'clearWatch'
})
watchPosition(options?: GeolocationOptions): Observable<Geoposition> { return; }
}
```
@Cordova({
callbackOrder: 'reverse',
observable: true,
clearFunction: 'clearWatch'
})
watchPosition(options?: GeolocationOptions): Observable<Geoposition> { return; }
}
### The Plugin Class
First and foremost, we want to create a class representing our plugin, in this case Geolocation.
```
@Injectable()
class Geolocation {
@Injectable()
class Geolocation {
}
```
}
#### Class Metadata
@@ -57,16 +51,14 @@ Next, we need to specify some information about this plugin. Ionic Native is wri
For example, the `@Plugin` decorator adds information about the plugin to our Geolocation class:
```
@Plugin({
plugin: 'cordova-plugin-geolocation',
pluginRef: 'navigator.geolocation'
})
@Injectable()
export class Geolocation {
@Plugin({
plugin: 'cordova-plugin-geolocation',
pluginRef: 'navigator.geolocation'
})
@Injectable()
export class Geolocation {
}
```
}
Here, `plugin` is the name of the plugin package on npm and used when calling `cordova plugin add`.
@@ -78,10 +70,8 @@ Now all that's left is to add the plugin methods, in this case `getCurrentPositi
Let's take a look at `getCurrentPosition` first.
```
@Cordova()
getCurrentPosition(options?: GeolocationOptions): Promise<Geoposition> { return }
```
@Cordova()
getCurrentPosition(options?: GeolocationOptions): Promise<Geoposition> { return }
It's just a stub. The `return` is only there to keep the TypeScript type-checker from complaining since we indicate that `getCurrentPosition` returns a `Promise<Geoposition>`.
@@ -89,14 +79,12 @@ By default, the `@Cordova` decorator wraps the plugin callbacks in a Promise tha
Next, let's look at the `watchPosition` method.
```
@Cordova({
callbackOrder: 'reverse',
observable: true,
clearFunction: 'clearWatch'
})
watchPosition(options?: GeolocationOptions): Observable<Geoposition> { return }
```
@Cordova({
callbackOrder: 'reverse',
observable: true,
clearFunction: 'clearWatch'
})
watchPosition(options?: GeolocationOptions): Observable<Geoposition> { return }
The `@Cordova` decorator has a few more options now.
@@ -129,12 +117,19 @@ We have very precise rules over how our git commit messages can be formatted. Th
Must be one of the following:
- **fix**: A bug fix
- **feat**: A new feature
- **docs**: Documentation only changes
- **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
- **refactor**: A code change that neither fixes a bug nor adds a feature
- **perf**: A code change that improves performance
- **test**: Adding missing tests
- **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation
#### Scope
@@ -146,8 +141,11 @@ The scope could be anything specifying place of the commit change. For example,
The subject contains succinct description of the change:
- use the imperative, present tense: "change" not "changed" nor "changes"
- do not capitalize first letter
- do not place a period (.) at the end
- entire length of the commit message must not go over 50 characters
### Ionic Native Decorators
@@ -157,10 +155,15 @@ The subject contains succinct description of the change:
A decorator to wrap the main plugin class, and any other classes that will use `@Cordova` or `@CordovaProperty` decorators. This decorator accepts the following configuration:
- _pluginName_: Plugin name, this should match the class name
- _plugin_: The plugin's NPM package, or Github URL if NPM is not available.
- _pluginRef_: The plugin object reference. Example: 'cordova.file'.
- _repo_: The plugin's Github Repository URL
- _install_: (optional) Install command. This is used in case a plugin has a custom install command (takes variables).
- _platforms_: An array of strings indicating the supported platforms.
#### Cordova
@@ -168,20 +171,35 @@ A decorator to wrap the main plugin class, and any other classes that will use `
Checks if the plugin and the method are available before executing. By default, the decorator will wrap the callbacks of the function and return a Promise. This decorator takes the following configuration options:
- **observable**: set to true to return an Observable
- **methodName**: an optional name of the cordova plugins method name (if different from wrappers method name)
- **clearFunction**: an optional name of a method to clear the observable we returned
- **clearWithArgs**: 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.
- **sync**: set to true if the method should return the value as-is without wrapping with Observable/Promise
- **callbackOrder**: set to `reverse` if the success and error callbacks are the first two arguements of the method
- **callbackStyle**: set to `node` if the plugin has one callback with a node style (e.g: `function(err, result){}`), or set to `object` if the callbacks are part of an object
- **successName**: Success function property name. This must be set if callbackStyle is set to object.
- **errorName**: Error function property name. This must be set if callbackStyle is set to object.
- **successIndex**: Set a custom index for the success callback function. This doesn't work if callbackOrder or callbackStyle are set.
- **errorIndex**: Set a custom index for the error callback function. This doesn't work if callbackOrder or callbackStyle are set.
- **eventObservable**: set to true to return an observable that wraps an event listener
- **event**: Event name, this must be set if eventObservable is set to true
- **element**: Element to attach the event listener to, this is optional, defaults to `window`
- **otherPromise**: Set to true if the wrapped method returns a promise
- **platforms**: array of strings indicating supported platforms. Specify this if the supported platforms doesn't match the plugin's supported platforms.
Example:
@@ -210,6 +228,7 @@ someProperty: string;
Checks if the plugin exists before performing a custom written method. By default, the method will return a promise that will reject with an error if the plugin is not available. This wrapper accepts two optional configurations:
- **observable**: set to true to return an empty Observable if the plugin isn't available
- **sync**: set to true to return nothing if the plugin isn't available
Example:

View File

@@ -10,7 +10,7 @@ To learn more about the reasons why Ionic Native was renamed to Awesome Cordova
## Capacitor Support
In addition to Cordova, Awesome Cordova Plugins also works with [Capacitor](https://capacitor.ionicframework.com), Ionic's official native runtime. Basic usage below. For complete details, [see the Capacitor documentation](https://capacitor.ionicframework.com/docs/cordova/using-cordova-plugins).
In addition to Cordova, Awesome Cordova Plugins also works with [Capacitor](https://capacitorjs.com), Ionic's official native runtime. Basic usage below. For complete details, [see the Capacitor documentation](https://capacitorjs.com/docs/v2/cordova/using-cordova-plugins).
## Installation
@@ -24,7 +24,7 @@ You also need to install the Awesome Cordova Plugins package for each plugin you
## Documentation
For the full Awesome Cordova Plugins documentation, please visit [https://ionicframework.com/docs/native/](https://ionicframework.com/docs/native/).
For the full Awesome Cordova Plugins documentation, please visit <https://ionicframework.com/docs/native/>.
### Basic Usage
@@ -144,10 +144,13 @@ document.addEventListener('deviceready', () => {
Awesome Cordova Plugins generates an AngularJS module in runtime and prepares a service for each plugin. To use the plugins in your AngularJS app:
1. Download the latest bundle from the [Github releases](https://github.com/danielsogl/awesome-cordova-plugins/releases) page.
2. Include it in `index.html` before your app's code.
3. Inject `ionic.native` module in your app.
4. Inject any plugin you would like to use with a `$cordova` prefix.
1. Download the latest bundle from the [Github releases](https://github.com/danielsogl/awesome-cordova-plugins/releases) page.
2. Include it in `index.html` before your app's code.
3. Inject `ionic.native` module in your app.
4. Inject any plugin you would like to use with a `$cordova` prefix.
```js
angular.module('myApp', ['ionic.native']).controller('MyPageController', function ($cordovaCamera) {
@@ -166,9 +169,11 @@ angular.module('myApp', ['ionic.native']).controller('MyPageController', functio
To use Awesome Cordova Plugins in any other setup:
1. Download the latest bundle from the [Github releases](https://github.com/danielsogl/awesome-cordova-plugins/releases) page.
2. Include it in `index.html` before your app's code.
3. Access any plugin using the global `IonicNative` variable.
1. Download the latest bundle from the [Github releases](https://github.com/danielsogl/awesome-cordova-plugins/releases) page.
2. Include it in `index.html` before your app's code.
3. Access any plugin using the global `IonicNative` variable.
```js
document.addEventListener('deviceready', function () {
@@ -256,7 +261,7 @@ Spent way too long diagnosing an issue only to realize a plugin wasn't firing or
## Plugin Missing?
Let us know or submit a PR! Take a look at [the Developer Guide](https://github.com/danielsogl/awesome-cordova-plugins/blob/master/DEVELOPER.md) for more on how to contribute. :heart:
Let us know or submit a PR! Take a look at [the Developer Guide](https://github.com/danielsogl/awesome-cordova-plugins/blob/master/DEVELOPER.md) for more on how to contribute. ❤️
# Credits

View File

@@ -1,2 +0,0 @@
# Initial page

View File

@@ -107,7 +107,7 @@
* [LocalBackup](plugins/local-backup.md)
* [Native Geocoder](plugins/native-geocoder.md)
* [Coordinates](plugins/hyper-track.md)
* [HTTP](plugins/approov-advanced-http.md)
* [ApproovHTTP](plugins/approov-advanced-http.md)
* [Answers](plugins/fabric.md)
* [UriHelper](plugins/nfc.md)
* [Dialogs](plugins/dialogs.md)
@@ -214,6 +214,9 @@
* [Android Notch](plugins/android-notch.md)
* [Network Interface](plugins/network-interface.md)
* [Printer](plugins/printer.md)
* [Browser Tab](plugins/browser-tab.md)
* [Dynamsoft Barcode Scanner](plugins/dynamsoft-barcode-scanner.md)
* [GCDWebServer](plugins/gcdwebserver.md)
* [Installation](installation.md)
* [FAQ](faq.md)

View File

@@ -1,5 +1,7 @@
# AdjustPlayStoreSubscription
plugin add com.adjust.sdk
# Adjust
```
$ ionic cordova plugin add com.adjust.sdk
$ npm install @awesome-cordova-plugins/adjust
```

View File

@@ -0,0 +1,20 @@
# Applovin
```
$ ionic cordova plugin add cordova-plugin-applovin-max
$ npm install @awesome-cordova-plugins/applovin
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/applovin/)
Plugin Repo: [https://github.com/AppLovin/AppLovin-MAX-Cordova](https://github.com/AppLovin/AppLovin-MAX-Cordova)
This plugin allows you to easily configure, integrate and interact with Applovin ads.
## Supported platforms
- Android
- iOS

View File

@@ -0,0 +1,17 @@
# Browser Tab
```
$ ionic cordova plugin add cordova-plugin-browsertab
$ npm install @awesome-cordova-plugins/browser-tab
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/browser-tab/)
Plugin Repo: [https://github.com/google/cordova-plugin-browsertab](https://github.com/google/cordova-plugin-browsertab)
This plugin provides an interface to in-app browser tabs that exist on some mobile platforms, specifically [Custom Tabs](http://developer.android.com/tools/support-library/features.html#custom-tabs) on Android (including the [Chrome Custom Tabs](https://developer.chrome.com/multidevice/android/customtabs) implementation), and [SFSafariViewController](https://developer.apple.com/library/ios/documentation/SafariServices/Reference/SFSafariViewController_Ref/) on iOS.
## Supported platforms
- Android
- iOS

View File

@@ -0,0 +1,17 @@
# Browser Tab
```
$ ionic cordova plugin add cordova-plugin-browsertab
$ npm install @awesome-cordova-plugins/browser-tab
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/browser-tab/)
Plugin Repo: [https://github.com/google/cordova-plugin-browsertab](https://github.com/google/cordova-plugin-browsertab)
This plugin provides an interface to in-app browser tabs that exist on some mobile platforms, specifically [Custom Tabs](http://developer.android.com/tools/support-library/features.html#custom-tabs) on Android (including the [Chrome Custom Tabs](https://developer.chrome.com/multidevice/android/customtabs) implementation), and [SFSafariViewController](https://developer.apple.com/library/ios/documentation/SafariServices/Reference/SFSafariViewController_Ref/) on iOS.
## Supported platforms
- Android
- iOS

View File

@@ -0,0 +1,32 @@
# Chooser
```
$ ionic cordova plugin add cordova-plugin-simple-file-chooser
$ npm install @awesome-cordova-plugins/chooser-simple-file
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/chooser-simple-file/)
Plugin Repo: [https://github.com/hc-oss/cordova-plugin-simple-file-chooser](https://github.com/hc-oss/cordova-plugin-simple-file-chooser)
File chooser plugin for Cordova.
The following must be added to config.xml to prevent crashing when selecting large files on Android:
```xml
<platform name="android">
<edit-config
file="app/src/main/AndroidManifest.xml"
mode="merge"
target="/manifest/application">
<application android:largeHeap="true" />
</edit-config>
</platform>
```
## Supported platforms
- Android
- iOS

View File

@@ -0,0 +1,20 @@
# Dynamsoft Barcode Scanner
```
$ ionic cordova plugin add cordova-plugin-dynamsoft-barcode-reader
$ npm install @awesome-cordova-plugins/dynamsoft-barcode-scanner
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/dynamsoft-barcode-scanner/)
Plugin Repo: [https://github.com/xulihang/cordova-plugin-dynamsoft-barcode-reader](https://github.com/xulihang/cordova-plugin-dynamsoft-barcode-reader)
The Dynamsoft Barcode Scanner Plugin can read barcodes from images as well as camera previews.
## Supported platforms
* Android
* iOS

View File

@@ -0,0 +1,20 @@
# dynamsoft-barcode-scanner
```
$ ''
$ npm install @awesome-cordova-plugins/dynamsoft-barcode-scanner
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/dynamsoft-barcode-scanner/)
Plugin Repo: [https://github.com/xulihang/cordova-plugin-dynamsoft-barcode-reader](https://github.com/xulihang/cordova-plugin-dynamsoft-barcode-reader)
This plugin scans barcodes using Dynamsoft Barcode Reader
## Supported platforms
- Android
- iOS

View File

@@ -0,0 +1,20 @@
# File MD5
```
$ ionic cordova plugin add cordova-plugin-file-md5
$ npm install @awesome-cordova-plugins/file-md5
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/file-md5/)
Plugin Repo: [https://github.com/mramonlopez/cordova-plugin-file-md5](https://github.com/mramonlopez/cordova-plugin-file-md5)
This plugin reads large files in chunks and build the md5sum incrementally.
## Supported platforms
- Android
- iOS

View File

@@ -23,7 +23,7 @@ Go to firebase console and export google-services.json and GoogleService-Info.pl
NOTE: on iOS in order to collect demographic, age, gender data etc. you should additionally include AdSupport.framework into your project.
## Using capacitor?
For Android you'll have to add in __android/app/src/main/AndroidManfiest.xml__ under `<application>`
For Android you'll have to add in __android/app/src/main/AndroidManifest.xml__ under `<application>`
```
<meta-data
tools:replace="android:value"

19
docs/plugins/gcdwebserver.md Executable file
View File

@@ -0,0 +1,19 @@
# GCDWebServer
```
$ ionic cordova plugin add cordova-plugin-gcdwebserver
$ npm install @awesome-cordova-plugins/gcdwebserver
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/gcdwebserver/)
Plugin Repo: [https://github.com/xulihang/cordova-plugin-gcdwebserver](https://github.com/xulihang/cordova-plugin-gcdwebserver)
The [GCDWebServer](https://github.com/swisspol/GCDWebServer/) Plugin can start an HTTP server to serve static files.
## Supported platforms
iOS

View File

@@ -0,0 +1,19 @@
# GCDWebServer
```
$ ionic cordova plugin add cordova-plugin-gcdwebserver
$ npm install @awesome-cordova-plugins/gcdwebserver
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/gcdwebserver/)
Plugin Repo: [https://github.com/xulihang/cordova-plugin-gcdwebserver](https://github.com/xulihang/cordova-plugin-gcdwebserver)
The [GCDWebServer](https://github.com/swisspol/GCDWebServer/) Plugin can start an HTTP server to serve static files.
## Supported platforms
iOS

View File

@@ -13,7 +13,7 @@ Get and set data in the iOS Keychain
Requires Cordova plugin: `cordova-plugin-ios-keychain`. For more info, please see the [Keychain plugin docs](https://github.com/ionic-team/cordova-plugin-ios-keychain).
See also [Secure Storage](https://ionicframework.com/docs/native/secure-storage/) for more supported platforms.
See also [Secure Storage](https://ionic.io/docs/secure-storage) for more supported platforms.
## Supported platforms

View File

@@ -0,0 +1,20 @@
# Lets Cooee
```
$ ionic cordova plugin add @letscooee/cordova-plugin --variable COOEE_APP_ID=appId
$ npm install @awesome-cordova-plugins/lets-cooee
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/lets-cooee/)
Plugin Repo: [https://github.com/letscooee/cordova-plugin-cooee](https://github.com/letscooee/cordova-plugin-cooee)
AI driven Personalised Notifications for Better Customer Engagement
## Supported platforms
- Android
- iOS

View File

@@ -0,0 +1,20 @@
# Device eMagnetometer
```
$ ionic cordova plugin add cordova-plugin-magnetometer
$ npm install @awesome-cordova-plugins/magnetometer
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/magnetometer/)
Plugin Repo: [https://github.com/sdesalas/cordova-plugin-magnetometer](https://github.com/sdesalas/cordova-plugin-magnetometer)
Requires Cordova plugin: `cordova-plugin-magnetometer`. For more info, please see the [Device Orientation docs](https://github.com/sdesalas/cordova-plugin-magnetometer).
## Supported platforms
- Android
- iOS

View File

@@ -0,0 +1,20 @@
# Market
```
$ ionic cordova plugin add cordova-plugin-market
$ npm install @awesome-cordova-plugins/market
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/market/)
Plugin Repo: [https://github.com/xmartlabs/cordova-plugin-market](https://github.com/xmartlabs/cordova-plugin-market)
Opens an app's page in the market place (Google Play, App Store)
## Supported platforms
- Android
- iOS

View File

@@ -0,0 +1,20 @@
# newrelic mobile
```
$ ionic cordova plugin add https://github.com/newrelic/newrelic-cordova-plugin.git --variable IOS_APP_TOKEN="{ios-app-token}" --variable ANDROID_APP_TOKEN="{android-app-token}"
$ npm install @awesome-cordova-plugins/newrelic
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/newrelic/)
Plugin Repo: [https://github.com/newrelic/newrelic-cordova-plugin](https://github.com/newrelic/newrelic-cordova-plugin)
This NewRelic plugin collect crashes, network traffic, and other information for hybrid apps using native components.
## Supported platforms
- Android
- iOS

View File

@@ -0,0 +1,19 @@
# Power Management
```text
$ ionic cordova plugin add cordova-plugin-powermanagement
$ npm install @awesome-cordova-plugins/power-management
```
## [Usage Documentation](https://github.com/Viras-/cordova-plugin-powermanagement/)
Plugin Repo: [https://github.com/Viras-/cordova-plugin-powermanagement](https://github.com/Viras-/cordova-plugin-powermanagement)
A Cordova plugin that offers access to the devices power-management functionality.
It should be used for applications which keep running for a long time without any user interaction.
## Supported platforms
* Android
* iOS

View File

@@ -0,0 +1,19 @@
# Power Management
```text
$ ionic cordova plugin add cordova-plugin-powermanagement
$ npm install @awesome-cordova-plugins/power-management
```
## [Usage Documentation](https://github.com/Viras-/cordova-plugin-powermanagement/)
Plugin Repo: [https://github.com/Viras-/cordova-plugin-powermanagement](https://github.com/Viras-/cordova-plugin-powermanagement)
A Cordova plugin that offers access to the devices power-management functionality.
It should be used for applications which keep running for a long time without any user interaction.
## Supported platforms
* Android
* iOS

View File

@@ -1,7 +1,7 @@
# Purchases
```
$ ionic cordova plugin add cordova-plugin-purchases@2.3.0
$ ionic cordova plugin add cordova-plugin-purchases@2.4.0
$ npm install @awesome-cordova-plugins/purchases
```

View File

@@ -1,7 +1,5 @@
# Smartlook
```
$ ionic cordova plugin add https://github.com/smartlook/cordova-smartlook.git
# SmartlookEventTrackingMode
ova plugin add https://github.com/smartlook/cordova-smartlook.git
$ npm install @awesome-cordova-plugins/smartlook
```

View File

@@ -9,9 +9,9 @@ $ npm install @awesome-cordova-plugins/tealium
Plugin Repo: [https://github.com/Tealium/cordova-plugin](https://github.com/Tealium/cordova-plugin)
This plugin provides a TypeScript wrapper around the [Tealium](https://www.tealium.com) Cordova plugin for Ionic Native.
This plugin does provides a wrapper around the Tealium Cordova Plugin for Ionic Native.
For full documentation, see [https://community.tealiumiq.com/t5/Mobile-Libraries/Tealium-for-Cordova/ta-p/17618](https://community.tealiumiq.com/t5/Mobile-Libraries/Tealium-for-Cordova/ta-p/17618)
For full documentation, see [https://docs.tealium.com/platforms/cordova/](https://docs.tealium.com/platforms/cordova/)
## Supported platforms

View File

@@ -1,5 +1,5 @@
# LoginParameters
SDK
# UnviredResult
a SDK
```
$ ionic cordova plugin add @awesome-cordova-plugins/unvired-cordova-sdk

View File

@@ -7,12 +7,13 @@ $ npm install @awesome-cordova-plugins/urbanairship
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/urbanairship/)
Plugin Repo: [https://www.npmjs.com/package/urbanairship-cordova](https://www.npmjs.com/package/urbanairship-cordova)
Plugin Repo: [https://github.com/urbanairship/urbanairship-cordova](https://github.com/urbanairship/urbanairship-cordova)
Npm: [https://www.npmjs.com/package/urbanairship-cordova](https://www.npmjs.com/package/urbanairship-cordova)
This plugin does something
## Supported platforms
* Android
* iOS
* iOS

View File

@@ -0,0 +1,20 @@
# Zip
```
$ ionic cordova plugin add cordova-plugin-zip
$ npm install @awesome-cordova-plugins/zip
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/zip/)
Plugin Repo: [https://github.com/MobileChromeApps/cordova-plugin-zip](https://github.com/MobileChromeApps/cordova-plugin-zip)
A Cordova plugin to unzip files in Android and iOS.
## Supported platforms
- Android
- iOS

View File

@@ -31,7 +31,7 @@ gulp.task('plugin:create', () => {
.pipe(replace('{{ pluginName }}', _.lowerFirst(pluginName)))
.pipe(replace('{{ plugin-name }}', kebabCase))
.pipe(rename('index.ts'))
.pipe(gulp.dest('./src/@awesome-cordova-plugins/plugins/' + kebabCase));
.pipe(gulp.dest('./src/@awesome-cordova-plugins/shuto/' + kebabCase));
} else {
console.log('Usage is: gulp plugin:create -n PluginName');
}

6333
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "awesome-cordova-plugins",
"version": "5.37.0",
"version": "6.3.0",
"description": "Native plugin wrappers for Cordova and Ionic with TypeScript, ES6+, Promise and Observable support",
"homepage": "https://awesome-cordova-plugins.com",
"author": "Daniel Sogl <me@danielsogl.com> (https://danielsogl.com)",
@@ -24,52 +24,52 @@
"prettier": "prettier --write --ignore-unknown \"**/*\""
},
"dependencies": {
"tslib": "^2.3.1"
"tslib": "2.5.0"
},
"devDependencies": {
"@angular/common": "^11.2.14",
"@angular/compiler": "^11.2.14",
"@angular/compiler-cli": "^11.2.14",
"@angular/core": "^11.2.14",
"@types/cordova": "0.0.34",
"@types/fs-extra": "^9.0.12",
"@types/jest": "^27.0.1",
"@types/lodash": "^4.14.175",
"@types/node": "^16.11.0",
"@types/rimraf": "^3.0.2",
"@types/webpack": "^5.28.0",
"@typescript-eslint/eslint-plugin": "^4.33.0",
"@typescript-eslint/parser": "^4.33.0",
"async-promise-queue": "^1.0.5",
"conventional-changelog-cli": "^2.1.1",
"cz-conventional-changelog": "^3.3.0",
"dgeni": "^0.4.14",
"@angular/common": "12.2.16",
"@angular/compiler": "12.2.16",
"@angular/compiler-cli": "12.2.16",
"@angular/core": "12.2.16",
"@types/cordova": "11.0.0",
"@types/fs-extra": "11.0.1",
"@types/jest": "27.5.2",
"@types/lodash": "4.14.194",
"@types/node": "18.16.3",
"@types/rimraf": "3.0.2",
"@types/webpack": "5.28.0",
"@typescript-eslint/eslint-plugin": "5.59.1",
"@typescript-eslint/parser": "5.59.1",
"async-promise-queue": "1.0.5",
"conventional-changelog-cli": "2.2.2",
"cz-conventional-changelog": "3.3.0",
"dgeni": "0.4.14",
"dgeni-packages": "0.16.10",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-jsdoc": "^36.1.1",
"fs-extra": "^10.0.0",
"gulp": "^4.0.2",
"gulp-rename": "^2.0.0",
"gulp-replace": "^1.1.3",
"husky": "^7.0.1",
"is-ci": "^3.0.0",
"jest": "^27.2.5",
"lint-staged": "^11.2.3",
"lodash": "^4.17.21",
"minimist": "^1.2.5",
"prettier": "^2.3.2",
"rimraf": "^3.0.2",
"rollup": "^2.58.0",
"rxjs": "^6.6.7",
"terser-webpack-plugin": "^5.2.4",
"ts-jest": "^27.0.6",
"ts-node": "^10.3.0",
"typescript": "~4.1.6",
"unminified-webpack-plugin": "^3.0.0",
"webpack": "^5.58.2",
"winston": "^3.3.3",
"zone.js": "^0.11.4"
"eslint": "8.39.0",
"eslint-config-prettier": "8.8.0",
"eslint-plugin-jsdoc": "43.1.1",
"fs-extra": "11.1.1",
"gulp": "4.0.2",
"gulp-rename": "2.0.0",
"gulp-replace": "1.1.4",
"husky": "8.0.3",
"is-ci": "3.0.1",
"jest": "27.5.1",
"lint-staged": "13.2.2",
"lodash": "4.17.21",
"minimist": "1.2.8",
"prettier": "2.8.8",
"rimraf": "5.0.0",
"rollup": "3.21.1",
"rxjs": "6.6.7",
"terser-webpack-plugin": "5.3.7",
"ts-jest": "27.1.5",
"ts-node": "10.9.1",
"typescript": "4.2.4",
"unminified-webpack-plugin": "3.0.0",
"webpack": "5.74.0",
"winston": "3.8.2",
"zone.js": "0.11.8"
},
"jest": {
"testEnvironment": "jsdom",

5
renovate.json Normal file
View File

@@ -0,0 +1,5 @@
{
"extends": [
"config:base"
]
}

View File

@@ -18,7 +18,7 @@ export const ROOT = resolve(__dirname, '../../');
// tslint:disable-next-line:no-var-requires
export const TS_CONFIG = clone(require(resolve(ROOT, 'tsconfig.json')));
export const COMPILER_OPTIONS = TS_CONFIG.compilerOptions;
export const PLUGINS_ROOT = join(ROOT, 'src/@awesome-cordova-plugins/plugins/');
export const PLUGINS_ROOT = join(ROOT, 'src/@awesome-cordova-plugins/shuto/');
export const PLUGIN_PATHS = readdirSync(PLUGINS_ROOT).map((d) => join(PLUGINS_ROOT, d, 'index.ts'));
export function getDecorator(node: Node, index = 0): Decorator {

View File

@@ -21,7 +21,8 @@ export function getProgram(rootNames: string[] = createSourceFiles()) {
options.inlineSourceMap = true;
options.importHelpers = true;
options.inlineSources = true;
options.enableIvy = false;
options.enableIvy = true;
options.compilationMode = 'partial';
delete options.baseUrl;
@@ -77,38 +78,6 @@ export function generateLegacyBundles() {
);
}
// remove reference to @awesome-cordova-plugins/core decorators
export function modifyMetadata() {
PLUGIN_PATHS.map((p) =>
p.replace(join(ROOT, 'src'), join(ROOT, 'dist')).replace('index.ts', 'ngx/index.metadata.json')
).forEach((p) => {
const content = readJSONSync(p);
let _prop: { members: { [x: string]: any[] } };
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]);
}
}
}
writeJSONSync(p, content);
});
}
function removeIonicNativeDecorators(node: any) {
if (node.decorators && node.decorators.length) {
node.decorators = node.decorators.filter(
(d: { expression: { module: string } }) => d.expression.module !== '@awesome-cordova-plugins/core'
);
}
if (node.decorators && !node.decorators.length) delete node.decorators;
}
function createSourceFiles(): string[] {
return PLUGIN_PATHS.map((indexPath: string) => {
const ngxPath = resolve(indexPath.replace('index.ts', ''), 'ngx'),

View File

@@ -24,7 +24,7 @@ export const EMIT_PATH = resolve(ROOT, 'injectable-classes.json');
export function extractInjectables() {
return (ctx: TransformationContext) => {
return (tsSourceFile) => {
if (tsSourceFile.fileName.indexOf('src/@awesome-cordova-plugins/plugins') > -1) {
if (tsSourceFile.fileName.indexOf('src/@awesome-cordova-plugins/shuto') > -1) {
visitEachChild(
tsSourceFile,
(node) => {

View File

@@ -71,7 +71,7 @@ function transformClasses(file: SourceFile, ctx: TransformationContext, ngcBuild
export function pluginClassTransformer(ngcBuild?: boolean): TransformerFactory<SourceFile> {
return (ctx: TransformationContext) => {
return (tsSourceFile) => {
if (tsSourceFile.fileName.indexOf('src/@awesome-cordova-plugins/plugins') > -1) {
if (tsSourceFile.fileName.indexOf('src/@awesome-cordova-plugins/shuto') > -1) {
return transformClasses(tsSourceFile, ctx, ngcBuild);
}
return tsSourceFile;

View File

@@ -1,4 +1,4 @@
{
"v2DocsDir": "docs/native",
"pluginDir": "dist/@awesome-cordova-plugins/plugins"
"pluginDir": "dist/@awesome-cordova-plugins/shuto"
}

View File

@@ -52,7 +52,7 @@ module.exports = (currentVersion) => {
readFilesProcessor.basePath = path.resolve(__dirname, '../../..');
readTypeScriptModules.basePath = path.resolve(__dirname, '../../..');
readTypeScriptModules.sourceFiles = ['./src/@awesome-cordova-plugins/plugins/**/*.ts'];
readTypeScriptModules.sourceFiles = ['./src/@awesome-cordova-plugins/shuto/**/*.ts'];
})
// Configure file writing

View File

@@ -51,7 +51,7 @@ module.exports = (currentVersion) => {
readFilesProcessor.basePath = path.resolve(__dirname, '../../..');
readTypeScriptModules.basePath = path.resolve(path.resolve(__dirname, '../../..'));
readTypeScriptModules.sourceFiles = ['./src/@awesome-cordova-plugins/plugins/**/*.ts'];
readTypeScriptModules.sourceFiles = ['./src/@awesome-cordova-plugins/shuto/**/*.ts'];
})
// Configure file writing

View File

@@ -16,7 +16,7 @@ $ <@ if prop.install @><$ prop.install $><@ else @>ionic cordova plugin add <$ p
$ npm install @awesome-cordova-plugins/<$ doc.npmId|replace('plugins/','') $>
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/<$ doc.fileInfo.relativePath|replace('/home/ubuntu/ionic-native/', '')|replace('//','/')|replace('index.ts','')|replace('src/@awesome-cordova-plugins/plugins/','') $>)
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/shuto/<$ doc.fileInfo.relativePath|replace('/home/ubuntu/ionic-native/', '')|replace('//','/')|replace('index.ts','')|replace('src/@awesome-cordova-plugins/plugins/','') $>)
Plugin Repo: [<$ prop.repo $>](<$ prop.repo $>)

View File

@@ -2,7 +2,6 @@ import {
cleanupNgx,
generateLegacyBundles,
generateDeclarationFiles,
modifyMetadata,
transpileNgx,
transpileNgxCore,
} from '../build/ngx';
@@ -11,5 +10,4 @@ transpileNgxCore();
transpileNgx();
generateLegacyBundles();
generateDeclarationFiles();
modifyMetadata();
cleanupNgx();

View File

@@ -30,8 +30,8 @@ const DIST = resolve(ROOT, 'dist/@awesome-cordova-plugins');
const PACKAGES = [];
const MIN_CORE_VERSION = '^5.1.0';
const RXJS_VERSION = '^5.5.0 || ^7.3.0';
const MIN_CORE_VERSION = '^6.0.1';
const RXJS_VERSION = '^5.5.0 || ^6.5.0 || ^7.3.0';
const PLUGIN_PEER_DEPENDENCIES = {
'@awesome-cordova-plugins/core': MIN_CORE_VERSION,
@@ -40,7 +40,7 @@ const PLUGIN_PEER_DEPENDENCIES = {
function getPackageJsonContent(name: string, peerDependencies = {}, dependencies = {}) {
return merge(PACKAGE_JSON_BASE, {
name: '@awesome-cordova-plugins/' + name,
name: (name == 'core' ? '@awesome-cordova-plugins/' : '@shuto/') + name,
dependencies,
peerDependencies,
version: VERSION,
@@ -50,7 +50,9 @@ function getPackageJsonContent(name: string, peerDependencies = {}, dependencies
function writePackageJson(data: any, dir: string) {
const filePath = resolve(dir, 'package.json');
writeJSONSync(filePath, data);
PACKAGES.push(dir);
if (!data.name.startsWith('@awesome-cordova-plugins/')) {
PACKAGES.push(dir);
}
}
function writeNGXPackageJson(data: any, dir: string) {
const filePath = resolve(dir, 'package.json');
@@ -67,7 +69,7 @@ function prepare() {
PLUGIN_PATHS.forEach((pluginPath: string) => {
const pluginName = pluginPath.split(/[\/\\]+/).slice(-2)[0];
const packageJsonContents = getPackageJsonContent(pluginName, PLUGIN_PEER_DEPENDENCIES);
const dir = resolve(DIST, 'plugins', pluginName);
const dir = resolve(DIST, 'shuto', pluginName);
const ngxDir = join(dir, 'ngx');
writePackageJson(packageJsonContents, dir);
writeNGXPackageJson(packageJsonContents, ngxDir);

View File

@@ -1,342 +0,0 @@
import { Injectable } from '@angular/core';
import { CordovaCheck, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
declare const AbbyyRtrSdk: any;
/**
* JSON object that you can pass as the options argument to change text
* capture settings. All keys are optional. Omitting a key means that a
* default setting will be used.
*/
export interface TextCaptureOptions {
/**
* The name of the license file. This file must be located in the
* www/rtr_assets/ directory in your project.
*/
licenseFileName?: string;
/**
* Recognition languages which can be selected by the user,
* for example: ["English", "French", "German"]. Empty array
* disables language selection.
*/
selectableRecognitionLanguages?: string[];
/**
* Recognition language selected by default.
*/
recognitionLanguages?: string[];
/**
* Width and height of the recognition area, separated by a
* whitespace — for example: "0.8 0.3". The area of interest is
* centered in the preview frame, its width and height are
* relative to the preview frame size and should be in the [0.0, 1.0] range.
*/
areaOfInterest?: string;
/**
* Whether to stop the plugin as soon as the result status is
* "Stable" (see Result status). When enabled (true), the
* recognition process can be stopped automatically. When
* disabled (false), recognition can be stopped only manually
* by user.
*/
stopWhenStable?: boolean;
/**
* Show (true) or hide (false) the flashlight button in the text
* capture dialog.
*/
isFlashlightVisible?: boolean;
/**
* Show (true) or hide (false) the stop button in the text
* capture dialog. When the user taps stop, RTR SDK returns
* the latest recognition result.
*/
isStopButtonVisible?: boolean;
/**
* Specify the orientation, possible values 'landscape' or 'portrait'.
*/
orientation?: string;
}
/**
* JSON object that represents text recognition results.
* The callback you implement should parse this object and show results to user.
*/
export interface TextCaptureResult {
/**
* An array of objects representing recognized lines of text.
* These objects have the following keys:
* · text (string): the recognized text.
* · quadrangle (string): vertex coordinates of the bounding quadrangle,
* a string of 8 integers separated with whitespaces ("x1 y1 ... x4 y4"),
* goes clockwise starting from the bottom left.
* · rect (string): position and size of the bounding rectangle,
* a string of 4 integers separated with whitespaces ("x y width height").
*/
textLines: { text: string; quadrangle: string; rect?: string }[];
/**
* Additional information. This object has the following keys:
* · stabilityStatus (string): result stability status.
* See Result status for details.
* · userAction (string): the user's action which stopped the plugin,
* if any. Can be "Manually Stopped" if the stop button has been used,
* and "Canceled" if the user canceled processing. If the plugin has
* stopped automatically, the userAction key is not present in resultInfo.
* · frameSize (string): full size of the preview frame, a string
* with 2 integers separated with a whitespace ("720 1280").
* · recognitionLanguages (string array): languages used for recognition,
* the array contains language identifiers (["English", "French", "German"]).
*/
resultInfo: {
stabilityStatus: string;
userAction: string;
frameSize: string;
recognitionLanguages: string[];
};
/**
* Error details. This key is present only if an error occurs.
* The value is an object which has a single key:
* · description (string): human-readable error description.
*/
error?: {
description: string;
};
}
/**
* JSON object that you can pass as the options argument to change data
* capture settings. All keys are optional. Omitting a key means that a default
* setting will be used, except the profile and customDataCaptureScenario
* keys: you must specify either one of them, but not both at the same time.
*/
export interface DataCaptureOptions {
/**
* The predefined data capture profile to use, for example: "MRZ".
* Note: For the list of supported documents, see Specifications — Data
* Capture Profiles in the ABBYY Real-Time Recognition SDK 1 Developer's Guide.
*/
profile?: string;
/**
* Custom data capture settings. This object has the following keys:
* · name (string): the name of your custom data capture scenario, required.
* · description (string): a more detailed description. This key is optional;
* if not given, it will be assigned the same value as name.
* · recognitionLanguages (string array): recognition languages to use.
* Default is ["English"].
* · fields (object array): describes data fields to capture. Each object
* in this array has a single regEx key; its value is a string containing
* the regular expression that should be matched when capturing a field.
*/
customDataCaptureScenario?: {
name: string;
description: string;
recognitionLanguages: string[];
fields: { regEx: string }[];
};
/**
* The name of the license file. This file must be located in the
* www/rtr_assets/ directory in your project.
*/
licenseFileName?: string;
/**
* Width and height of the recognition area, separated by a
* whitespace — for example: "0.8 0.3". The area of interest is
* centered in the preview frame, its width and height are
* relative to the preview frame size and should be in the [0.0, 1.0] range.
*/
areaOfInterest?: string;
/**
* Whether to stop the plugin as soon as the result status is
* "Stable" (see Result status). When enabled (true), the
* recognition process can be stopped automatically. When
* disabled (false), recognition can be stopped only manually
* by user.
*/
stopWhenStable?: boolean;
/**
* Show (true) or hide (false) the flashlight button in the text
* capture dialog.
*/
isFlashlightVisible?: boolean;
/**
* Show (true) or hide (false) the stop button in the text
* capture dialog. When the user taps stop, RTR SDK returns
* the latest recognition result.
*/
isStopButtonVisible?: boolean;
/**
* Specify the orientation, possible values 'landscape' or 'portrait'.
*/
orientation?: string;
}
/**
* JSON object that represents data recognition results. The callback you
* implement should parse this object and show results to user.
*/
export interface DataCaptureResult {
/**
* The data scheme which was applied during data capture.
* The value is an object which has two keys:
* · id (string): the internal scheme identifier.
* · name (string): the scheme name.
* If you had defined a custom data capture scenario in options, both the
* id and name will be the same as the scenario name you specified. If
* you selected a predefined profile, the id and name are specified by the
* profile. If an error occurs during processing, the dataScheme key is not
* present in the result.
*/
dataScheme?: {
id: string;
name: string;
};
/**
* Recognized data fields. Each object in the array represents a separate
* data field. The data field objects have the following keys:
* · id (string): the internal identifier of the field.
* · name (string): the field name.
* Similarly to dataScheme, in custom scenarios both id and name are the same
* as the scenario name you specified (currently custom scenarios allow
* only 1 recognized field).
* · text (string): full text of the field.
* · quadrangle (string): vertex coordinates of the bounding quadrangle, a
* string of 8 integers separated with whitespaces ("x1 y1 ... x4 y4"),
* goes clockwise starting from the bottom left.
* · components (object array): an array of objects representing field
* components, that is, the text fragments found on the image, which
* constitute the field.
* In the components array each element is an object with the following keys:
* · text (string): text of this fragment.
* · quadrangle (string): vertex coordinates of the bounding quadrangle of
* this fragment, similar to the field's quadrangle.
* · rect (string): position and size of the bounding rectangle, a string
* of 4 integers separated with whitespaces ("x y width height").
*/
dataFields: {
id: string;
name: string;
text: string;
quadrangle: string;
components: {
text: string;
quadrangle: string;
rect: string;
};
};
/**
* Additional information. This object has the following keys:
* · stabilityStatus (string): result stability status.
* See Result status for details.
* · userAction (string): the user's action which stopped the plugin,
* if any. Can be "Manually Stopped" if the stop button has been used,
* and "Canceled" if the user canceled processing. If the plugin has
* stopped automatically, the userAction key is not present in resultInfo.
* · frameSize (string): full size of the preview frame, a string
* with 2 integers separated with a whitespace ("720 1280").
*/
resultInfo: {
stabilityStatus: string;
userAction: string;
frameSize: string;
};
/**
* Error details. This key is present only if an error occurs.
* The value is an object which has a single key:
* · description (string): human-readable error description.
*/
error?: {
description: string;
};
}
/**
* @name ABBYY Real-Time Recognition
* @description
* This plugin allows to use the Text Capture and Data Capture features of
* ABBYY Real-Time Recognition SDK (RTR SDK) in apps.
* @usage
* ```typescript
* import { AbbyyRTR } from '@awesome-cordova-plugins/abbyy-rtr/ngx';
*
*
* constructor(private abbyyRTR: AbbyyRTR) { }
*
* ...
*
*
* this.abbyyRTR.startTextCapture(options)
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
*
* this.abbyyRTR.startDataCapture(options)
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'AbbyyRTR',
plugin: 'cordova-plugin-abbyy-rtr-sdk',
pluginRef: 'AbbyyRtrSdk',
repo: 'https://github.com/abbyysdk/RTR-SDK.Cordova',
install: 'ionic cordova plugin add cordova-plugin-abbyy-rtr-sdk',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class AbbyyRTR extends AwesomeCordovaNativePlugin {
/**
* Opens a modal dialog with controls for the Text Capture scenario.
*
* @param {TextCaptureOptions} options
* @returns {Promise<TextCaptureResult>}
*/
@CordovaCheck()
startTextCapture(options: TextCaptureOptions): Promise<TextCaptureResult> {
return new Promise<any>((resolve, reject) => {
AbbyyRtrSdk.startTextCapture((result: DataCaptureResult) => {
if (result.error) {
reject(result);
} else {
resolve(result);
}
}, options);
});
}
/**
* Opens a modal dialog with controls for the Data Capture scenario.
*
* @param {DataCaptureOptions} options
* @returns {Promise<DataCaptureResult>}
*/
@CordovaCheck()
startDataCapture(options: DataCaptureOptions): Promise<DataCaptureResult> {
return new Promise<any>((resolve, reject) => {
AbbyyRtrSdk.startDataCapture((result: DataCaptureResult) => {
if (result.error) {
reject(result);
} else {
resolve(result);
}
}, options);
});
}
}

View File

@@ -1,138 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export interface ActionSheetOptions {
/**
* The labels for the buttons. Uses the index x
*/
buttonLabels: string[];
/**
* The title for the actionsheet
*/
title?: string;
/**
* The subtitle for the actionsheet (IOS only)
*/
subtitle?: string;
/**
* Theme to be used on Android
*/
androidTheme?: 1 | 2 | 3 | 4 | 5;
/**
* Enable a cancel on Android
*/
androidEnableCancelButton?: boolean;
/**
* Enable a cancel on Windows Phone
*/
winphoneEnableCancelButton?: boolean;
/**
* Add a cancel button with text
*/
addCancelButtonWithLabel?: string;
/**
* Add a destructive button with text
*/
addDestructiveButtonWithLabel?: string;
/**
* On an iPad, set the X,Y position
*/
position?: [number, number];
/**
* Choose if destructive button will be the last
*/
destructiveButtonLast?: boolean;
}
/**
* @name Action Sheet
* @description
* The ActionSheet plugin shows a native list of options the user can choose from.
*
* Requires Cordova plugin: `cordova-plugin-actionsheet`. For more info, please see the [ActionSheet plugin docs](https://github.com/EddyVerbruggen/cordova-plugin-actionsheet).
* @usage
* ```typescript
* import { ActionSheet, ActionSheetOptions } from '@awesome-cordova-plugins/action-sheet/ngx';
*
* constructor(private actionSheet: ActionSheet) { }
*
* ...
*
*
* let buttonLabels = ['Share via Facebook', 'Share via Twitter'];
*
* const options: ActionSheetOptions = {
* title: 'What do you want with this image?',
* subtitle: 'Choose an action',
* buttonLabels: buttonLabels,
* addCancelButtonWithLabel: 'Cancel',
* addDestructiveButtonWithLabel: 'Delete',
* androidTheme: this.actionSheet.ANDROID_THEMES.THEME_HOLO_DARK,
* destructiveButtonLast: true
* }
*
* this.actionSheet.show(options).then((buttonIndex: number) => {
* console.log('Button pressed: ' + buttonIndex);
* });
* ```
* @interfaces
* ActionSheetOptions
*/
@Plugin({
pluginName: 'ActionSheet',
plugin: 'cordova-plugin-actionsheet',
pluginRef: 'plugins.actionsheet',
repo: 'https://github.com/EddyVerbruggen/cordova-plugin-actionsheet',
platforms: ['Android', 'Browser', 'iOS', 'Windows', 'Windows Phone 8'],
})
@Injectable()
export class ActionSheet extends AwesomeCordovaNativePlugin {
/**
* Convenience property to select an Android theme value
*/
ANDROID_THEMES: {
THEME_TRADITIONAL: number;
THEME_HOLO_DARK: number;
THEME_HOLO_LIGHT: number;
THEME_DEVICE_DEFAULT_DARK: number;
THEME_DEVICE_DEFAULT_LIGHT: number;
} = {
THEME_TRADITIONAL: 1,
THEME_HOLO_DARK: 2,
THEME_HOLO_LIGHT: 3,
THEME_DEVICE_DEFAULT_DARK: 4,
THEME_DEVICE_DEFAULT_LIGHT: 5,
};
/**
* Show a native ActionSheet component. See below for options.
*
* @param {ActionSheetOptions} [options] Options See table below
* @returns {Promise<any>} Returns a Promise that resolves with the index of the
* button pressed (1 based, so 1, 2, 3, etc.)
*/
@Cordova()
show(options?: ActionSheetOptions): Promise<number> {
return;
}
/**
* Programmatically hide the native ActionSheet
*
* @param {ActionSheetOptions} [options] Options See table below
* @returns {Promise<any>} Returns a Promise that resolves when the actionsheet is closed
*/
@Cordova()
hide(options?: ActionSheetOptions): Promise<any> {
return;
}
}

View File

@@ -1,769 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export class AdjustEvent {
private eventToken: string;
private revenue: number;
private currency: string;
private transactionId: string;
private callbackId: string;
private callbackParameters: string[] = [];
private partnerParameters: string[] = [];
constructor(eventToken: string) {
this.eventToken = eventToken;
}
setRevenue(revenue: number, currency: string): void {
this.revenue = revenue;
this.currency = currency;
}
addCallbackParameter(key: string, value: string): void {
this.callbackParameters.push(key);
this.callbackParameters.push(value);
}
addPartnerParameter(key: string, value: string): void {
this.partnerParameters.push(key);
this.partnerParameters.push(value);
}
setTransactionId(transactionId: string) {
this.transactionId = transactionId;
}
setCallbackId(callbackId: string) {
this.callbackId = callbackId;
}
}
export class AdjustConfig {
private appToken: string;
private environment: AdjustEnvironment;
private sdkPrefix: string;
private delayStart = 0.0;
private logLevel: AdjustLogLevel = null;
private defaultTracker: string = null;
private urlStrategy: AdjustUrlStrategy = null;
private externalDeviceId: string = null;
private sendInBackground: boolean = null;
private shouldLaunchDeeplink: boolean = null;
private eventBufferingEnabled: boolean = null;
private userAgent: string = null;
private isDeviceKnown: boolean = null;
private needsCost: boolean = null;
private secretId: number = null;
private info1: number = null;
private info2: number = null;
private info3: number = null;
private info4: number = null;
private processName: string = null; // Android only
private preinstallTrackingEnabled: boolean = null; // Android only
private preinstallFilePath: string = null; // Android only
private oaidReadingEnabled: boolean = null; // Android only
private allowiAdInfoReading: boolean = null; // iOS only
private allowIdfaReading: boolean = null; // iOS only
private allowAdServicesInfoReading: boolean = null; // iOS only
private attributionCallback: (attribution: AdjustAttribution) => void = null;
private eventTrackingSucceededCallback: (event: AdjustEventSuccess) => void = null;
private eventTrackingFailedCallback: (event: AdjustEventFailure) => void = null;
private sessionTrackingSucceededCallback: (session: AdjustSessionSuccess) => void = null;
private sessionTrackingFailedCallback: (session: AdjustSessionFailure) => void = null;
private deferredDeeplinkCallback: (uri: string) => void = null;
private conversionValueUpdatedCallback: (conversionValue: number) => void = null;
constructor(appToken: string, environment: AdjustEnvironment) {
this.appToken = appToken;
this.environment = environment;
}
setAppSecret(secretId: number, info1: number, info2: number, info3: number, info4: number): void {
this.secretId = secretId;
this.info1 = info1;
this.info2 = info2;
this.info3 = info3;
this.info4 = info4;
}
setDelayStart(delayStart: number) {
this.delayStart = delayStart;
}
setLogLevel(logLevel: AdjustLogLevel) {
this.logLevel = logLevel;
}
setDefaultTracker(defaultTracker: string) {
this.defaultTracker = defaultTracker;
}
setExternalDeviceId(externalDeviceId: string) {
this.externalDeviceId = externalDeviceId;
}
setUrlStrategy(urlStrategy: AdjustUrlStrategy) {
this.urlStrategy = urlStrategy;
}
setSendInBackground(sendInBackground: boolean) {
this.sendInBackground = sendInBackground;
}
setShouldLaunchDeeplink(shouldLaunchDeeplink: boolean) {
this.shouldLaunchDeeplink = shouldLaunchDeeplink;
}
setEventBufferingEnabled(eventBufferingEnabled: boolean) {
this.eventBufferingEnabled = eventBufferingEnabled;
}
setUserAgent(userAgent: string) {
this.userAgent = userAgent;
}
setDeviceKnown(isDeviceKnown: boolean) {
this.isDeviceKnown = isDeviceKnown;
}
setNeedsCost(needsCost: boolean) {
this.needsCost = needsCost;
}
setProcessName(processName: string) {
this.processName = processName;
}
setPreinstallTrackingEnabled(preinstallTrackingEnabled: boolean) {
this.preinstallTrackingEnabled = preinstallTrackingEnabled;
}
setPreinstallFilePath(preinstallFilePath: string) {
this.preinstallFilePath = preinstallFilePath;
}
setOaidReadingEnabled(enableOaidReading: boolean) {
this.oaidReadingEnabled = enableOaidReading;
}
setAllowiAdInfoReading(allowiAdInfoReading: boolean) {
this.allowiAdInfoReading = allowiAdInfoReading;
}
setAllowIdfaReading(allowIdfaReading: boolean) {
this.allowIdfaReading = allowIdfaReading;
}
setAllowAdServicesInfoReading(allowAdServicesInfoReading: boolean) {
this.allowAdServicesInfoReading = allowAdServicesInfoReading;
}
setAttributionCallbackListener(attributionCallback: (attribution: AdjustAttribution) => void) {
this.attributionCallback = attributionCallback;
}
setEventTrackingSucceededCallbackListener(eventTrackingSucceededCallback: (event: AdjustEventSuccess) => void) {
this.eventTrackingSucceededCallback = eventTrackingSucceededCallback;
}
setEventTrackingFailedCallbackListener(eventTrackingFailedCallback: (event: AdjustEventFailure) => void) {
this.eventTrackingFailedCallback = eventTrackingFailedCallback;
}
setSessionTrackingSucceededCallbackListener(
sessionTrackingSucceededCallback: (session: AdjustSessionSuccess) => void
) {
this.sessionTrackingSucceededCallback = sessionTrackingSucceededCallback;
}
setSessionTrackingFailedCallbackListener(sessionTrackingFailedCallback: (session: AdjustSessionFailure) => void) {
this.sessionTrackingFailedCallback = sessionTrackingFailedCallback;
}
setDeferredDeeplinkCallbackListener(deferredDeeplinkCallback: (uri: string) => void) {
this.deferredDeeplinkCallback = deferredDeeplinkCallback;
}
setConversionValueUpdatedCallbackListener(conversionValueUpdatedCallback: (conversionValue: number) => void) {
this.conversionValueUpdatedCallback = conversionValueUpdatedCallback;
}
private getAttributionCallback() {
return this.attributionCallback;
}
private getEventTrackingSucceededCallback() {
return this.eventTrackingSucceededCallback;
}
private getEventTrackingFailedCallback() {
return this.eventTrackingFailedCallback;
}
private getSessionTrackingSucceededCallback() {
return this.sessionTrackingSucceededCallback;
}
private getSessionTrackingFailedCallback() {
return this.sessionTrackingFailedCallback;
}
private getDeferredDeeplinkCallback() {
return this.deferredDeeplinkCallback;
}
private getConversionValueUpdatedCallback() {
return this.conversionValueUpdatedCallback;
}
private hasAttributionListener() {
return this.attributionCallback !== null;
}
private hasEventTrackingSucceededListener() {
return this.eventTrackingSucceededCallback !== null;
}
private hasEventTrackingFailedListener() {
return this.eventTrackingFailedCallback !== null;
}
private hasSessionTrackingSucceededListener() {
return this.sessionTrackingSucceededCallback !== null;
}
private hasSessionTrackingFailedListener() {
return this.sessionTrackingFailedCallback !== null;
}
private hasDeferredDeeplinkCallbackListener() {
return this.deferredDeeplinkCallback !== null;
}
}
export class AdjustAppStoreSubscription {
private price: string;
private currency: string;
private transactionId: string;
private receipt: string;
private transactionDate: string;
private salesRegion: string;
private callbackParameters: string[] = [];
private partnerParameters: string[] = [];
constructor(price: string, currency: string, transactionId: string, receipt: string) {
this.price = price;
this.currency = currency;
this.transactionId = transactionId;
this.receipt = receipt;
}
setTransactionDate(transactionDate: string): void {
this.transactionDate = transactionDate;
}
setSalesRegion(salesRegion: string): void {
this.salesRegion = salesRegion;
}
addCallbackParameter(key: string, value: string): void {
this.callbackParameters.push(key);
this.callbackParameters.push(value);
}
addPartnerParameter(key: string, value: string): void {
this.partnerParameters.push(key);
this.partnerParameters.push(value);
}
}
export class AdjustPlayStoreSubscription {
private price: string;
private currency: string;
private sku: string;
private orderId: string;
private signature: string;
private purchaseToken: string;
private purchaseTime: string;
private callbackParameters: string[] = [];
private partnerParameters: string[] = [];
constructor(price: string, currency: string, sku: string, orderId: string, signature: string, purchaseToken: string) {
this.price = price;
this.currency = currency;
this.sku = sku;
this.orderId = orderId;
this.signature = signature;
this.purchaseToken = purchaseToken;
}
setPurchaseTime(purchaseTime: string): void {
this.purchaseTime = purchaseTime;
}
addCallbackParameter(key: string, value: string): void {
this.callbackParameters.push(key);
this.callbackParameters.push(value);
}
addPartnerParameter(key: string, value: string): void {
this.partnerParameters.push(key);
this.partnerParameters.push(value);
}
}
export class AdjustThirdPartySharing {
private isEnabled: boolean;
private granularOptions: string[] = [];
constructor(isEnabled: boolean) {
this.isEnabled = isEnabled;
}
addGranularOption(partnerName: string, key: string, value: string): void {
this.granularOptions.push(partnerName);
this.granularOptions.push(key);
this.granularOptions.push(value);
}
}
export class AdjustAdRevenue {
private source: string;
private revenue: number;
private currency: string;
private adImpressionsCount: number;
private adRevenueNetwork: string;
private adRevenueUnit: string;
private adRevenuePlacement: string;
private callbackParameters: string[] = [];
private partnerParameters: string[] = [];
constructor(source: string) {
this.source = source;
}
setRevenue(revenue: number, currency: string): void {
this.revenue = revenue;
this.currency = currency;
}
addCallbackParameter(key: string, value: string): void {
this.callbackParameters.push(key);
this.callbackParameters.push(value);
}
addPartnerParameter(key: string, value: string): void {
this.partnerParameters.push(key);
this.partnerParameters.push(value);
}
setAdImpressionsCount(adImpressionsCount: number) {
this.adImpressionsCount = adImpressionsCount;
}
setAdRevenueNetwork(adRevenueNetwork: string) {
this.adRevenueNetwork = adRevenueNetwork;
}
setAdRevenueUnit(adRevenueUnit: string) {
this.adRevenueUnit = adRevenueUnit;
}
setAdRevenuePlacement(adRevenuePlacement: string) {
this.adRevenuePlacement = adRevenuePlacement;
}
}
export interface AdjustAttribution {
trackerToken: string;
trackerName: string;
network: string;
campaign: string;
adgroup: string;
creative: string;
clickLabel: string;
adid: string;
costType: string;
costAmount: string;
costCurrency: string;
}
export interface AdjustSessionSuccess {
message: string;
timestamp: string;
adid: string;
jsonResponse: string;
}
export interface AdjustSessionFailure {
message: string;
timestamp: string;
adid: string;
willRetry: boolean;
jsonResponse: string;
}
export interface AdjustEventSuccess {
message: string;
timestamp: string;
adid: string;
eventToken: string;
callbackId: string;
jsonResponse: string;
}
export interface AdjustEventFailure {
message: string;
timestamp: string;
adid: string;
eventToken: string;
willRetry: boolean;
callbackId: string;
jsonResponse: string;
}
export enum AdjustEnvironment {
Sandbox = 'sandbox',
Production = 'production',
}
export enum AdjustLogLevel {
Verbose = 'VERBOSE',
Debug = 'DEBUG',
Info = 'INFO',
Warn = 'WARN',
Error = 'ERROR',
Assert = 'ASSERT',
Suppress = 'SUPPRESS',
}
export enum AdjustUrlStrategy {
India = 'india',
China = 'china',
DataResidencyEU = 'data-residency-eu',
DataResidencyTR = 'data-residency-tr',
DataResidencyUS = 'data-residency-us',
}
export enum AdjustAdRevenueSource {
AdRevenueSourceAppLovinMAX = 'applovin_max_sdk',
AdRevenueSourceMopub = 'mopub',
AdRevenueSourceAdMob = 'admob_sdk',
AdRevenueSourceIronsource = 'ironsource_sdk',
}
/**
* @name Adjust
* @description
* This is the Ionic Cordova SDK of Adjust™. You can read more about Adjust™ at adjust.com.
*
* Requires Cordova plugin: `com.adjust.sdk`. For more info, please see the [Adjust Cordova SDK](https://github.com/adjust/cordova_sdk)
* @usage
* ```typescript
* import { Adjust, AdjustConfig, AdjustEnvironment } from '@awesome-cordova-plugins/adjust/ngx';
*
* constructor(private adjust: Adjust) { }
*
* ...
*
* const config = new AdjustConfig('APP-TOKEN-HERE', AdjustEnvironment.Sandbox);
* config.logLevel = AdjustLogLevel.Verbose;
* // Set other config properties.
* adjust.create(config);
*
* ```
* @interfaces
* AdjustAttribution
* AdjustSessionSuccess
* AdjustSessionFailure
* AdjustEventSuccess
* AdjustEventFailure
* @classes
* AdjustEvent
* AdjustConfig
* AdjustAppStoreSubscription
* AdjustPlayStoreSubscription
* AdjustThirdPartySharing
* AdjustAdReenue
* @enums
* AdjustEnvironment
* AdjustLogLevel
* AdjustUrlStrategy
* AdjustAdRevenueSource
*/
@Plugin({
pluginName: 'Adjust',
plugin: 'com.adjust.sdk',
pluginRef: 'Adjust',
repo: 'https://github.com/adjust/cordova_sdk',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class Adjust extends AwesomeCordovaNativePlugin {
/**
* This method initializes Adjust SDK
*
* @param {AdjustConig} config Adjust config object used as starting options
*/
@Cordova({ sync: true })
create(config: AdjustConfig): void {}
/**
* This method tracks an event
*
* @param {AdjustEvent} event Adjust event object to be tracked
*/
@Cordova({ sync: true })
trackEvent(event: AdjustEvent): void {}
/**
* This method tracks App Store subscription
*
* @param {AdjustAppStoreSubscription} subscription Adjust App Store subscription object to be tracked
*/
@Cordova({ sync: true })
trackAppStoreSubscription(subscription: AdjustAppStoreSubscription): void {}
/**
* This method tracks Play Store subscription
*
* @param {AdjustPlayStoreSubscription} subscription Adjust Play Store subscription object to be tracked
*/
@Cordova({ sync: true })
trackPlayStoreSubscription(subscription: AdjustPlayStoreSubscription): void {}
/**
* This method tracks third party sharing choice
*
* @param {AdjustThirdPartySharing} thirdPartySharing Adjust third party sharing object to be tracked
*/
@Cordova({ sync: true })
trackThirdPartySharing(thirdPartySharing: AdjustThirdPartySharing): void {}
/**
* This method tracks ad revenue data
*
* @param {AdjustAdRevenueSource} source Ad revenue source
* @param {string} payload Ad revenue JSON string payload
*/
trackAdRevenue(source: AdjustAdRevenueSource, payload: string): void;
/**
* This method tracks ad revenue data
*
* @param {AdjustAdRevenue} adRevenue Adjust ad revenue object
*/
trackAdRevenue(adRevenue: AdjustAdRevenue): void;
// And typescript hides this, so the client will be able call only methods above
@Cordova({ sync: true })
trackAdRevenue(sourceOrAdRevenue: any, payload?: any): void {}
/**
* This method tracks measurement consent choice
*
* @param {boolean} measurementConsent set measurement consent to true or false
*/
@Cordova({ sync: true })
trackMeasurementConsent(measurementConsent: boolean): void {}
/**
* This method sets offline mode on or off
*
* @param {boolean} enabled set to true for offline mode on
*/
@Cordova({ sync: true })
setOfflineMode(enabled: boolean): void {}
/**
* By making this call, the Adjust SDK will try to find if there is any new attribution info inside of the deep link and if any, it will be sent to the Adjust backend.
*
* @param {string} url URL of the deeplink
*/
@Cordova({ sync: true })
appWillOpenUrl(url: string): void {}
/**
* You can disable/enable the Adjust SDK from tracking by invoking this method
*
* @param {boolean} enabled set to false to disable SDK
*/
@Cordova({ sync: true })
setEnabled(enabled: boolean): void {}
/**
* To send us the push notification token, add the following call to Adjust whenever you get your token in the app or when it gets updated.
* Push tokens are used for Audience Builder and client callbacks, and they are required for the upcoming uninstall tracking feature.
*
* @param {string} pushToken push token value
*/
@Cordova({ sync: true })
setPushToken(pushToken: string): void {}
/**
* Check if the Adjust SDK is currently enabled by calling this function
*
* @returns {Promise<boolean>}
*/
@Cordova()
isEnabled(): Promise<boolean> {
return;
}
/**
* In accordance with article 17 of the EU's General Data Protection Regulation (GDPR), you can notify Adjust when a user has exercised their right to be forgotten.
* Calling the following method will instruct the Adjust SDK to communicate the user's choice to be forgotten to the Adjust backend
*/
@Cordova({ sync: true })
gdprForgetMe(): void {}
/**
* You can now notify Adjust when a user has exercised their right to stop sharing their data with partners for marketing purposes, but has allowed it to be shared for statistics purposes.
* Calling the following method will instruct the Adjust SDK to communicate the user's choice to disable data sharing to the Adjust backend
*/
@Cordova({ sync: true })
disableThirdPartySharing(): void {}
/**
* Function used to get Google AdId
*
* @returns {Promise<string>} Returns a promise with google AdId value
*/
@Cordova()
getGoogleAdId(): Promise<string> {
return;
}
/**
* If you need to obtain the Amazon Advertising ID, you can make a call to this function.
*
* @returns {Promise<string>} Returns a promise with anazib adv. ID
*/
@Cordova()
getAmazonAdId(): Promise<string> {
return;
}
/**
* To obtain the IDFA, call this function
*
* @returns {Promise<string>} Returns a promise with IDFA string value
*/
@Cordova()
getIdfa(): Promise<string> {
return;
}
/**
* For every device with your app installed on it, the Adjust backend generates a unique Adjust device identifier (adid).
* In order to obtain this identifier, call this function
*
* @returns {Promise<string>} Returns a promise with adid value
*/
@Cordova()
getAdid(): Promise<string> {
return;
}
/**
* If you want to access information about a user's current attribution whenever you need it, you can make a call to this function
*
* @returns {Promise<AdjustAttribution>} Returns a promise with AdjustAttribution object
*/
@Cordova()
getAttribution(): Promise<AdjustAttribution> {
return;
}
/**
* Get the information about version of the SDK used
*
* @returns {Promise<string>} Returns a promise with sdk version information
*/
@Cordova()
getSdkVersion(): Promise<string> {
return;
}
/**
* Method used to add session callback parameters
*
* @param key key
* @param value value
*/
@Cordova({ sync: true })
addSessionCallbackParameter(key: string, value: string): void {}
/**
* Remove a specific session callback parameter by passing the desiring key to this method
*
* @param key key
*/
@Cordova({ sync: true })
removeSessionCallbackParameter(key: string): void {}
/**
* If all keys and values from the session callback parameters have to be removed, call this method
*/
@Cordova({ sync: true })
resetSessionCallbackParameters(): void {}
/**
* Method used to add session partner parameters
*
* @param key key
* @param value value
*/
@Cordova({ sync: true })
addSessionPartnerParameter(key: string, value: string): void {}
/**
* Remove a specific session partner parameter by passing the desiring key to this method
*
* @param key key
*/
@Cordova({ sync: true })
removeSessionPartnerParameter(key: string): void {}
/**
* If all keys and values from the session partner parameters have to be removed, call this method
*/
@Cordova({ sync: true })
resetSessionPartnerParameters(): void {}
/**
* This method call will make the Adjust SDK send the initial install session and any events created, if they were not sent after delay start was set and it's delay expired.
*/
@Cordova({ sync: true })
sendFirstPackages(): void {}
/**
* Request Adjust SDK to show pop up dialog for asking user's consent to be tracked.
* In order to do this, call this function
*
* @returns {Promise<number>} Returns a promise with user's consent value
*/
@Cordova()
requestTrackingAuthorizationWithCompletionHandler(): Promise<number> {
return;
}
/**
* You can update SKAdNetwork conversion value with calling this method
*
* @param {number} conversionValue conversion value for the user
*/
@Cordova({ sync: true })
updateConversionValue(conversionValue: number): void {}
/**
* To obtain the app tracking authorization status in iOS, call this function
*
* @returns {Promise<number>} Returns a promise with app tracking authorization status
*/
@Cordova()
getAppTrackingAuthorizationStatus(): Promise<number> {
return;
}
}

View File

@@ -1,101 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable, fromEvent } from 'rxjs';
export type AdUnitIDOption =
| string
| {
android: string;
ios: string;
};
/**
* @name AdMob Plus
* @description
* AdMob Plus is the successor of cordova-plugin-admob-free, which provides a cleaner API and build with modern tools.
*/
@Plugin({
plugin: 'cordova-admob-plus',
pluginName: 'AdMob',
pluginRef: 'admob.banner',
repo: 'https://github.com/admob-plus/admob-plus',
platforms: ['Android', 'iOS'],
})
export class Banner {
@Cordova({ otherPromise: true })
hide(): Promise<any> {
return Promise.resolve();
}
@Cordova({ otherPromise: true })
show(opts: { id?: AdUnitIDOption }): Promise<any> {
return Promise.resolve();
}
}
@Plugin({
plugin: 'cordova-admob-plus',
pluginName: 'AdMob',
pluginRef: 'admob.interstitial',
})
export class Interstitial {
@Cordova({ otherPromise: true })
load(opts: { id?: AdUnitIDOption }): Promise<any> {
return Promise.resolve();
}
@Cordova({ otherPromise: true })
show(): Promise<any> {
return Promise.resolve();
}
}
@Plugin({
plugin: 'cordova-admob-plus',
pluginName: 'AdMob',
pluginRef: 'admob.rewardVideo',
})
export class RewardVideo {
@Cordova({ otherPromise: true })
load(opts: { id?: AdUnitIDOption }): Promise<any> {
return Promise.resolve();
}
@Cordova({ otherPromise: true })
show(): Promise<any> {
return Promise.resolve();
}
}
@Plugin({
platforms: ['Android', 'iOS'],
plugin: 'cordova-admob-plus',
pluginName: 'AdMob',
pluginRef: 'admob',
repo: 'https://github.com/admob-plus/admob-plus',
})
@Injectable()
export class AdMob extends AwesomeCordovaNativePlugin {
banner = new Banner();
interstitial = new Interstitial();
rewardVideo = new RewardVideo();
@Cordova({ otherPromise: true })
setAppMuted(value: boolean): Promise<any> {
return Promise.resolve();
}
@Cordova({ otherPromise: true })
setAppVolume(value: number): Promise<any> {
return Promise.resolve();
}
@Cordova({ sync: true })
setDevMode(value: boolean): void {
return undefined;
}
on(event: string): Observable<any> {
return fromEvent(document, event);
}
}

View File

@@ -1,347 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
export type AdSize =
| 'SMART_BANNER'
| 'BANNER'
| 'MEDIUM_RECTANGLE'
| 'FULL_BANNER'
| 'LEADERBOARD'
| 'SKYSCRAPER'
| 'CUSTOM';
export interface AdMobOptions {
/**
* Banner ad ID
*/
adId?: string;
/**
* Banner Ad Size, defaults to `SMART_BANNER`. IT can be: `SMART_BANNER`, `BANNER`, `MEDIUM_RECTANGLE`, `FULL_BANNER`, `LEADERBOARD`, `SKYSCRAPER`, or `CUSTOM`
*/
adSize?: AdSize;
/**
* Banner width, valid when `adSize` is set to `CUSTOM`
*/
width?: number;
/**
* Banner height, valid when `adSize` is set to `CUSTOM`
*/
height?: number;
/**
* Allow banner to overlap webview, or else it will push webview up or down to avoid overlap. Defaults to false.
*/
overlap?: boolean;
/**
* Position of banner ad. Defaults to `TOP_CENTER`. You can use the `AdMobPro.AD_POSITION` property to select other values.
*/
position?: number;
/**
* X in pixels. Valid when `position` is set to `POS_XY`
*/
x?: number;
/**
* Y in pixels. Valid when `position` is set to `POS_XY`
*/
y?: number;
/**
* Set to true to receive test ad for testing purposes
*/
isTesting?: boolean;
/**
* Auto show interstitial ad when loaded. Set to false if hope to control the show timing with prepareInterstitial/showInterstitial
*/
autoShow?: boolean;
/**
* Re-create the banner on web view orientation change (not screen orientation), or else just move the banner. Default:true.
*/
orientationRenew?: boolean;
/**
* Set extra color style for Ad
*/
adExtras?: AdExtras;
/**
* License key for the plugin
*/
license?: any;
/**
* Set offset
*/
offsetTopBar?: boolean;
}
export interface AdExtras {
color_bg: string;
color_bg_top: string;
color_border: string;
color_link: string;
color_text: string;
color_url: string;
}
/**
* @paid
* @name AdMob Pro
* @capacitorincompatible true
* @description
* Plugin for Google Ads, including AdMob / DFP (DoubleClick for publisher) and mediations to other Ad networks.
*
* IMPORTANT NOTICE: this plugin takes a percentage out of your earnings if you profit more than $1,000. Read more about this on the plugin's repo. For a completely free alternative, see [AdMobPro Free](../admob-free).
* @usage
* ```typescript
* import { AdMobPro } from '@awesome-cordova-plugins/admob-pro/ngx';
* import { Platform } from '@ionic/angular';
*
* constructor(private admob: AdMobPro, private platform: Platform ) { }
*
* ionViewDidLoad() {
* this.admob.onAdDismiss()
* .subscribe(() => { console.log('User dismissed ad'); });
* }
*
* onClick() {
* let adId;
* if(this.platform.is('android')) {
* adId = 'YOUR_ADID_ANDROID';
* } else if (this.platform.is('ios')) {
* adId = 'YOUR_ADID_IOS';
* }
* this.admob.prepareInterstitial({adId: adId})
* .then(() => { this.admob.showInterstitial(); });
* }
*
* ```
* @interfaces
* AdMobOptions
* AdExtras
*/
@Plugin({
pluginName: 'AdMob Pro',
plugin: 'cordova-plugin-admobpro',
pluginRef: 'AdMob',
repo: 'https://github.com/floatinghotpot/cordova-admob-pro',
platforms: ['Android', 'iOS', 'Windows Phone 8'],
})
@Injectable()
export class AdMobPro extends AwesomeCordovaNativePlugin {
AD_POSITION: {
NO_CHANGE: number;
TOP_LEFT: number;
TOP_CENTER: number;
TOP_RIGHT: number;
LEFT: number;
CENTER: number;
RIGHT: number;
BOTTOM_LEFT: number;
BOTTOM_CENTER: number;
BOTTOM_RIGHT: number;
POS_XY: number;
} = {
NO_CHANGE: 0,
TOP_LEFT: 1,
TOP_CENTER: 2,
TOP_RIGHT: 3,
LEFT: 4,
CENTER: 5,
RIGHT: 6,
BOTTOM_LEFT: 7,
BOTTOM_CENTER: 8,
BOTTOM_RIGHT: 9,
POS_XY: 10,
};
/**
* Create a banner
*
* @param {string | AdMobOptions} adIdOrOptions Ad ID or Options
* @returns {Promise<any>} Returns a Promise that resolves when the banner is created
*/
@Cordova()
createBanner(adIdOrOptions: string | AdMobOptions): Promise<any> {
return;
}
/**
* Destroy the banner, remove it from screen.
*/
@Cordova({
sync: true,
})
removeBanner(): void {}
/**
* Show banner at position
*
* @param {number} position Position. Use `AdMobPro.AD_POSITION` to set values.
*/
@Cordova({
sync: true,
})
showBanner(position: number): void {}
/**
* Show banner at custom position
*
* @param {number} x Offset from screen left.
* @param {number} y Offset from screen top.
*/
@Cordova({
sync: true,
})
showBannerAtXY(x: number, y: number): void {}
/**
* Hide the banner, remove it from screen, but can show it later
*/
@Cordova({
sync: true,
})
hideBanner(): void {}
/**
* Prepare interstitial banner
*
* @param {string | AdMobOptions} adIdOrOptions Ad ID or Options
* @returns {Promise<any>} Returns a Promise that resolves when interstitial is prepared
*/
@Cordova()
prepareInterstitial(adIdOrOptions: string | AdMobOptions): Promise<any> {
return;
}
/**
* Show interstitial ad when it's ready
*/
@Cordova({
sync: true,
})
showInterstitial(): void {}
/**
* Prepare a reward video ad
*
* @param {string | AdMobOptions} adIdOrOptions Ad ID or Options
* @returns {Promise<any>} Returns a Promise that resolves when the ad is prepared
*/
@Cordova()
prepareRewardVideoAd(adIdOrOptions: string | AdMobOptions): Promise<any> {
return;
}
/**
* Show a reward video ad
*/
@Cordova({
sync: true,
})
showRewardVideoAd(): void {}
/**
* Sets the values for configuration and targeting
*
* @param {AdMobOptions} options Options
* @returns {Promise<any>} Returns a Promise that resolves when the options have been set
*/
@Cordova()
setOptions(options: AdMobOptions): Promise<any> {
return;
}
/**
* Get user ad settings
*
* @returns {Promise<any>} Returns a promise that resolves with the ad settings
*/
@Cordova()
getAdSettings(): Promise<any> {
return;
}
/**
* Triggered when failed to receive Ad
*
* @returns {Observable<any>}
*/
@Cordova({
eventObservable: true,
event: 'onAdFailLoad',
element: 'document',
})
onAdFailLoad(): Observable<any> {
return;
}
/**
* Triggered when Ad received
*
* @returns {Observable<any>}
*/
@Cordova({
eventObservable: true,
event: 'onAdLoaded',
element: 'document',
})
onAdLoaded(): Observable<any> {
return;
}
/**
* Triggered when Ad will be showed on screen
*
* @returns {Observable<any>}
*/
@Cordova({
eventObservable: true,
event: 'onAdPresent',
element: 'document',
})
onAdPresent(): Observable<any> {
return;
}
/**
* Triggered when user click the Ad, and will jump out of your App
*
* @returns {Observable<any>}
*/
@Cordova({
eventObservable: true,
event: 'onAdLeaveApp',
element: 'document',
})
onAdLeaveApp(): Observable<any> {
return;
}
/**
* Triggered when dismiss the Ad and back to your App
*
* @returns {Observable<any>}
*/
@Cordova({
eventObservable: true,
event: 'onAdDismiss',
element: 'document',
})
onAdDismiss(): Observable<any> {
return;
}
}

View File

@@ -1,588 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, CordovaProperty, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
export interface AdmobBaseOptions {
/**
* (Optional) Your interstitial id code from your AdMob account. Defaults to bannerAdId
*/
interstitialAdId?: string;
/**
* (Optional) Indicates whether to put banner ads at top when set to true or at bottom when set to false. Defaults to false
*/
bannerAtTop?: boolean;
/**
* (Optional) Set to true to receive test ads (do not test with real ads as your account may be banned). Defaults to false
*/
isTesting?: boolean;
/**
* (Optional) Auto show banner ads when available (onAdLoaded event is called). Defaults to true
*/
autoShowBanner?: boolean;
/**
* (Optional) Auto show interstitial ads when available (onAdLoaded event is called). Defaults to true
*/
autoShowInterstitial?: boolean;
}
export interface AdmobOptions extends AdmobBaseOptions {
/**
* Your banner id code from your AdMob account (https://support.google.com/admob/answer/7356431?hl=en)
*/
bannerAdId: string;
/**
* Deprecated. Now is only used in web. It will be used as a bannerAdId only in case it is undefined.
*/
publisherId?: string;
/**
* (Optional) Your tappx id for iOS apps. If Admob is configured, it is also used to backfill your lost inventory (when there are no Admob ads available)
*/
tappxIdiOS?: string;
/**
* (Optional) Your tappx id for Android apps. Admob is configured, it is also used to backfill your lost inventory when there are no Admob ads available
*/
tappxIdAndroid?: string;
/**
* AdMob rewarded id (https://support.google.com/admob/answer/7356431?hl=en)
*/
rewardedAdId?: string;
/**
* (Optional) Auto show rewarded ads when available (onAdLoaded event is called). Defaults to true
*/
autoShowRewarded?: boolean;
/**
* (Optional) If any of tappxId is present, it tells the percentage of traffic diverted to tappx. Defaults to 0.5 (50% of the traffic will be requested to Tappx)
*/
tappxShare?: number;
/**
* (Optional) Indicates the size of banner ads
*/
adSize?: string;
/**
* (Optional) Allow banner overlap webview. Default false
*/
overlap?: boolean;
/**
* (Optional) Set to true to avoid ios7 status bar overlap. Default false
*/
offsetStatusBar?: boolean;
/**
* (Options) A JSON object with additional {key: value} pairs
*/
adExtras?: any;
}
export interface AdmobWebOptions extends AdmobBaseOptions {
/**
* (Required) AdSense Publisher ID (https://support.google.com/adsense/answer/105516)
*/
publisherId: string;
/**
* (Required) Your ad slot code from your AdSense account. Only for browser platform https://support.google.com/adsense/answer/105516
*/
adSlot: string;
/**
* (Optional) Indicates if show a close button on interstitial browser ads. Only for browser platform
*/
interstitialShowCloseButton?: boolean;
/**
* (Optional) Indicates the number of seconds that the interstitial ad waits before show the close button. Only for browser platform
*/
secondsToShowCloseButton?: number;
/**
* (Optional) Indicates the number of seconds that the interstitial ad waits before close the ad. Only for browser platform
*/
secondsToCloseInterstitial?: number;
}
export interface AdMobEvent {
/**
* (Optional) AdMob supported type as seen in AD_TYPE
*/
adType?: string;
/**
* (Optional) AdMob error code
*/
error?: number;
/**
* (Optional) AdMob error reason
*/
reason?: string;
}
/**
* @name AdMob
* @description
* Most complete Admob plugin with support for [Tappx](http://www.tappx.com/?h=dec334d63287772de859bdb4e977fce6) ads.
* Monetize your apps and games with AdMob ads, using latest Google AdMob SDK. With this plugin you can show AdMob ads easily!
*
* Supports:**
* - Banner ads (top and bottom)
* - Interstitial ads
* - Rewarded ads
* - [Tappx](http://www.tappx.com/?h=dec334d63287772de859bdb4e977fce6) ads
* @usage
* Note:** No ads will be served on apps with package name `io.ionic.starter`. This is the default package name for new `ionic` apps. Make sure to rename the package name so ads can be displayed.
* ```typescript
* import { Admob, AdmobOptions } from '@awesome-cordova-plugins/admob';
*
*
* constructor(private admob: Admob) {
* // Admob options config
* const admobOptions: AdmobOptions = {
* bannerAdId: 'XXX-XXXX-XXXX',
* interstitialAdId: 'XXX-XXXX-XXXX',
* rewardedAdId: 'XXX-XXXX-XXXX',
* isTesting: true,
* autoShowBanner: false,
* autoShowInterstitial: false,
* autoShowRewarded: false,
* adSize: this.admob.AD_SIZE.BANNER
* };
*
* // Set admob options
* this.admob.setOptions(admobOptions)
* .then(() => console.log('Admob options have been successfully set'))
* .catch(err => console.error('Error setting admob options:', err));
* }
*
*
*
* // (Optionally) Load banner ad, in order to have it ready to show
* this.admob.createBannerView()
* .then(() => console.log('Banner ad loaded'))
* .catch(err => console.error('Error loading banner ad:', err));
*
*
* // Show banner ad (createBannerView must be called before and onAdLoaded() event raised)
* this.admob.onAdLoaded().subscribe((ad) => {
* if (ad.adType === this.admob.AD_TYPE.BANNER) {
* this.admob.showBannerAd()
* .then(() => console.log('Banner ad shown'))
* .catch(err => console.error('Error showing banner ad:', err));
* }
* });
*
*
* // Hide banner ad, but do not destroy it, so it can be shown later on
* // See destroyBannerView in order to hide and destroy banner ad
* this.admob.showBannerAd(false)
* .then(() => console.log('Banner ad hidden'))
* .catch(err => console.error('Error hiding banner ad:', err));
*
*
*
* // Request an interstitial ad, in order to be shown later on
* // It is possible to autoshow it via options parameter, see docs
* this.admob.requestInterstitialAd()
* .then(() => console.log('Interstitial ad loaded'))
* .catch(err => console.error('Error loading interstitial ad:', err));
*
*
* // Show an interstitial ad (requestInterstitialAd must be called before)
* this.admob.onAdLoaded().subscribe((ad) => {
* if (ad.adType === this.admob.AD_TYPE.INTERSTITIAL) {
* this.admob.showInterstitialAd()
* .then(() => console.log('Interstitial ad shown'))
* .catch(err => console.error('Error showing interstitial ad:', err));
* }
* });
*
*
* // Request a rewarded ad
* this.admob.requestRewardedAd()
* .then(() => console.log('Rewarded ad loaded'))
* .catch(err => console.error('Error loading rewarded ad:', err));
*
*
* // Show rewarded ad (requestRewardedAd must be called before)
* this.admob.onAdLoaded().subscribe((ad) => {
* if (ad.adType === this.admob.AD_TYPE.REWARDED) {
* this.admob.showRewardedAd()
* .then(() => console.log('Rewarded ad shown'))
* .catch(err => console.error('Error showing rewarded ad:', err));
* }
* });
*
*
* // Hide and destroy banner or interstitial ad
* this.admob.destroyBannerView()
* .then(() => console.log('Banner or interstitial ad destroyed'))
* .catch(err => console.error('Error destroying banner or interstitial ad:', err));
*
*
*
* // On Ad loaded event
* this.admob.onAdLoaded().subscribe((ad) => {
* if (ad.adType === this.admob.AD_TYPE.BANNER) {
* console.log('Banner ad is loaded');
* this.admob.showBannerAd();
* } else if (ad.adType === this.admob.AD_TYPE.INTERSTITIAL) {
* console.log('Interstitial ad is loaded');
* this.admob.showInterstitialAd();
* } else if (ad.adType === this.admob.AD_TYPE.REWARDED) {
* console.log('Rewarded ad is loaded');
* this.admob.showRewardedAd();
* }
* });
*
*
*
* // On ad failed to load
* this.admob.onAdFailedToLoad().subscribe(err => console.log('Error loading ad:', err));
*
*
*
* // On interstitial ad opened
* this.admob.onAdOpened().subscribe(() => console.log('Interstitial ad opened'));
*
*
*
* // On interstitial ad closed
* this.admob.onAdClosed().subscribe(() => console.log('Interstitial ad closed'));
*
*
*
* // On ad clicked and left application
* this.admob.onAdLeftApplication().subscribe(() => console.log('Ad lefted application'));
*
*
*
* // On user ad rewarded
* this.admob.onRewardedAd().subscribe(() => console.log('The user has been rewarded'));
*
*
*
* // On rewarded ad video started
* this.admob.onRewardedAdVideoStarted().subscribe(() => console.log('Rewarded ad vieo started'));
*
*
*
* // On rewarded ad video completed
* this.admob.onRewardedAdVideoCompleted().subscribe(() => console.log('Rewarded ad video completed'));
*
* ```
*/
@Plugin({
pluginName: 'AdMob',
plugin: 'cordova-admob',
pluginRef: 'admob',
repo: 'https://github.com/appfeel/admob-google-cordova',
platforms: ['Android', 'iOS', 'Browser'],
})
@Injectable()
export class Admob extends AwesomeCordovaNativePlugin {
/**
* This enum represents AdMob's supported ad sizes.
* Use one of these constants as adSize option when calling createBannerView
*
* @readonly
*/
@CordovaProperty()
readonly AD_SIZE: {
BANNER: string;
IAB_MRECT: string;
IAB_BANNER: string;
IAB_LEADERBOARD: string;
SMART_BANNER: string;
};
/**
* This enum represents AdMob's supported ad types
*
* @readonly
*/
@CordovaProperty()
readonly AD_TYPE: {
BANNER: string;
INTERSTITIAL: string;
REWARDED: string;
};
/**
* Set the options to start displaying ads.
* Although it is not required to call this method, as options can be specified in other methods, it is highly recommended
*
* @param options {AdmobOptions} Some param to configure something
* @returns {Promise<any>} Returns a promise that resolves when the options are set
*/
@Cordova()
setOptions(options: AdmobOptions | AdmobWebOptions): Promise<any> {
return;
}
/**
* Creates a new banner ad view. Call this method in order to be able to start showing banners
*
* @param options {AdmobOptions} (Optional) Setup options
* @returns {Promise<any>} Returns a promise that resolves when the banner view is created
*/
@Cordova()
createBannerView(options?: AdmobOptions | AdmobWebOptions): Promise<any> {
return;
}
/**
* Show banner ads. You must call createBannerView first, otherwise it will result in failure callback and no ads will be shown
*
* @param show {boolean} (Optional) Indicates whether to show or hide banner ads. Defaults to `true`
* @returns {Promise<any>} Returns a promise that resolves when the banner shown or hidden
*/
@Cordova()
showBannerAd(show?: boolean): Promise<any> {
return;
}
/**
* Hide and destroy banner view. Call this method when you want to destroy banner view.
* It is not necessary to call this method when the app closed, as it will be automatically called by the plugin
*/
@Cordova()
destroyBannerView() {}
/**
* Request an interstitial ad
* If `options.autoShowInterstitial` is set to `true` (default), the ad will automatically be displayed.
* Otherwise you need to subscribe to `onAdLoaded()` event and call `showInterstitialAd()` after it will be raised specifying that an interstitial ad is available.
* If you already called `requestInterstitialAd()` but the interstitial has never been shown, the successive calls to `requestInterstitialAd()` will result in the ad being inmediately available (the one that was obtained on the first call)
*
* @param options {AdmobOptions} (Optional) Setup options
* @returns {Promise<any>} Returns a promise that resolves when the interstitial ad is loaded
*/
@Cordova()
requestInterstitialAd(options?: AdmobOptions | AdmobWebOptions): Promise<any> {
return;
}
/**
* Show an interstitial ad. Call it after `requestInterstitialAd()` and `onAdLoaded()` event raised.
*
* @returns {Promise<any>} Returns a promise that resolves when the interstitial ad is shown
*/
@Cordova()
showInterstitialAd(): Promise<any> {
return;
}
/**
* Request an rewarded ad
* If `options.autoShowRewarded` is set to `true` (default), the ad will automatically be displayed.
* Otherwise you need to subscribe to `onAdLoaded()` enent and call `showRewardedAd()` after it will be raised specifying that a rewarded ad is available.
* If you already called `requestRewardedAd()` but the rewarded has never been shown, the successive calls to `requestRewardedAd()` will result in the ad being inmediately available (the one that was obtained on the first call)
*
* @param options {AdmobOptions} (Optional) Setup options
* @returns {Promise<any>} Returns a promise that resolves when the rewarded ad is loaded
*/
@Cordova()
requestRewardedAd(options?: AdmobOptions | AdmobWebOptions): Promise<any> {
return;
}
/**
* Show a rewarded ad
*
* @returns {Promise<any>} Returns a promise that resolves when the rewarded ad is shown
*/
@Cordova()
showRewardedAd(): Promise<any> {
return;
}
/**
* Called when an ad is received.
*
* WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onAdLoaded, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
*
* @returns {Observable<AdMobEvent>} Returns an observable when an ad is received
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onAdLoaded',
element: document,
})
onAdLoaded(): Observable<AdMobEvent> {
return;
}
/**
* Called when an ad request failed.
*
* WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onAdFailedToLoad, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
*
* @returns {Observable<AdMobEvent>} Returns an observable when an ad request is failed
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onAdFailedToLoad',
element: document,
})
onAdFailedToLoad(): Observable<AdMobEvent> {
return;
}
/**
* Called when an ad opens an overlay that covers the screen.
* Please note that onPause cordova event is raised when an interstitial is shown.
*
* WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onAdOpened, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
*
* @returns {Observable<AdMobEvent>} Returns an observable when an ad is opened
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onAdOpened',
element: document,
})
onAdOpened(): Observable<AdMobEvent> {
return;
}
/**
* Called when the user is about to return to the application after clicking on an ad.
* Please note that onResume cordova event is raised when an interstitial is closed.
*
* WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onAdClosed, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
*
* @returns {Observable<AdMobEvent>} Returns an observable when an ad is closed
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onAdClosed',
element: document,
})
onAdClosed(): Observable<AdMobEvent> {
return;
}
/**
* Called when the user leaves the application after clicking an ad (e.g., to go to the browser)
*
* @returns {Observable<AdMobEvent>} Returns an observable when an ad leaves the application.
*
* WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onAdLeftApplication, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
* @returns {Observable<AdMobEvent>} Returns an observable when application is left due to an ad click
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onAdLeftApplication',
element: document,
})
onAdLeftApplication(): Observable<AdMobEvent> {
return;
}
/**
* Called when the user has been rewarded by an ad.
*
* WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onRewardedAd, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
*
* @returns {Observable<AdMobEvent>} Returns an observable when the user rewards an ad
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onRewardedAd',
element: document,
})
onRewardedAd(): Observable<AdMobEvent> {
return;
}
/**
* Called when the video of a rewarded ad started.
*
* WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onRewardedAdVideoStarted, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
*
* @returns {Observable<AdMobEvent>} Returns an observable when the video is started
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onRewardedAdVideoStarted',
element: document,
})
onRewardedAdVideoStarted(): Observable<AdMobEvent> {
return;
}
/**
* Called when the video of a rewarded ad has completed.
*
* WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onRewardedAdVideoCompleted, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
*
* @returns {Observable<AdMobEvent>} Returns an observable when the video is completed
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onRewardedAdVideoCompleted',
element: document,
})
onRewardedAdVideoCompleted(): Observable<AdMobEvent> {
return;
}
}

View File

@@ -1,107 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name AES256
* @description
* This cordova ionic plugin allows you to perform AES 256 encryption and decryption on the plain text.
* It's a cross-platform plugin which supports both Android and iOS.
* The encryption and decryption are performed on the device native layer so that the performance is much faster.
* @usage
* ```typescript
* import { AES256 } from '@awesome-cordova-plugins/aes-256/ngx';
*
* private secureKey: string;
* private secureIV: string;
*
* constructor(private aes256: AES256) {
* this.generateSecureKeyAndIV(); // To generate the random secureKey and secureIV
* }
*
* ...
*
* async generateSecureKeyAndIV() {
* this.secureKey = await this.aes256.generateSecureKey('random password 12345'); // Returns a 32 bytes string
* this.secureIV = await this.aes256.generateSecureIV('random password 12345'); // Returns a 16 bytes string
* }
*
* this.aes256.encrypt(this.secureKey, this.secureIV, 'testdata')
* .then(res => console.log('Encrypted Data: ',res))
* .catch((error: any) => console.error(error));
*
* this.aes256.decrypt(this.secureKey, this.secureIV, 'encryptedData')
* .then(res => console.log('Decrypted Data : ',res))
* .catch((error: any) => console.error(error));
*
*
* this.aes256.generateSecureKey('random password 12345')
* .then(res => console.log('Secure Key : ',res))
* .catch((error: any) => console.error(error));
*
*
* this.aes256.generateSecureIV('random password 12345')
* .then(res => console.log('Secure IV : ',res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'AES256',
plugin: 'cordova-plugin-aes256-encryption',
pluginRef: 'cordova.plugins.AES256',
repo: 'https://github.com/Ideas2IT/cordova-aes256',
platforms: ['Android', 'iOS'],
install: 'ionic cordova plugin add cordova-plugin-aes256-encryption',
})
@Injectable()
export class AES256 extends AwesomeCordovaNativePlugin {
/**
* This function used to perform the aes256 encryption
*
* @param {string} secureKey A 32 bytes string, which will used as input key for AES256 encryption.
* @param {string} secureIV A 16 bytes string, which will used as initial vector for AES256 encryption.
* @param {string} data A string which will be encrypted
* @returns {Promise<string>} Returns a promise that resolves when encryption happens. The success response will returns encrypted data.
*/
@Cordova()
encrypt(secureKey: string, secureIV: string, data: string): Promise<string> {
return;
}
/**
* This function used to perform the aes256 decryption
*
* @param {string} secureKey A 32 bytes string, which will used as input key for AES256 decryption.
* @param {string} secureIV A 16 bytes string, which will used as initial vector for AES256 decryption.
* @param {string} data An AES256 encrypted data which will be decrypted.
* @returns {Promise<string>} Returns a promise that resolves when decryption happens. The success response will returns decrypted data.
*/
@Cordova()
decrypt(secureKey: string, secureIV: string, data: string): Promise<string> {
return;
}
/**
* This function used to generate a secure key based on an password. Perfect if you want to delegate the key generation for encryption to the plugin.
* Make sure to save the return value of this function somewhere so your encrypted data can be decrypted in the future.
*
* @param {string} password A random string, which will be used as input for a PBKDF2 function
* @returns {Promise<string>} Returns a promise that resolves when key is generated.
*/
@Cordova()
generateSecureKey(password: string): Promise<string> {
return;
}
/**
* This function used to generate a secure IV based on an password. Perfect if you want to delegate the IV generation for encryption to the plugin.
* Make sure to save the return value of this function somewhere so your encrypted data can be decrypted in the future.
*
* @param {string} password A random string, which will be used as input for a PBKDF2 function
* @returns {Promise<string>} Returns a promise that resolves when IV is generated.
*/
@Cordova()
generateSecureIV(password: string): Promise<string> {
return;
}
}

View File

@@ -1,94 +0,0 @@
import { Injectable } from '@angular/core';
import {
Plugin,
Cordova,
CordovaProperty,
CordovaInstance,
InstanceProperty,
AwesomeCordovaNativePlugin,
} from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
/**
* @name AllInOneSDK
* @description
* Paytm All-in-One SDK plugin for Cordova/Ionic Applications
* Paytm All-in-One SDK provides a swift, secure and seamless payment experience to your users by invoking the Paytm app (if installed on your users smartphone) to complete payment for your order.
* Paytm All-in-One SDK enables payment acceptance via Paytm wallet, Paytm Payments Bank, saved Debit/Credit cards, Net Banking, BHIM UPI and EMI as available in your customers Paytm account. If Paytm app is not installed on a customer's device, the transaction will be processed via web view within the All-in-One SDK.
* For more information about Paytm All-in-One SDK, please visit https://developer.paytm.com/docs/all-in-one-sdk/hybrid-apps/cordova/
* @usage
* ```typescript
* import { AllInOneSDK } from '@awesome-cordova-plugins/all-in-one-sdk/ngx';
*
*
* constructor(private allInOneSDK: AllInOneSDK) { }
*
* ...
*
* For below parameters see [documentation](https://developer.paytm.com/docs/all-in-one-sdk/hybrid-apps/cordova/)
* let paymentIntent = { mid : merchantID, orderId: orderId, txnToken: transactionToken, amount: amount, isStaging: isStaging, callbackUrl:callBackURL, restrictAppInvoke:restrictAppInvoke }
*
* this.allInOneSDK.startTransaction(paymentIntent)
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*
* For iOS:
* After adding the plugin, open the iOS project, you can find the same at <projectName>/platforms/ios.
* In case merchant dont have callback URL, Add an entry into Info.plist LSApplicationQueriesSchemes(Array) Item 0 (String)-> paytm
* Add a URL Scheme “paytm”+”MID”
*/
@Plugin({
pluginName: 'AllInOneSDK',
plugin: 'cordova-paytm-allinonesdk',
pluginRef: 'AllInOneSDK',
repo: 'https://github.com/paytm/paytm-allinonesdk-ionic-cordova.git',
platforms: ['Android', 'iOS'],
})
export class AllInOneSDK extends AwesomeCordovaNativePlugin {
/**
* This function checks if Paytm Application is available on the device.
* If Paytm exists then it invokes Paytm Application with the parameters sent and creates an order.
* If the Paytm Application is not available the transaction is continued on a webView within All-in-One SDK.
*
* @param options {PaymentIntentModel} These parameters are required and will be used to create an order.
* @returns {Promise<PaytmResponse>} Returns a promise that resolves when a transaction completes(both failed and successful).
*/
@Cordova()
startTransaction(options: PaymentIntentModel | PaymentAssistIntentModel): Promise<PaytmResponse> {
return;
}
}
/**
* The response that will be recieved when any transaction is completed
*/
export interface PaytmResponse {
message: string;
response: string; // A stringified response of a hashmap returned from All-in-One SDK
}
/**
* For below parameters see [documentation](https://developer.paytm.com/docs/all-in-one-sdk/hybrid-apps/cordova/)
*/
export interface PaymentIntentModel {
mid: string; // Merchant ID
orderId: string; // Order ID
txnToken: string; // Transaction Token
amount: string; // Amount
isStaging: boolean; // Environment
callbackUrl: string; // Callback URL
restrictAppInvoke: boolean; // To enable or disable the paytm app invocation
}
export interface PaymentAssistIntentModel {
mid: string; // Merchant ID
orderId: string; // Order ID
txnToken: string; // Transaction Token
amount: string; // Amount
isStaging: boolean; // Environment
callbackUrl: string; // Callback URL
restrictAppInvoke: boolean; // To enable or disable the paytm app invocation
enableAssist: boolean; // To enable or disable the Assist (Otp auto read)
}

View File

@@ -1,259 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, CordovaProperty, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name Analytics Firebase
* @description
* Google Analytics Firebase plugin for Ionic Native apps.
* @usage
* ```typescript
* import { AnalyticsFirebase } from '@awesome-cordova-plugins/analytics-firebase';
*
*
* constructor(private analyticsFirebase: AnalyticsFirebase) { }
*
* // Track an event with default events and params
* const eventParams = {};
* eventParams[this.analyticsFirebase.DEFAULT_PARAMS.LEVEL] = 29;
* this.analyticsFirebase.logEvent(this.analyticsFirebase.DEFAULT_EVENTS.LEVEL_UP, eventParams)
* .then(() => console.log('Event successfully tracked'))
* .catch(err => console.log('Error tracking event:', err));
*
* // Track an event with custom events and params
* const eventParams = {};
* eventParams['my-prop'] = 29;
* this.analyticsFirebase.logEvent('my-event', eventParams)
* .then(() => console.log('Event successfully tracked'))
* .catch(err => console.log('Error tracking event:', err));
*
*
* // Reset analytics data
* this.analyticsFirebase.resetAnalyticsData()
* .then(() => console.log('Analytics data have been reset'))
* .catch(err => console.log('Error resetting analytics data:', err));
*
*
* // Track a screen view
* this.analyticsFirebase.setCurrentScreen('Home')
* .then(() => console.log('View successfully tracked'))
* .catch(err => console.log('Error tracking view:', err));
*
*
* // Set user id
* this.analyticsFirebase.setUserId('USER-ID')
* .then(() => console.log('User id successfully set'))
* .catch(err => console.log('Error setting user id:', err));
*
*
* // Set user property from default properties
* this.analyticsFirebase.setUserProperty('KEY', 'VALUE')
* .then(() => console.log('User property successfully set'))
* .catch(err => console.log('Error setting user property:', err));
*
* ```
*/
@Plugin({
pluginName: 'AnalyticsFirebase',
plugin: 'cordova-plugin-analytics',
pluginRef: 'analytics',
repo: 'https://github.com/appfeel/analytics-google',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class AnalyticsFirebase extends AwesomeCordovaNativePlugin {
/**
* This enum represents AnalyticsFirebase default events.
* Use one of these default events or a custom event
*
* @readonly
*/
@CordovaProperty()
readonly DEFAULT_EVENTS: {
ADD_PAYMENT_INFO: string;
ADD_TO_CART: string;
ADD_TO_WISHLIST: string;
APP_OPEN: string;
BEGIN_CHECKOUT: string;
CAMPAIGN_DETAILS: string;
CHECKOUT_PROGRESS: string;
EARN_VIRTUAL_CURRENCY: string;
ECOMMERCE_PURCHASE: string;
GENERATE_LEAD: string;
JOIN_GROUP: string;
LEVEL_END: string;
LEVEL_START: string;
LEVEL_UP: string;
LOGIN: string;
POST_SCORE: string;
PRESENT_OFFER: string;
PURCHASE_REFUND: string;
REMOVE_FROM_CART: string;
SEARCH: string;
SELECT_CONTENT: string;
SET_CHECKOUT_OPTION: string;
SHARE: string;
SIGN_UP: string;
SPEND_VIRTUAL_CURRENCY: string;
TUTORIAL_BEGIN: string;
TUTORIAL_COMPLETE: string;
UNLOCK_ACHIEVEMENT: string;
VIEW_ITEM: string;
VIEW_ITEM_LIST: string;
VIEW_SEARCH_RESULTS: string;
};
/**
* This enum represents AnalyticsFirebase default params.
* Use one of these default params or a custom param
*
* @readonly
*/
@CordovaProperty()
readonly DEFAULT_PARAMS: {
ACHIEVEMENT_ID: string;
ACLID: string;
AFFILIATION: string;
CAMPAIGN: string;
CHARACTER: string;
CHECKOUT_OPTION: string;
CHECKOUT_STEP: string;
CONTENT: string;
CONTENT_TYPE: string;
COUPON: string;
CP1: string;
CREATIVE_NAME: string;
CREATIVE_SLOT: string;
CURRENCY: string;
DESTINATION: string;
END_DATE: string;
FLIGHT_NUMBER: string;
GROUP_ID: string;
INDEX: string;
ITEM_BRAND: string;
ITEM_CATEGORY: string;
ITEM_ID: string;
ITEM_LIST: string;
ITEM_LOCATION_ID: string;
ITEM_NAME: string;
ITEM_VARIANT: string;
LEVEL: string;
LEVEL_NAME: string;
LOCATION: string;
MEDIUM: string;
METHOD: string;
NUMBER_OF_NIGHTS: string;
NUMBER_OF_PASSENGERS: string;
NUMBER_OF_ROOMS: string;
ORIGIN: string;
PRICE: string;
QUANTITY: string;
SCORE: string;
SEARCH_TERM: string;
SHIPPING: string;
SOURCE: string;
START_DATE: string;
SUCCESS: string;
TAX: string;
TERM: string;
TRANSACTION_ID: string;
TRAVEL_CLASS: string;
VALUE: string;
VIRTUAL_CURRENCY_NAME: string;
};
/**
* Logs an app event. The event can have up to 25 parameters.
* Events with the same name must have the same parameters.
* Up to 500 event names are supported.
* Using predefined [FirebaseAnalytics.Event](https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.Event.html) and/or [FirebaseAnalytics.Param](https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.Param.html) is recommended for optimal reporting.
*
* @param eventName {string} The event name
* @param eventParams {object} (Optional) The event params
* @returns {Promise<any>} Returns a promise that resolves when the event is logged
*/
@Cordova()
logEvent(eventName: string, eventParams?: object): Promise<any> {
return;
}
/**
* Clears all analytics data for this app from the device and resets the app instance id
*
* @returns {Promise<any>} Returns a promise that resolves when the analytics data is cleared
*/
@Cordova()
resetAnalyticsData(): Promise<any> {
return;
}
/**
* Sets whether analytics collection is enabled for this app on this device. This setting is persisted across app sessions. By default it is enabled
*
* @param screenName {boolean} The value of the collection
* @param enabled
* @returns {Promise<any>} Returns a promise that resolves when the collection is enabled/disabled
*/
@Cordova()
setAnalyticsCollectionEnabled(enabled: boolean): Promise<any> {
return;
}
/**
* Sets the current screen name, which specifies the current visual context in your app.
* This helps identify the areas in your app where users spend their time and how they interact with your app
*
* @param screenName {string} The screen name
* @returns {Promise<any>} Returns a promise that resolves when the current screen is setted
*/
@Cordova()
setCurrentScreen(screenName: string): Promise<any> {
return;
}
/**
* Sets the minimum engagement time required before starting a session. The default value is 10000 (10 seconds)
*
* @param screenName {number} The duration in milliseconds
* @param milliseconds
* @returns {Promise<any>} Returns a promise that resolves when the minimum session duration is set
*/
@Cordova()
setMinimumSessionDuration(milliseconds: number): Promise<any> {
return;
}
/**
* Sets the duration of inactivity that terminates the current session. The default value is 1800000 (30 minutes)
*
* @param screenName {number} The duration in milliseconds
* @param milliseconds
* @returns {Promise<any>} Returns a promise that resolves when the session timeout duration is set
*/
@Cordova()
setSessionTimeoutDuration(milliseconds: number): Promise<any> {
return;
}
/**
* Sets the user ID property. This feature must be used in accordance with Google's Privacy Policy
*
* @param userId {string} The user id
* @returns {Promise<any>} Returns a promise that resolves when the user id is setted
*/
@Cordova()
setUserId(userId: string): Promise<any> {
return;
}
/**
* Sets a user property to a given value. Up to 25 user property names are supported. Once set, user property values persist throughout the app lifecycle and across sessions
*
* @param userPropertyName {string} The user property name
* @param userPropertyValue {string} The user property value
* @returns {Promise<any>} Returns a promise that resolves when the user property setted
*/
@Cordova()
setUserProperty(userPropertyName: string, userPropertyValue: string): Promise<any> {
return;
}
}

View File

@@ -1,304 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
export type AndroidExoPlayerAspectRatio = 'FILL_SCREEN' | 'FIT_SCREEN';
export interface AndroidExoPlayerParams {
/**
* Url of the video to play.
*/
url: string;
/**
* Set the user agent. Default is `ExoPlayerPlugin`
*/
userAgent?: string;
/**
* Set the player aspect ratio.
*/
aspectRatio?: AndroidExoPlayerAspectRatio;
/**
* Hide controls after this many milliseconds, default is `5000`.
*/
hideTimeout?: number;
/**
* When set to false stream will not automatically start.
*/
autoPlay?: boolean;
/**
* Start playback at this many milliseconds into video, default is `0`.
*/
seekTo?: number;
/**
* Amount of time in milliseconds to use when skipping forward, default is `1000`.
*/
forwardTime?: number;
/**
* Amount of time in milliseconds to use when skipping backward, default is `1000`.
*/
rewindTime?: number;
/**
* Only play audio in the backgroud, default is `false`.
* If you pass in `audioOnly: true`, make sure to manually close the player on some event (like escape button) since the plugin won't be detecting keypresses when playing audio in the background.
*/
audioOnly?: true;
/**
* Optional subtitle url to display over the video.
* We currently support .srt and .vtt subtitle formats. Subtitles are not supported on all stream types, as ExoPlayer has requirement that both video and subtitle "must have the same number of periods, and must not have any dynamic windows", which means for simple mp4s it should work, but on more complex HLS/Dash setups it might not.
*/
subtitleUrl?: string;
/**
* okhttp connect timeout in milliseconds (default is `0`)
*/
connectTimeout?: number;
/**
* okhttp read timeout in milliseconds (default is `0`)
*/
readTimeout?: number;
/**
* okhttp write timeout in milliseconds (default is `0`)
*/
writeTimeout?: number;
/**
* okhttp socket ping interval in milliseconds (default is `0` or disabled)
*/
pingInterval?: number;
/**
* Number of times datasource will retry the stream before giving up (default is `3`)
*/
retryCount?: number;
/**
* If this object is not present controller will not be visible.
*/
controller?: AndroidExoPlayerControllerConfig;
}
export interface AndroidExoplayerState {
[s: string]: string;
}
export interface AndroidExoPlayerControllerConfig {
/**
* Image in the controller.
*/
streamImage: string;
/**
*
*/
streamTitle: string;
/**
*
*/
streamDescription: string;
/**
* Hide entire progress bar.
*/
hideProgress?: true;
/**
* If progress bar is visible hide current position from it
*/
hidePosition: false;
/**
* If progress bar is visible Hide stream duration from it
*/
hideDuration: false;
/**
* Override the player control button icons.
*/
controlIcons?: {
/**
* Rewind button icon.
*/
exo_rew: string;
/**
* Play button icon.
*/
exo_play: string;
/**
* Pause button icon.
*/
exo_pause: string;
/**
* Fast forward button icon.
*/
exo_ffwd: string;
};
}
/**
* @name Android ExoPlayer
* @description
* Cordova media player plugin using Google's ExoPlayer framework.
*
* https://github.com/google/ExoPlayer
* @usage
* ```typescript
* import { AndroidExoPlayer } from '@awesome-cordova-plugins/android-exoplayer/ngx';
*
* constructor(private androidExoPlayer: AndroidExoPlayer) { }
*
* ...
*
* this.androidExoPlayer.show({url: 'http://www.youtube.com/api/manifest/dash/id/bf5bb2419360daf1/source/youtube'});
*
* ```
* @interfaces
* AndroidExoPlayerParams
* AndroidExoplayerState
* AndroidExoPlayerControllerConfig
*/
@Plugin({
pluginName: 'AndroidExoPlayer',
plugin: 'cordova-plugin-exoplayer',
pluginRef: 'ExoPlayer',
repo: 'https://github.com/frontyard/cordova-plugin-exoplayer',
platforms: ['Android'],
})
@Injectable()
export class AndroidExoplayer extends AwesomeCordovaNativePlugin {
/**
* Show the player.
*
* @param {AndroidExoPlayerParams} parameters Parameters
* @returns {Observable<AndroidExoplayerState>}
*/
@Cordova({
observable: true,
clearFunction: 'close',
clearWithArgs: false,
successIndex: 1,
errorIndex: 2,
})
show(parameters: AndroidExoPlayerParams): Observable<AndroidExoplayerState> {
return;
}
/**
* Switch stream without disposing of the player.
*
* @param {string} url The url of the new stream.
* @param {AndroidExoPlayerControllerConfig} controller Configuration of the controller.
* @returns {Promise<void>}
*/
@Cordova()
setStream(url: string, controller: AndroidExoPlayerControllerConfig): Promise<void> {
return;
}
/**
* Will pause if playing and play if paused
*
* @returns {Promise<void>}
*/
@Cordova()
playPause(): Promise<void> {
return;
}
/**
* Stop playing.
*
* @returns {Promise<void>}
*/
@Cordova()
stop(): Promise<void> {
return;
}
/**
* Jump to a particular position.
*
* @param {number} milliseconds Position in stream in milliseconds
* @returns {Promise<void>}
*/
@Cordova()
seekTo(milliseconds: number): Promise<void> {
return;
}
/**
* Jump to a particular time relative to the current position.
*
* @param {number} milliseconds Time in milliseconds
* @returns {Promise<void>}
*/
@Cordova()
seekBy(milliseconds: number): Promise<void> {
return;
}
/**
* Get the current player state.
*
* @returns {Promise<AndroidExoplayerState>}
*/
@Cordova()
getState(): Promise<AndroidExoplayerState> {
return;
}
/**
* Show the controller.
*
* @returns {Promise<void>}
*/
@Cordova()
showController(): Promise<void> {
return;
}
/**
* Hide the controller.
*
* @returns {Promise<void>}
*/
@Cordova()
hideController(): Promise<void> {
return;
}
/**
* Update the controller configuration.
*
* @param {AndroidExoPlayerControllerConfig} controller Configuration of the controller.
* @returns {Promise<void>}
*/
@Cordova()
setController(controller: AndroidExoPlayerControllerConfig): Promise<void> {
return;
}
/**
* Close and dispose of player, call before destroy.
*
* @returns {Promise<void>}
*/
@Cordova()
close(): Promise<void> {
return;
}
}

View File

@@ -1,162 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* Bit flag values for setSystemUiVisibility()
*
* @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 */
Visible = 0,
/** View has requested the system UI to enter an unobtrusive "low profile" mode. SYSTEM_UI_FLAG_LOW_PROFILE */
LowProfile = 1,
/** View has requested that the system navigation be temporarily hidden. SYSTEM_UI_FLAG_HIDE_NAVIGATION */
HideNavigation = 2,
/** View has requested to go into the normal fullscreen mode so that its content can take over the screen while still allowing the user to interact with the application. SYSTEM_UI_FLAG_FULLSCREEN */
Fullscreen = 4,
/** When using other layout flags, we would like a stable view of the content insets given to fitSystemWindows(Rect). SYSTEM_UI_FLAG_LAYOUT_STABLE */
LayoutStable = 256,
/** View would like its window to be laid out as if it has requested SYSTEM_UI_FLAG_HIDE_NAVIGATION, even if it currently hasn't. SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION */
LayoutHideNavigation = 512,
/** View would like its window to be laid out as if it has requested SYSTEM_UI_FLAG_FULLSCREEN, even if it currently hasn't. SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN */
LayoutFullscreen = 1024,
/** View would like to remain interactive when hiding the navigation bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION. SYSTEM_UI_FLAG_IMMERSIVE */
Immersive = 2048,
/** View would like to remain interactive when hiding the status bar with SYSTEM_UI_FLAG_FULLSCREEN and/or hiding the navigation bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION. SYSTEM_UI_FLAG_IMMERSIVE_STICKY */
ImmersiveSticky = 4096,
/** Requests the status bar to draw in a mode that is compatible with light status bar backgrounds. SYSTEM_UI_FLAG_LIGHT_STATUS_BAR */
LightStatusBar = 8192,
}
/**
* @name Android Full Screen
* @description
* This plugin enables developers to offer users a true full screen experience in their Cordova and PhoneGap apps for Android.
* Using Android 4.0+, you can use true full screen in "lean mode", the way you see in apps like YouTube, expanding the app right to the edges of the screen, hiding the status and navigation bars until the user next interacts. This is ideally suited to video or cut-scene content.
* In Android 4.4+, however, you can now enter true full screen, fully interactive immersive mode. In this mode, your app will remain in true full screen until you choose otherwise; users can swipe down from the top of the screen to temporarily display the system UI.
* @usage
* ```typescript
* import { AndroidFullScreen } from '@awesome-cordova-plugins/android-full-screen/ngx';
*
* constructor(private androidFullScreen: AndroidFullScreen) { }
*
* ...
*
* this.androidFullScreen.isImmersiveModeSupported()
* .then(() => console.log('Immersive mode supported'))
* .catch(err => console.log(err));
*
* ```
*/
@Plugin({
pluginName: 'AndroidFullScreen',
plugin: 'cordova-plugin-fullscreen',
pluginRef: 'AndroidFullScreen',
repo: 'https://github.com/mesmotronic/cordova-plugin-fullscreen',
platforms: ['Android'],
})
@Injectable()
export class AndroidFullScreen extends AwesomeCordovaNativePlugin {
/**
* Is this plugin supported?
*
* @returns {Promise<void>}
*/
@Cordova()
isSupported(): Promise<void> {
return;
}
/**
* Is immersive mode supported?
*
* @returns {Promise<void>}
*/
@Cordova()
isImmersiveModeSupported(): Promise<boolean> {
return;
}
/**
* The width of the screen in immersive mode.
*
* @returns {Promise<number>}
*/
@Cordova()
immersiveWidth(): Promise<number> {
return;
}
/**
* The height of the screen in immersive mode.
*
* @returns {Promise<number>}
*/
@Cordova()
immersiveHeight(): Promise<number> {
return;
}
/**
* Hide system UI until user interacts.
*
* @returns {Promise<void>}
*/
@Cordova()
leanMode(): Promise<void> {
return;
}
/**
* Show system UI.
*
* @returns {Promise<void>}
*/
@Cordova()
showSystemUI(): Promise<void> {
return;
}
/**
* Extend your app underneath the status bar (Android 4.4+ only).
*
* @returns {Promise<void>}
*/
@Cordova()
showUnderStatusBar(): Promise<void> {
return;
}
/**
* Extend your app underneath the system UI (Android 4.4+ only).
*
* @returns {Promise<void>}
*/
@Cordova()
showUnderSystemUI(): Promise<void> {
return;
}
/**
* Hide system UI and keep it hidden (Android 4.4+ only).
*
* @returns {Promise<void>}
*/
@Cordova()
immersiveMode(): Promise<void> {
return;
}
/**
* Manually set the the system UI to a custom mode. This mirrors the Android method of the same name. (Android 4.4+ only).
*
* @see https://developer.android.com/reference/android/view/View.html#setSystemUiVisibility(int)
* @param {AndroidSystemUiFlags} visibility Bitwise-OR of flags in AndroidSystemUiFlags
* @returns {Promise<void>}
*/
@Cordova()
setSystemUiVisibility(visibility: AndroidSystemUiFlags): Promise<void> {
return;
}
}

View File

@@ -1,100 +0,0 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
/**
* @name Android Notch
* @description
* This plugin enables developers to get the cutout and android devices inset sizes
* It is based on the cordova plugin developed by @tobspr: https://github.com/tobspr/cordova-plugin-android-notch
* This plugin works on all android versions, but we can only detect notches starting from Android 9.
* @usage
* ```typescript
* import { AndroidNotch } from '@awesome-cordova-plugins/android-notch/ngx';
*
*
* constructor(private androidNotch: AndroidNotch) { }
*
* ...
*
*
* this.androidNotch.hasCutout()
* .then((px: number) => console.log('Inset size: '), px)
* .catch((error: any) => console.log('Error: ', error))
*
* this.androidNotch.getInsetTop()
* .then((px: number) => console.log('Inset size: '), px)
* .catch((error: any) => console.log('Error: ', error))
*
* this.androidNotch.getInsetRight()
* .then((px: number) => console.log('Inset size: '), px)
* .catch((error: any) => console.log('Error: ', error))
*
* this.androidNotch.getInsetBottom()
* .then((px: number) => console.log('Inset size: '), px)
* .catch((error: any) => console.log('Error: ', error))
*
* this.androidNotch.getInsetLeft()
* .then((px: number) => console.log('Inset size: '), px)
* .catch((error: any) => console.log('Error: ', error))
*
* ```
*/
@Plugin({
pluginName: 'AndroidNotch',
plugin: 'cordova-plugin-android-notch',
pluginRef: 'AndroidNotch',
repo: 'https://github.com/tobspr/cordova-plugin-android-notch.git',
platforms: ['Android'],
})
@Injectable()
export class AndroidNotch extends AwesomeCordovaNativePlugin {
/**
* Returns true if the android device has cutout
*
* @returns {Promise<boolean>}
*/
@Cordova()
hasCutout(): Promise<boolean> {
return;
}
/**
* Returns the heigth of the top inset
*
* @returns {Promise<number>}
*/
@Cordova()
getInsetTop(): Promise<number> {
return;
}
/**
* Returns the heigth of the right inset
*
* @returns {Promise<number>}
*/
@Cordova()
getInsetRight(): Promise<number> {
return;
}
/**
* Returns the heigth of the bottom inset
*
* @returns {Promise<number>}
*/
@Cordova()
getInsetBottom(): Promise<number> {
return;
}
/**
* Returns the heigth of the left inset
*
* @returns {Promise<number>}
*/
@Cordova()
getInsetLeft(): Promise<number> {
return;
}
}

View File

@@ -1,242 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name Android Permissions
* @premier android-permissions
* @description
* This plugin is designed to support Android new permissions checking mechanism.
*
* You can find all permissions here: https://developer.android.com/reference/android/Manifest.permission.html
* @usage
* ```
* import { AndroidPermissions } from '@awesome-cordova-plugins/android-permissions/ngx';
*
*
* constructor(private androidPermissions: AndroidPermissions) { }
*
* ...
*
* this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.CAMERA).then(
* result => console.log('Has permission?',result.hasPermission),
* err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.CAMERA)
* );
*
* this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.CAMERA, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);
*
* ```
*
* Android 26 and above: due to Android 26's changes to permissions handling (permissions are requested at time of use rather than at runtime,) if your app does not include any functions (eg. other Ionic Native plugins) that utilize a particular permission, then `requestPermission()` and `requestPermissions()` will resolve immediately with no prompt shown to the user. Thus, you must include a function utilizing the feature you would like to use before requesting permission for it.
*/
@Plugin({
pluginName: 'AndroidPermissions',
plugin: 'cordova-plugin-android-permissions',
pluginRef: 'cordova.plugins.permissions',
repo: 'https://github.com/NeoLSN/cordova-plugin-android-permissions',
platforms: ['Android'],
})
@Injectable()
export class AndroidPermissions extends AwesomeCordovaNativePlugin {
PERMISSION: any = {
ACCESS_CHECKIN_PROPERTIES: 'android.permission.ACCESS_CHECKIN_PROPERTIES',
ACCESS_COARSE_LOCATION: 'android.permission.ACCESS_COARSE_LOCATION',
ACCESS_FINE_LOCATION: 'android.permission.ACCESS_FINE_LOCATION',
ACCESS_LOCATION_EXTRA_COMMANDS: 'android.permission.ACCESS_LOCATION_EXTRA_COMMANDS',
ACCESS_MOCK_LOCATION: 'android.permission.ACCESS_MOCK_LOCATION',
ACCESS_NETWORK_STATE: 'android.permission.ACCESS_NETWORK_STATE',
ACCESS_SURFACE_FLINGER: 'android.permission.ACCESS_SURFACE_FLINGER',
ACCESS_WIFI_STATE: 'android.permission.ACCESS_WIFI_STATE',
ACCOUNT_MANAGER: 'android.permission.ACCOUNT_MANAGER',
ADD_VOICEMAIL: 'com.android.voicemail.permission.ADD_VOICEMAIL',
AUTHENTICATE_ACCOUNTS: 'android.permission.AUTHENTICATE_ACCOUNTS',
BATTERY_STATS: 'android.permission.BATTERY_STATS',
BIND_ACCESSIBILITY_SERVICE: 'android.permission.BIND_ACCESSIBILITY_SERVICE',
BIND_APPWIDGET: 'android.permission.BIND_APPWIDGET',
BIND_CARRIER_MESSAGING_SERVICE: 'android.permission.BIND_CARRIER_MESSAGING_SERVICE',
BIND_DEVICE_ADMIN: 'android.permission.BIND_DEVICE_ADMIN',
BIND_DREAM_SERVICE: 'android.permission.BIND_DREAM_SERVICE',
BIND_INPUT_METHOD: 'android.permission.BIND_INPUT_METHOD',
BIND_NFC_SERVICE: 'android.permission.BIND_NFC_SERVICE',
BIND_NOTIFICATION_LISTENER_SERVICE: 'android.permission.BIND_NOTIFICATION_LISTENER_SERVICE',
BIND_PRINT_SERVICE: 'android.permission.BIND_PRINT_SERVICE',
BIND_REMOTEVIEWS: 'android.permission.BIND_REMOTEVIEWS',
BIND_TEXT_SERVICE: 'android.permission.BIND_TEXT_SERVICE',
BIND_TV_INPUT: 'android.permission.BIND_TV_INPUT',
BIND_VOICE_INTERACTION: 'android.permission.BIND_VOICE_INTERACTION',
BIND_VPN_SERVICE: 'android.permission.BIND_VPN_SERVICE',
BIND_WALLPAPER: 'android.permission.BIND_WALLPAPER',
BLUETOOTH: 'android.permission.BLUETOOTH',
BLUETOOTH_ADMIN: 'android.permission.BLUETOOTH_ADMIN',
BLUETOOTH_PRIVILEGED: 'android.permission.BLUETOOTH_PRIVILEGED',
BODY_SENSORS: 'android.permission.BODY_SENSORS',
BRICK: 'android.permission.BRICK',
BROADCAST_PACKAGE_REMOVED: 'android.permission.BROADCAST_PACKAGE_REMOVED',
BROADCAST_SMS: 'android.permission.BROADCAST_SMS',
BROADCAST_STICKY: 'android.permission.BROADCAST_STICKY',
BROADCAST_WAP_PUSH: 'android.permission.BROADCAST_WAP_PUSH',
CALL_PHONE: 'android.permission.CALL_PHONE',
CALL_PRIVILEGED: 'android.permission.CALL_PRIVILEGED',
CAMERA: 'android.permission.CAMERA',
CAPTURE_AUDIO_OUTPUT: 'android.permission.CAPTURE_AUDIO_OUTPUT',
CAPTURE_SECURE_VIDEO_OUTPUT: 'android.permission.CAPTURE_SECURE_VIDEO_OUTPUT',
CAPTURE_VIDEO_OUTPUT: 'android.permission.CAPTURE_VIDEO_OUTPUT',
CHANGE_COMPONENT_ENABLED_STATE: 'android.permission.CHANGE_COMPONENT_ENABLED_STATE',
CHANGE_CONFIGURATION: 'android.permission.CHANGE_CONFIGURATION',
CHANGE_NETWORK_STATE: 'android.permission.CHANGE_NETWORK_STATE',
CHANGE_WIFI_MULTICAST_STATE: 'android.permission.CHANGE_WIFI_MULTICAST_STATE',
CHANGE_WIFI_STATE: 'android.permission.CHANGE_WIFI_STATE',
CLEAR_APP_CACHE: 'android.permission.CLEAR_APP_CACHE',
CLEAR_APP_USER_DATA: 'android.permission.CLEAR_APP_USER_DATA',
CONTROL_LOCATION_UPDATES: 'android.permission.CONTROL_LOCATION_UPDATES',
DELETE_CACHE_FILES: 'android.permission.DELETE_CACHE_FILES',
DELETE_PACKAGES: 'android.permission.DELETE_PACKAGES',
DEVICE_POWER: 'android.permission.DEVICE_POWER',
DIAGNOSTIC: 'android.permission.DIAGNOSTIC',
DISABLE_KEYGUARD: 'android.permission.DISABLE_KEYGUARD',
DUMP: 'android.permission.DUMP',
EXPAND_STATUS_BAR: 'android.permission.EXPAND_STATUS_BAR',
FACTORY_TEST: 'android.permission.FACTORY_TEST',
FLASHLIGHT: 'android.permission.FLASHLIGHT',
FORCE_BACK: 'android.permission.FORCE_BACK',
GET_ACCOUNTS: 'android.permission.GET_ACCOUNTS',
GET_PACKAGE_SIZE: 'android.permission.GET_PACKAGE_SIZE',
GET_TASKS: 'android.permission.GET_TASKS',
GET_TOP_ACTIVITY_INFO: 'android.permission.GET_TOP_ACTIVITY_INFO',
GLOBAL_SEARCH: 'android.permission.GLOBAL_SEARCH',
HARDWARE_TEST: 'android.permission.HARDWARE_TEST',
INJECT_EVENTS: 'android.permission.INJECT_EVENTS',
INSTALL_LOCATION_PROVIDER: 'android.permission.INSTALL_LOCATION_PROVIDER',
INSTALL_PACKAGES: 'android.permission.INSTALL_PACKAGES',
INSTALL_SHORTCUT: 'com.android.launcher.permission.INSTALL_SHORTCUT',
INTERNAL_SYSTEM_WINDOW: 'android.permission.INTERNAL_SYSTEM_WINDOW',
INTERNET: 'android.permission.INTERNET',
KILL_BACKGROUND_PROCESSES: 'android.permission.KILL_BACKGROUND_PROCESSES',
LOCATION_HARDWARE: 'android.permission.LOCATION_HARDWARE',
MANAGE_ACCOUNTS: 'android.permission.MANAGE_ACCOUNTS',
MANAGE_APP_TOKENS: 'android.permission.MANAGE_APP_TOKENS',
MANAGE_DOCUMENTS: 'android.permission.MANAGE_DOCUMENTS',
MASTER_CLEAR: 'android.permission.MASTER_CLEAR',
MEDIA_CONTENT_CONTROL: 'android.permission.MEDIA_CONTENT_CONTROL',
MODIFY_AUDIO_SETTINGS: 'android.permission.MODIFY_AUDIO_SETTINGS',
MODIFY_PHONE_STATE: 'android.permission.MODIFY_PHONE_STATE',
MOUNT_FORMAT_FILESYSTEMS: 'android.permission.MOUNT_FORMAT_FILESYSTEMS',
MOUNT_UNMOUNT_FILESYSTEMS: 'android.permission.MOUNT_UNMOUNT_FILESYSTEMS',
NFC: 'android.permission.NFC',
PERSISTENT_ACTIVITY: 'android.permission.PERSISTENT_ACTIVITY',
PROCESS_OUTGOING_CALLS: 'android.permission.PROCESS_OUTGOING_CALLS',
READ_CALENDAR: 'android.permission.READ_CALENDAR',
READ_CALL_LOG: 'android.permission.READ_CALL_LOG',
READ_CONTACTS: 'android.permission.READ_CONTACTS',
READ_EXTERNAL_STORAGE: 'android.permission.READ_EXTERNAL_STORAGE',
READ_FRAME_BUFFER: 'android.permission.READ_FRAME_BUFFER',
READ_HISTORY_BOOKMARKS: 'com.android.browser.permission.READ_HISTORY_BOOKMARKS',
READ_INPUT_STATE: 'android.permission.READ_INPUT_STATE',
READ_LOGS: 'android.permission.READ_LOGS',
READ_PHONE_STATE: 'android.permission.READ_PHONE_STATE',
READ_PROFILE: 'android.permission.READ_PROFILE',
READ_SMS: 'android.permission.READ_SMS',
READ_SOCIAL_STREAM: 'android.permission.READ_SOCIAL_STREAM',
READ_SYNC_SETTINGS: 'android.permission.READ_SYNC_SETTINGS',
READ_SYNC_STATS: 'android.permission.READ_SYNC_STATS',
READ_USER_DICTIONARY: 'android.permission.READ_USER_DICTIONARY',
READ_VOICEMAIL: 'com.android.voicemail.permission.READ_VOICEMAIL',
REBOOT: 'android.permission.REBOOT',
RECEIVE_BOOT_COMPLETED: 'android.permission.RECEIVE_BOOT_COMPLETED',
RECEIVE_MMS: 'android.permission.RECEIVE_MMS',
RECEIVE_SMS: 'android.permission.RECEIVE_SMS',
RECEIVE_WAP_PUSH: 'android.permission.RECEIVE_WAP_PUSH',
RECORD_AUDIO: 'android.permission.RECORD_AUDIO',
REORDER_TASKS: 'android.permission.REORDER_TASKS',
RESTART_PACKAGES: 'android.permission.RESTART_PACKAGES',
SEND_RESPOND_VIA_MESSAGE: 'android.permission.SEND_RESPOND_VIA_MESSAGE',
SEND_SMS: 'android.permission.SEND_SMS',
SET_ACTIVITY_WATCHER: 'android.permission.SET_ACTIVITY_WATCHER',
SET_ALARM: 'com.android.alarm.permission.SET_ALARM',
SET_ALWAYS_FINISH: 'android.permission.SET_ALWAYS_FINISH',
SET_ANIMATION_SCALE: 'android.permission.SET_ANIMATION_SCALE',
SET_DEBUG_APP: 'android.permission.SET_DEBUG_APP',
SET_ORIENTATION: 'android.permission.SET_ORIENTATION',
SET_POINTER_SPEED: 'android.permission.SET_POINTER_SPEED',
SET_PREFERRED_APPLICATIONS: 'android.permission.SET_PREFERRED_APPLICATIONS',
SET_PROCESS_LIMIT: 'android.permission.SET_PROCESS_LIMIT',
SET_TIME: 'android.permission.SET_TIME',
SET_TIME_ZONE: 'android.permission.SET_TIME_ZONE',
SET_WALLPAPER: 'android.permission.SET_WALLPAPER',
SET_WALLPAPER_HINTS: 'android.permission.SET_WALLPAPER_HINTS',
SIGNAL_PERSISTENT_PROCESSES: 'android.permission.SIGNAL_PERSISTENT_PROCESSES',
STATUS_BAR: 'android.permission.STATUS_BAR',
SUBSCRIBED_FEEDS_READ: 'android.permission.SUBSCRIBED_FEEDS_READ',
SUBSCRIBED_FEEDS_WRITE: 'android.permission.SUBSCRIBED_FEEDS_WRITE',
SYSTEM_ALERT_WINDOW: 'android.permission.SYSTEM_ALERT_WINDOW',
TRANSMIT_IR: 'android.permission.TRANSMIT_IR',
UNINSTALL_SHORTCUT: 'com.android.launcher.permission.UNINSTALL_SHORTCUT',
UPDATE_DEVICE_STATS: 'android.permission.UPDATE_DEVICE_STATS',
USE_CREDENTIALS: 'android.permission.USE_CREDENTIALS',
USE_SIP: 'android.permission.USE_SIP',
VIBRATE: 'android.permission.VIBRATE',
WAKE_LOCK: 'android.permission.WAKE_LOCK',
WRITE_APN_SETTINGS: 'android.permission.WRITE_APN_SETTINGS',
WRITE_CALENDAR: 'android.permission.WRITE_CALENDAR',
WRITE_CALL_LOG: 'android.permission.WRITE_CALL_LOG',
WRITE_CONTACTS: 'android.permission.WRITE_CONTACTS',
WRITE_EXTERNAL_STORAGE: 'android.permission.WRITE_EXTERNAL_STORAGE',
WRITE_GSERVICES: 'android.permission.WRITE_GSERVICES',
WRITE_HISTORY_BOOKMARKS: 'com.android.browser.permission.WRITE_HISTORY_BOOKMARKS',
WRITE_PROFILE: 'android.permission.WRITE_PROFILE',
WRITE_SECURE_SETTINGS: 'android.permission.WRITE_SECURE_SETTINGS',
WRITE_SETTINGS: 'android.permission.WRITE_SETTINGS',
WRITE_SMS: 'android.permission.WRITE_SMS',
WRITE_SOCIAL_STREAM: 'android.permission.WRITE_SOCIAL_STREAM',
WRITE_SYNC_SETTINGS: 'android.permission.WRITE_SYNC_SETTINGS',
WRITE_USER_DICTIONARY: 'android.permission.WRITE_USER_DICTIONARY',
WRITE_VOICEMAIL: 'com.android.voicemail.permission.WRITE_VOICEMAIL',
};
/**
* Check permission
*
* @param {string} permission The name of the permission
* @returns {Promise<AndroidPermissionResponse>} Returns a promise
*/
@Cordova()
checkPermission(permission: string): Promise<AndroidPermissionResponse> {
return;
}
/**
* Request permission
*
* @param {string} permission The name of the permission to request
* @returns {Promise<AndroidPermissionResponse>}
*/
@Cordova()
requestPermission(permission: string): Promise<AndroidPermissionResponse> {
return;
}
/**
* Request permissions
*
* @param {string[]} permissions An array with permissions
* @returns {Promise<any>} Returns a promise
*/
@Cordova()
requestPermissions(permissions: string[]): Promise<any> {
return;
}
/**
* This function still works now, will not support in the future.
*
* @param {string} permission The name of the permission
* @returns {Promise<AndroidPermissionResponse>} Returns a promise
*/
@Cordova()
hasPermission(permission: string): Promise<AndroidPermissionResponse> {
return;
}
}
export interface AndroidPermissionResponse {
hasPermission: boolean;
}

View File

@@ -1,51 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export interface AnylineOptions {
// Valid License Key
licenseKey: string;
// Scanning options
config: any;
}
/**
* @name Anyline
* @description
* Anyline provides an easy-to-use SDK for applications to enable Optical Character Recognition (OCR) on mobile devices.
* @usage
* ```typescript
* import { Anyline } from '@awesome-cordova-plugins/anyline/ngx';
*
*
* constructor(private anyline: Anyline) { }
*
* ...
*
*
* this.anyline.scan(options)
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'Anyline',
plugin: 'io-anyline-cordova',
pluginRef: 'Anyline',
repo: 'https://github.com/Anyline/anyline-ocr-cordova-module',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class Anyline extends AwesomeCordovaNativePlugin {
/**
* Scan
*
* @param options {AnylineOptions} Scanning options
* @returns {Promise<any>} Returns a promise that resolves when Code is captured
*/
@Cordova()
scan(options: AnylineOptions): Promise<any> {
return;
}
}

View File

@@ -1,53 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name App Availability
* @description
* This plugin allows you to check if an app is installed on the user's device. It requires an URI Scheme (e.g. twitter://) on iOS or a Package Name (e.g com.twitter.android) on Android.
*
* Requires Cordova plugin: cordova-plugin-appavailability. For more info, please see the [AppAvailability plugin docs](https://github.com/ohh2ahh/AppAvailability).
* @usage
* ```typescript
* import { AppAvailability } from '@awesome-cordova-plugins/app-availability/ngx';
* import { Platform } from 'ionic-angular';
*
* constructor(private appAvailability: AppAvailability, private platform: Platform) { }
*
* ...
*
* let app;
*
* if (this.platform.is('ios')) {
* app = 'twitter://';
* } else if (this.platform.is('android')) {
* app = 'com.twitter.android';
* }
*
* this.appAvailability.check(app)
* .then(
* (yes: boolean) => console.log(app + ' is available'),
* (no: boolean) => console.log(app + ' is NOT available')
* );
* ```
*/
@Plugin({
pluginName: 'AppAvailability',
plugin: 'cordova-plugin-appavailability',
pluginRef: 'appAvailability',
repo: 'https://github.com/ohh2ahh/AppAvailability',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class AppAvailability extends AwesomeCordovaNativePlugin {
/**
* Checks if an app is available on device
*
* @param {string} app Package name on android, or URI scheme on iOS
* @returns {Promise<boolean>}
*/
@Cordova()
check(app: string): Promise<boolean> {
return;
}
}

View File

@@ -1,79 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export interface StringMap {
[s: string]: string;
}
/**
* @name App Center Analytics
* @description
* App Center Analytics helps you understand user behavior and customer engagement to improve your app.
* The SDK automatically captures session count and device properties like model, OS version, etc.
* You can define your own custom events to measure things that matter to you.
* All the information captured is available in the App Center portal for you to analyze the data.
*
* For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/analytics/cordova
* @usage
* ```typescript
* import { AppCenterAnalytics } from '@awesome-cordova-plugins/app-center-analytics/ngx';
*
*
* constructor(private appCenterAnalytics: AppCenterAnalytics) { }
*
* ...
*
* this.appCenterAnalytics.setEnabled(true).then(() => {
* this.appCenterAnalytics.trackEvent('My Event', { TEST: 'HELLO_WORLD' }).then(() => {
* console.log('Custom event tracked');
* });
* });
*
* ```
* @interfaces
* StringMap
*/
@Plugin({
pluginName: 'AppCenterAnalytics',
plugin: 'cordova-plugin-appcenter-analytics',
pluginRef: 'AppCenter.Analytics',
repo: 'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-analytics',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class AppCenterAnalytics extends AwesomeCordovaNativePlugin {
/**
* Tracks an custom event.
* You can send up to 200 distinct event names. Also, there is a maximum limit of 256 characters per event name
* and 64 characters per event property name and event property value.
*
* @param {string} eventName Event name
* @param {StringMap} properties Event properties
* @returns {Promise<void>}
*/
@Cordova()
trackEvent(eventName: string, properties: StringMap): Promise<void> {
return;
}
/**
* Check if App Center Analytics is enabled
*
* @returns {Promise<boolean>}
*/
@Cordova()
isEnabled(): Promise<boolean> {
return;
}
/**
* Enable or disable App Center Analytics at runtime
*
* @param {boolean} shouldEnable Set value
* @returns {Promise<void>}
*/
@Cordova()
setEnabled(shouldEnable: boolean): Promise<void> {
return;
}
}

View File

@@ -1,118 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export interface AppCenterCrashReport {
id: string;
device: AppCenterCrashReportDevice;
appStartTime: number;
appErrorTime: number;
signal: string;
appProcessIdentifier: number;
}
export interface AppCenterCrashReportDevice {
oem_name: string;
os_name: string;
app_version: string;
time_zone_offset: number;
carrier_name: string;
screen_size: string;
locale: string;
sdk_version: string;
carrier_country: string;
os_build: string;
app_namespace: string;
os_version: string;
sdk_name: string;
model: string;
app_build: string;
}
/**
* @name App Center Crashes
* @description
* App Center Analytics helps you understand user behavior and customer engagement to improve your app.
* The SDK automatically captures session count and device properties like model, OS version, etc.
* You can define your own custom events to measure things that matter to you.
* All the information captured is available in the App Center portal for you to analyze the data.
*
* For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/crashes/cordova
* @usage
* ```typescript
* import { AppCenterCrashes } from '@awesome-cordova-plugins/app-center-crashes/ngx';
*
*
* constructor(private AppCenterCrashes: AppCenterCrashes) { }
*
* ...
*
* this.AppCenterCrashes.setEnabled(true).then(() => {
* this.AppCenterCrashes.lastSessionCrashReport().then(report => {
* console.log('Crash report', report);
* });
* });
*
* ```
* @interfaces
* AppCenterCrashReport
* AppCenterCrashReportDevice
*/
@Plugin({
pluginName: 'AppCenterCrashes',
plugin: 'cordova-plugin-appcenter-crashes',
pluginRef: 'AppCenter.Crashes',
repo: 'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-crashes',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class AppCenterCrashes extends AwesomeCordovaNativePlugin {
/**
* App Center Crashes provides you with an API to generate a test crash for easy testing of the SDK.
* This API can only be used in test/beta apps and won't do anything in production apps.
*
* @returns void
*/
@Cordova()
generateTestCrash(): void {}
/**
* At any time after starting the SDK, you can check if the app crashed in the previous launch
*
* @returns {Promise<boolean>}
*/
@Cordova()
hasCrashedInLastSession(): Promise<boolean> {
return;
}
/**
* Details about the last crash
*
* @returns {Promise<AppCenterCrashReport>}
*/
@Cordova()
lastSessionCrashReport(): Promise<AppCenterCrashReport> {
return;
}
/**
* Check if App Center Crashes is enabled
*
* @returns {Promise<boolean>}
*/
@Cordova()
isEnabled(): Promise<boolean> {
return;
}
/**
* Enable or disable App Center Crashes at runtime
*
* @param {boolean} shouldEnable Set value
* @returns {Promise<void>}
*/
@Cordova()
setEnabled(shouldEnable: boolean): Promise<void> {
return;
}
}

View File

@@ -1,41 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name App Center Low Memory
* @description
* Generates a low memory warning.
* For more info, please see: https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-generate-low-memory
* @usage
* ```typescript
* import { LowMemory } from '@awesome-cordova-plugins/app-center-low-memory/ngx';
*
* ...
*
* constructor(private lowMemory: LowMemory) { }
*
* async warning() {
* await this.lowMemory.generateLowMemory();
* }
* ```
*/
@Plugin({
pluginName: 'LowMemory',
plugin: 'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-generate-low-memory',
pluginRef: 'LowMemory',
repo: 'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-generate-low-memory',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class LowMemory extends AwesomeCordovaNativePlugin {
/**
* Generates a low memory warning.
* For more info, please see: https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-generate-low-memory
*
* @returns {Promise<void>}
*/
@Cordova()
generateLowMemory(): Promise<void> {
return;
}
}

View File

@@ -1,69 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
/**
* @name App Center Push
* @description
*
* For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/push/cordova
* @usage
* ```typescript
* import { AppCenterPush } from '@awesome-cordova-plugins/app-center-push/ngx';
*
*
* constructor(private appCenterPush: AppCenterPush) { }
*
* ...
*
* this.appCenterPush.setEnabled(true).then(() => {
* this.appCenterPush.addEventListener('My Event').subscribe(pushNotification => {
* console.log('Recived push notification', pushNotification);
* });
* });
*
* ```
*/
@Plugin({
pluginName: 'AppCenterPush',
plugin: 'cordova-plugin-appcenter-push',
pluginRef: 'AppCenter.Push',
repo: 'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-push',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class AppCenterPush extends AwesomeCordovaNativePlugin {
/**
* Subscribe to an event
*
* @param {string} eventName Event name
* @returns {Observable<any>}
*/
@Cordova({
observable: true,
clearFunction: 'removeEventListener',
})
addEventListener(eventName: string): Observable<any> {
return;
}
/**
* Check if App Center Push is enabled
*
* @returns {Promise<boolean>}
*/
@Cordova()
isEnabled(): Promise<boolean> {
return;
}
/**
* Enable or disable App Center Push at runtime
*
* @param {boolean} shouldEnable Set value
* @returns {Promise<void>}
*/
@Cordova()
setEnabled(shouldEnable: boolean): Promise<void> {
return;
}
}

View File

@@ -1,63 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name App Center Shared
* @capacitorincompatible true
* @description
* Exposes additional shared APIs for App Center.
*
* For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/other-apis/cordova
* @usage
* ```typescript
* import { AppCenter } from '@awesome-cordova-plugins/app-center-shared/ngx';
*
* ...
*
* constructor(private appCenterShared: AppCenter) { }
*
* async getInstallId() {
* const id = await this.appCenter.getInstallId();
* }
*
* async setUserId() {
* try{
* await this.appCenter.setUserId('i-am-john');
* } catch (e){
* console.log(e);
* }
* }
* ```
*/
@Plugin({
pluginName: 'AppCenter',
plugin: 'cordova-plugin-appcenter-shared',
pluginRef: 'AppCenter',
repo: 'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-shared',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class AppCenter extends AwesomeCordovaNativePlugin {
/**
* Returns AppCenter UUID.
* For more info, please see: https://docs.microsoft.com/en-us/appcenter/sdk/other-apis/cordova#identify-installations
*
* @returns {Promise<string>} Install ID
*/
@Cordova()
getInstallId(): Promise<string> {
return;
}
/**
* Set a user ID that's used to augment crash reports.
* For more info, please see: https://docs.microsoft.com/en-us/appcenter/sdk/other-apis/cordova#identify-users
*
* @param {string} userId Ex. "your-user-id"
* @returns {Promise<void>}
*/
@Cordova()
setUserId(userId: string): Promise<void> {
return;
}
}

View File

@@ -1,159 +0,0 @@
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
import { Injectable } from '@angular/core';
/**
* @name App Preferences
* @description
* This plugin allows you to read and write app preferences
* @usage
* ```typescript
* import { AppPreferences } from '@awesome-cordova-plugins/app-preferences/ngx';
*
* constructor(private appPreferences: AppPreferences) { }
*
* ...
*
* this.appPreferences.fetch('key').then((res) => { console.log(res); });
*
* ```
*/
@Plugin({
pluginName: 'AppPreferences',
plugin: 'cordova-plugin-app-preferences',
pluginRef: 'plugins.appPreferences',
repo: 'https://github.com/apla/me.apla.cordova.app-preferences',
platforms: ['Android', 'BlackBerry 10', 'Browser', 'iOS', 'macOS', 'Windows 8', 'Windows Phone'],
})
@Injectable()
export class AppPreferences extends AwesomeCordovaNativePlugin {
/**
* Get a preference value
*
* @param {string} dict Dictionary for key (OPTIONAL)
* @param {string} key Key
* @returns {Promise<any>} Returns a promise
*/
@Cordova({
callbackOrder: 'reverse',
})
fetch(dict: string, key?: string): Promise<any> {
return;
}
/**
* Set a preference value
*
* @param {string} dict Dictionary for key (OPTIONAL)
* @param {string} key Key
* @param {any} value Value
* @returns {Promise<any>} Returns a promise
*/
@Cordova({
callbackOrder: 'reverse',
})
store(dict: string, key: string, value?: any): Promise<any> {
return;
}
/**
* Remove value from preferences
*
* @param {string} dict Dictionary for key (OPTIONAL)
* @param {string} key Key
* @returns {Promise<any>} Returns a promise
*/
@Cordova({
callbackOrder: 'reverse',
})
remove(dict: string, key?: string): Promise<any> {
return;
}
/**
* Clear preferences
*
* @returns {Promise<any>} Returns a promise
*/
@Cordova({
callbackOrder: 'reverse',
})
clearAll(): Promise<any> {
return;
}
/**
* Show native preferences interface
*
* @returns {Promise<any>} Returns a promise
*/
@Cordova({
callbackOrder: 'reverse',
})
show(): Promise<any> {
return;
}
/**
* Show native preferences interface
*
* @param {boolean} subscribe true value to subscribe, false - unsubscribe
* @returns {Observable<any>} Returns an observable
*/
@Cordova({
observable: true,
})
watch(subscribe: boolean): Observable<any> {
return;
}
/**
* Return named configuration context
* In iOS you'll get a suite configuration, on Android — named file
* Supports: Android, iOS
*
* @param {string} suiteName suite name
* @returns {Object} Custom object, bound to that suite
*/
@Cordova({
platforms: ['Android'],
sync: true,
})
suite(suiteName: string): any {
return;
}
@Cordova({
platforms: ['iOS'],
sync: true,
})
iosSuite(suiteName: string): any {
return;
}
/**
* Return cloud synchronized configuration context
* Currently supports Windows and iOS/macOS
*
* @returns {Object} Custom object, bound to that suite
*/
@Cordova({
platforms: ['iOS', 'Windows', 'Windows Phone 8'],
})
cloudSync(): Object {
return;
}
/**
* Return default configuration context
* Currently supports Windows and iOS/macOS
*
* @returns {Object} Custom Object, bound to that suite
*/
@Cordova({
platforms: ['iOS', 'Windows', 'Windows Phone 8'],
})
defaults(): Object {
return;
}
}

View File

@@ -1,295 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, CordovaProperty, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export enum AppRateReviewTypeIos {
/**
* Write review directly in your application (iOS 10.3+), limited to 3 prompts per year.
* Will fallback to 'AppStoreReview' for other iOS versions
*/
InAppReview = 'InAppReview',
/**
* Open the store within the app. Use this option as an alternative to inAppReview to avoid the rate action from doing nothing
*/
AppStoreReview = 'AppStoreReview',
/**
* Open the store using the openUrl preference (defaults to InAppBrowser). Be advised that WKWebView might not open the app store links
*/
InAppBrowser = 'InAppBrowser',
}
export enum AppRateReviewTypeAndroid {
/**
* Write review directly in your application. Will fallback to InAppBrowser if not available
*/
InAppReview = 'InAppReview',
/**
* Open the store using the openUrl preference (defaults to InAppBrowser)
*/
InAppBrowser = 'InAppBrowser',
}
export enum AppRatePromptType {
/**
* Prompt asking to rate the app.
*/
AppRatingPrompt = 'AppRatingPrompt',
/**
* Prompt asking to rate the app within the store.
*/
StoreRatingPrompt = 'StoreRatingPrompt',
/**
* Prompt asking to give feedback.
*/
FeedbackPrompt = 'FeedbackPrompt',
}
export interface AppRatePreferences {
/**
* Custom BCP 47 language tag
*/
useLanguage?: string;
/**
* Custom application title
*/
displayAppName?: string;
/**
* Show dialog again when application version will be updated. Defaults to `true`
*/
promptAgainForEachNewVersion?: boolean;
/**
* count of runs of application before dialog will be displayed. Defaults to `3`
*/
usesUntilPrompt?: number;
reviewType?: {
/**
* the type of review display to show the user on iOS
* Default: AppStoreReview
*/
ios?: AppRateReviewTypeIos;
/**
* the type of review display to show the user on Android
* Default: InAppBrowser
*/
android?: AppRateReviewTypeAndroid;
};
/**
* Simple Mode to display the rate dialog directly and bypass negative feedback filtering flow
*/
simpleMode?: boolean;
/**
* Disabling would skip displaying a rate dialog if in app review is set and available. Defaults to `true`
*/
showPromptForInAppReview?: boolean;
/**
* Custom locale object
*/
customLocale?: AppRateCustomLocale;
/**
* Callbacks for events
*/
callbacks?: AppRateCallbacks;
/**
* App Store URLS
*/
storeAppURL?: AppUrls;
/**
* Open URL function
*/
openUrl?: (url: string) => void;
}
export interface AppRateCustomLocale {
/** Title */
title?: string;
/** Message */
message?: string;
/** Cancel button label */
cancelButtonLabel?: string;
/** Later button label */
laterButtonLabel?: string;
/** Rate button label */
rateButtonLabel?: string;
/** Yes button label */
yesButtonLabel?: string;
/** No button label */
noButtonLabel?: string;
/** App rate prompt title */
appRatePromptTitle?: string;
/** Feedback prompt title */
feedbackPromptTitle?: string;
/** Feedback prompt message */
appRatePromptMessage?: string;
/** Feedback prompt message */
feedbackPromptMessage?: string;
}
export interface AppRateLocales {
addLocale(localeObject: AppRateCustomLocale): AppRateCustomLocale;
getLocale(language: string, applicationTitle?: string, customLocale?: AppRateCustomLocale): AppRateCustomLocale;
getLocalesNames(): { [prop: string]: AppRateCustomLocale };
}
export interface AppRateCallbacks {
/**
* call back function. called when user clicked on rate-dialog buttons
*/
onButtonClicked?: (buttonIndex: number, buttonLabel: string, promptType: AppRatePromptType) => void;
/**
* call back function. called when rate-dialog showing
*/
onRateDialogShow?: (rateCallback: (buttonIndex: number) => void) => void;
/**
* call back function. called when user clicked on negative feedback
*/
handleNegativeFeedback?: () => void;
done?: () => void;
}
export interface AppUrls {
/**
* application id in AppStore
*/
ios?: string;
/**
* application URL in GooglePlay
*/
android?: string;
/**
* application URL in Windows Store
*/
windows?: string;
/**
* application URL in AppWorld
*/
blackberry?: string;
/**
* application URL in WindowsStore
*/
windows8?: string;
}
/**
* @name App Rate
* @premier app-rate
* @description
* The AppRate plugin makes it easy to prompt the user to rate your app, either now, later, or never.
*
* Requires Cordova plugin: cordova-plugin-apprate. For more info, please see the [AppRate plugin docs](https://github.com/pushandplay/cordova-plugin-apprate).
* @usage
* ```typescript
* import { AppRate } from '@awesome-cordova-plugins/app-rate/ngx';
*
* constructor(private appRate: AppRate) { }
*
* ...
* // set certain preferences
* this.appRate.setPreferences({
* storeAppURL: {
* ios: '<app_id>',
* android: 'market://details?id=<package_name>',
* windows: 'ms-windows-store://review/?ProductId=<store_id>'
* }
* });
*
* this.appRate.promptForRating(true);
*
* // or, override the whole preferences object
* this.appRate.setPreferences({
* usesUntilPrompt: 3,
* storeAppURL: {
* ios: '<app_id>',
* android: 'market://details?id=<package_name>',
* windows: 'ms-windows-store://review/?ProductId=<store_id>'
* }
* });
*
* this.appRate.promptForRating(false);
* ```
* @interfaces
* AppRatePreferences
* AppUrls
* AppRateCallbacks
* AppRateCustomLocal
*/
@Plugin({
pluginName: 'AppRate',
plugin: 'cordova-plugin-apprate',
pluginRef: 'AppRate',
repo: 'https://github.com/pushandplay/cordova-plugin-apprate',
platforms: ['Android', 'BlackBerry 10', 'iOS', 'Windows'],
})
@Injectable()
export class AppRate extends AwesomeCordovaNativePlugin {
/**
* Manager custom locales
*/
@CordovaProperty()
locales: AppRateLocales;
/**
* Set preferences
*
* @param pref
* @returns void
*/
@Cordova()
setPreferences(pref: AppRatePreferences): void {
return;
}
/**
* Get preferences
*
* @returns AppRatePreferences
*/
@Cordova()
getPreferences(): AppRatePreferences {
return;
}
/**
* Prompts the user for rating
*
* @param {boolean} immediately Show the rating prompt immediately.
*/
@Cordova()
promptForRating(immediately?: boolean): void {
return;
}
/**
* Immediately send the user to the app store rating page
*/
@Cordova()
navigateToAppStore(): void {}
}

View File

@@ -1,77 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name App Version
* @premier app-version
* @description
* Reads the version of your app from the target build settings.
*
* Requires Cordova plugin: `cordova-plugin-app-version`. For more info, please see the [Cordova App Version docs](https://github.com/whiteoctober/cordova-plugin-app-version).
* @usage
* ```typescript
* import { AppVersion } from '@awesome-cordova-plugins/app-version/ngx';
*
* constructor(private appVersion: AppVersion) { }
*
* ...
*
*
* this.appVersion.getAppName();
* this.appVersion.getPackageName();
* this.appVersion.getVersionCode();
* this.appVersion.getVersionNumber();
*
* ```
*/
@Plugin({
pluginName: 'AppVersion',
plugin: 'cordova-plugin-app-version',
pluginRef: 'cordova.getAppVersion',
repo: 'https://github.com/whiteoctober/cordova-plugin-app-version',
platforms: ['Android', 'iOS', 'Windows'],
})
@Injectable()
export class AppVersion extends AwesomeCordovaNativePlugin {
/**
* Returns the name of the app, e.g.: "My Awesome App"
*
* @returns {Promise<string>}
*/
@Cordova()
getAppName(): Promise<string> {
return;
}
/**
* Returns the package name of the app, e.g.: "com.example.myawesomeapp"
*
* @returns {Promise<string>}
*/
@Cordova()
getPackageName(): Promise<string> {
return;
}
/**
* Returns the build identifier of the app.
* In iOS a string with the build version like "1.6095"
* In Android a number generated from the version string, like 10203 for version "1.2.3"
*
* @returns {Promise<string | number>}
*/
@Cordova()
getVersionCode(): Promise<string | number> {
return;
}
/**
* Returns the version of the app, e.g.: "1.2.3"
*
* @returns {Promise<string>}
*/
@Cordova()
getVersionNumber(): Promise<string> {
return;
}
}

View File

@@ -1,230 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export interface EncryptedCardData {
activationData: string;
encryptedPassData: string;
wrappedKey: string;
}
export interface SignatureCertificatesData {
certificateSubCA: string;
certificateLeaf: string;
nonce: string;
nonceSignature: string;
}
export interface CardData {
cardholderName: string;
primaryAccountNumberSuffix: string;
localizedDescription?: string;
paymentNetwork?: string;
}
export interface PairedDevicesFlags {
isInWallet: boolean;
isInWatch: boolean;
FPANID: string;
}
export interface WatchExistData {
isWatchPaired: boolean;
}
/**
* @name Apple Wallet
* @description
* A Cordova plugin that enables users from Add Payment Cards to their Apple Wallet.
* @usage
* ```typescript
* import { AppleWallet } from '@awesome-cordova-plugins/apple-wallet/ngx';
*
*
* constructor(private appleWallet: AppleWallet) { }
*
*
* ...
*
*
* // Simple call to determine if the current device supports Apple Pay and has a supported card installed.
* this.appleWallet.isAvailable()
* .then((res: boolean) => {
* // Expect res to be boolean
* })
* .catch((err) => {
* // Catch {{err}} here
* });
*
* ...
*
*
* // Simple call to check Card Eligibility
* this.appleWallet.checkCardEligibility(primaryAccountIdentifier: string)
* .then((res: boolean) => {
* // Expect res to be boolean
* })
* .catch((err) => {
* // Catch {{err}} here
* });
*
*
* ...
*
*
* // Simple call to checkCardEligibilityBySuffix
* this.appleWallet.checkCardEligibilityBySuffix(cardSuffix: string)
* .then((res: boolean) => {
* // Expect res to be boolean
* })
* .catch((err) => {
* // Catch {{err}} here
* });
*
*
* ...
*
* // Simple call to check out if there is any paired Watches so that you can toggle visibility of 'Add to Watch' button
* this.appleWallet.checkPairedDevices()
* .then((res: WatchExistData) => {
* // object contains boolean flags showing paired devices
* })
* .catch((err) => {
* // Catch {{err}} here
* });
*
*
* ...
*
*
*
* // Simple call to check paired devices with a card by its suffix
* this.appleWallet.checkPairedDevicesBySuffix(cardSuffix: string)
* .then((res: PairedDevicesFlags) => {
* // object contains boolean values that ensure that card is already exists in wallet or paired-watch
* })
* .catch((err) => {
* // Catch {{err}} here
* });
*
*
* ...
*
*
* // Simple call with the configuration data needed to instantiate a new PKAddPaymentPassViewController object.
* // This method provides the data needed to create a request to add your payment pass (credit/debit card). After a successful callback, pass the certificate chain to your issuer server-side using our callback delegate method `AppleWallet.completeAddPaymentPass`. The issuer server-side should returns an encrypted JSON payload containing the encrypted card data, which is required to be get the final response
*
* this.appleWallet.startAddPaymentPass(data: cardData)
* .then((res: SignatureCertificatesData) => {
* // User proceed and successfully asked to add card to his wallet
* // Use the callback response JSON payload to complete addition process
* })
* .catch((err) => {
* // Catch {{err}} here
* });
*
*
* ...
*
*
* this.appleWallet.completeAddPaymentPass(data: encryptedCardData)
* .then((res: string) => {
* // Expect res to be string either 'success' or 'error'
* })
* .catch((err) => {
* // Catch {{err}} here
* // Error and can not add the card, or something wrong happend
* // PKAddPaymentPassViewController will be dismissed
* });
*
* ```
* @Interfaces
* EncryptedCardData
* SignatureCertificatesData
* CardData
* PairedDevicesFlags
* WatchExistData
*/
@Plugin({
pluginName: 'AppleWallet',
plugin: 'cordova-apple-wallet',
pluginRef: 'AppleWallet',
repo: 'https://github.com/tomavic/cordova-apple-wallet',
platforms: ['iOS'],
})
@Injectable()
export class AppleWallet extends AwesomeCordovaNativePlugin {
/**
* Simple call to determine if the current device supports Apple Pay and has a supported card installed.
*
* @returns {Promise<boolean>}
*/
@Cordova()
isAvailable(): Promise<boolean> {
return;
}
/**
* Simple call to check Card Eligibility
*
* @param {string} primaryAccountIdentifier
* @returns {Promise<boolean>}
*/
@Cordova()
checkCardEligibility(primaryAccountIdentifier: string): Promise<boolean> {
return;
}
/**
* Simple call to checkCardEligibilityBySuffix
*
* @param {string} cardSuffix
* @returns {Promise<PairedDevicesFlags>}
*/
@Cordova()
checkCardEligibilityBySuffix(cardSuffix: string): Promise<boolean> {
return;
}
/**
* Simple call to check out if there is any paired Watches so that you can toggle visibility of 'Add to Watch' button
*
* @returns {Promise<WatchExistData>}
*/
@Cordova()
checkPairedDevices(): Promise<WatchExistData> {
return;
}
/**
* Simple call to check paired devices with a card by its suffix
*
* @param {string} cardSuffix
* @returns {Promise<PairedDevicesFlags>}
*/
@Cordova()
checkPairedDevicesBySuffix(cardSuffix: string): Promise<PairedDevicesFlags> {
return;
}
/**
* Simple call with the configuration data needed to instantiate a new PKAddPaymentPassViewController object.
*
* @param {cardData} data
* @returns {Promise<SignatureCertificatesData>}
*/
@Cordova()
startAddPaymentPass(data: CardData): Promise<SignatureCertificatesData> {
return;
}
/**
* Simple completion handler that takes encrypted card data returned from your server side, in order to get the final response from Apple to know if the card is added succesfully or not.
*
* @param {encryptedCardData} data
* @returns {Promise<string>}
*/
@Cordova()
completeAddPaymentPass(data: EncryptedCardData): Promise<string> {
return;
}
}

View File

@@ -1,773 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, CordovaProperty, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export interface HTTPResponse {
/**
* The HTTP status number of the response or a negative internal error code.
*/
status: number;
/**
* The headers of the response.
*/
headers: { [key: string]: string };
/**
* The URL of the response. This property will be the final URL obtained after any redirects.
*/
url: string;
/**
* The data that is in the response. This property usually exists when a promise returned by a request method resolves.
*/
data?: any;
/**
* Error response from the server. This property usually exists when a promise returned by a request method rejects.
*/
error?: string;
}
interface AbortedResponse {
aborted: boolean;
}
export interface ApproovLoggableToken {
/**
* Expiry
* The only mandatory claim for Approov tokens. It specifies the expiry time for the token as a Unix timestamp.
*/
exp: number;
/**
* Device ID
* This claim identifies the device for which the token was issued. This is a base64 encoded string representing a 128-bit device identifier.
* Note that this is not, strictly speaking, a device identifier as it is also influenced by the app identifier
* and may change if the same app is uninstalled and then reinstalled on the same device.
*/
did?: string;
/**
* Attestation Response Code
* This is an optional claim that encodes information about a subset of the device property flags and also whether the attestation was a pass or fail.
* The claim is encoded in base32 and is typically 10 characters long (although it may be longer in some circumstances).
* This claim is not included by tokens from the failover.
*/
arc?: string;
/**
* IP Address
* This holds the IP address of the device as seen by the Approov cloud service. It is provided in a human readable IP address format (in either IPv4 or IPv6 format).
* In practice this value can often change between the time a token is issued and the time it is sent to your backend, so you should never block if it differs, but you may include it as a signal that tokens have somehow been stolen and are being replayed.
* This claim is not included by tokens from the failover or if the IP Tracking Policy for the account has been set to none.
*/
ip?: string;
/**
* Issuer
* An optional claim that is added if the issuer inclusion option is enabled. This provides the Approov account ID that was used to issue the token (suffixed with approov.io).
* It can be used as an additional layer of backend verification if signing keys are shared between multiple accounts.
* It indicates that tokens were issued from the expected Approov account. This claim may also be set to an explicit value for long lived Approov tokens.
* This flexibility is designed for use with server-to-server communication (which may only be signed with the account specific secret keys).
*/
iss?: string;
/**
* Annotation
* This is an embedded JSON array of strings showing the list of flags that are set and are in the annotation set for the security policy that is selected.
* This allows additional information to be collected about the state of a particular device without necessarily causing an attestation failure.
* Note that if there are no possible annotations then this claim is not present at all. This claim is not included by tokens from the failover.
*/
anno?: string[];
/**
* Payload Hash
* An optional claim that is added if the protected app passes a token binding argument to the setDataHashInToken method.
* The claim value is set to the base64 encoded SHA256 hash of the provided payload string.
* This is typically used to bind an Approov token to some other data used by your app to enhance security (like a user auth token).
*/
pay?: string;
/**
* Audience
* An optional claim that is added if the audience inclusion option is enabled. This provides the domain for which the token was issued.
* It can be used as an additional layer of backend verification to ensure that tokens intended for one domain cannot be used on to access a different one.
*/
aud?: string;
/**
* Message Siging Key ID
* This is an optional claim that encodes the ID of a key being used for Message Signing.
* This is only present in Approov tokens for which message signing is active. This claim is not included by tokens from the failover.
*/
mskid?: string;
/**
* Measurement Proof Key
* An optional claim to provide the measurement proof key if a measurement has been requested by the SDK on the domain for which the token is issued.
* This is a base64 encoded 128-bit proof key value. Note that if measurement is being used, then JWE tokens will be used to keep this claim secret.
*/
mpk?: string;
/**
* Integrity Measurement Hash
* An optional claim to provide the integrity measurement hash if a measurement has been requested by the SDK on the domain for which the token is issued.
* This is a base64 encoded 256-bit SHA256 measurement value. Note that if measurement is being used, then JWE tokens will be used to keep this claim secret.
*/
imh?: string;
/**
* Device Measurement Hash
* An optional claim to provide the device measurement hash if a measurement has been requested by the SDK on the domain for which the token is issued.
* This is a base64 encoded 256-bit SHA256 measurement value. Note that if measurement is being used, then JWE tokens will be used to keep this claim secret
*/
dmh?: string;
}
/**
* @name HTTP
* @description
* Cordova / Phonegap plugin for communicating with HTTP servers. Supports iOS and Android.
*
* Advantages over Javascript requests:
* - SSL / TLS Pinning
* - CORS restrictions do not apply
* - Handling of HTTP code 401 - read more at [Issue CB-2415](https://issues.apache.org/jira/browse/CB-2415)
*
* Note: This plugin extends the pre-existing [cordova-advanced-http-plugin](https://github.com/silkimen/cordova-plugin-advanced-http),
* we have only added approov functionality on top of it. All credit goes to the actual plugin developer.
* @usage
* ```typescript
* import { ApproovHttp } from '@awesome-cordova-plugins/http/ngx';
*
* constructor(private http: ApproovHttp) {}
*
* ...
*
* this.http.get('http://ionic.io', {}, {})
* .then(data => {
*
* console.log(data.status);
* console.log(data.data); // data received by server
* console.log(data.headers);
*
* })
* .catch(error => {
*
* console.log(error.status);
* console.log(error.error); // error message as string
* console.log(error.headers);
*
* });
*
* ```
* @interfaces
* HTTPResponse
*/
@Plugin({
pluginName: 'ApproovHttp',
plugin: 'cordova-approov-advanced-http',
pluginRef: 'cordova.plugin.ApproovHttp',
repo: 'https://github.com/approov/quickstart-ionic-advancedhttp',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class ApproovHttp extends AwesomeCordovaNativePlugin {
/**
* This enum represents the internal error codes which can be returned in a HTTPResponse object.
*
* @readonly
*/
@CordovaProperty()
readonly ErrorCode: {
GENERIC: number;
SSL_EXCEPTION: number;
SERVER_NOT_FOUND: number;
TIMEOUT: number;
UNSUPPORTED_URL: number;
NOT_CONNECTED: number;
POST_PROCESSING_FAILED: number;
ABORTED: number;
};
/**
* This returns an object representing a basic HTTP Authorization header of the form.
*
* @param username {string} Username
* @param password {string} Password
* @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;
}
/**
* This sets up all future requests to use Basic HTTP authentication with the given username and password.
*
* @param username {string} Username
* @param password {string} Password
*/
@Cordova({ sync: true })
useBasicAuth(username: string, password: string): void {}
/**
* Get all headers defined for a given hostname.
*
* @param host {string} The hostname
* @returns {string} return all headers defined for the hostname
*/
@Cordova({ sync: true })
getHeaders(host: string): string {
return;
}
/**
* Set a header for all future requests. Takes a hostname, a header and a value.
*
* @param host {string} The hostname to be used for scoping this header
* @param header {string} The name of the header
* @param value {string} The value of the header
*/
@Cordova({ sync: true })
setHeader(host: string, header: string, value: string): void {}
/**
* Get the name of the data serializer which will be used for all future POST and PUT requests.
*
* @returns {string} returns the name of the configured data serializer
*/
@Cordova({ sync: true })
getDataSerializer(): string {
return;
}
/**
* Set the data serializer which will be used for all future POST, PUT and PATCH requests. Takes a string representing the name of the serializer.
*
* @param serializer {string} The name of the serializer.
* @see https://github.com/silkimen/cordova-plugin-advanced-http#setdataserializer
*/
@Cordova({ sync: true })
setDataSerializer(serializer: 'urlencoded' | 'json' | 'utf8' | 'multipart' | 'raw'): void {}
/**
* Add a custom cookie.
*
* @param url {string} Scope of the cookie
* @param cookie {string} RFC compliant cookie string
*/
@Cordova({ sync: true })
setCookie(url: string, cookie: string): void {}
/**
* Clear all cookies.
*/
@Cordova({ sync: true })
clearCookies(): void {}
/**
* Remove cookies for given URL.
*
* @param url {string}
* @param cb
*/
@Cordova({ sync: true })
removeCookies(url: string, cb: () => void): void {}
/**
* Resolve cookie string for given URL.
*
* @param url {string}
*/
@Cordova({ sync: true })
getCookieString(url: string): string {
return;
}
/**
* Get global request timeout value in seconds.
*
* @returns {number} returns the global request timeout value
*/
@Cordova({ sync: true })
getRequestTimeout(): number {
return;
}
/**
* Set global request timeout value in seconds.
*
* @param timeout {number} The timeout in seconds. Default 60
*/
@Cordova({ sync: true })
setRequestTimeout(timeout: number): void {}
/**
* Resolve if it should follow redirects automatically.
*
* @returns {boolean} returns true if it is configured to follow redirects automatically
*/
@Cordova({ sync: true })
getFollowRedirect(): boolean {
return;
}
/**
* Configure if it should follow redirects automatically.
*
* @param follow {boolean} Set to false to disable following redirects automatically
*/
@Cordova({ sync: true })
setFollowRedirect(follow: boolean): void {}
/**
* Set server trust mode, being one of the following values:
* default: default SSL trustship and hostname verification handling using system's CA certs;
* legacy: use legacy default behavior (< 2.0.3), excluding user installed CA certs (only for Android);
* nocheck: disable SSL certificate checking and hostname verification, trusting all certs (meant to be used only for testing purposes);
* pinned: trust only provided certificates;
*
* @see https://github.com/silkimen/cordova-plugin-advanced-http#setservertrustmode
* @param {string} mode server trust mode
*/
@Cordova()
setServerTrustMode(mode: 'default' | 'legacy' | 'nocheck' | 'pinned'): Promise<void> {
return;
}
/**
* Make a POST request
*
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @returns {Promise<HTTPResponse>} returns a promise that will resolve on success, and reject on failure
*/
@Cordova()
post(url: string, body: any, headers: any): Promise<HTTPResponse> {
return;
}
/**
* Make a sync POST request
*
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'post',
sync: true,
})
postSync(
url: string,
body: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* Make a GET request
*
* @param url {string} The url to send the request to
* @param parameters {Object} Parameters to send with the request
* @param headers {Object} The headers to set for this request
* @returns {Promise<HTTPResponse>} returns a promise that will resolve on success, and reject on failure
*/
@Cordova()
get(url: string, parameters: any, headers: any): Promise<HTTPResponse> {
return;
}
/**
* Make a sync GET request
*
* @param url {string} The url to send the request to
* @param parameters {Object} Parameters to send with the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'get',
sync: true,
})
getSync(
url: string,
parameters: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* Make a PUT request
*
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @returns {Promise<HTTPResponse>} returns a promise that will resolve on success, and reject on failure
*/
@Cordova()
put(url: string, body: any, headers: any): Promise<HTTPResponse> {
return;
}
/**
* Make a sync PUT request
*
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'put',
sync: true,
})
putSync(
url: string,
body: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* Make a PATCH request
*
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @returns {Promise<HTTPResponse>} returns a promise that will resolve on success, and reject on failure
*/
@Cordova()
patch(url: string, body: any, headers: any): Promise<HTTPResponse> {
return;
}
/**
* Make a sync PATCH request
*
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'patch',
sync: true,
})
patchSync(
url: string,
body: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* Make a DELETE request
*
* @param url {string} The url to send the request to
* @param parameters {Object} Parameters to send with the request
* @param headers {Object} The headers to set for this request
* @returns {Promise<HTTPResponse>} returns a promise that will resolve on success, and reject on failure
*/
@Cordova()
delete(url: string, parameters: any, headers: any): Promise<HTTPResponse> {
return;
}
/**
* Make a sync DELETE request
*
* @param url {string} The url to send the request to
* @param parameters {Object} Parameters to send with the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'delete',
sync: true,
})
deleteSync(
url: string,
parameters: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* Make a HEAD request
*
* @param url {string} The url to send the request to
* @param parameters {Object} Parameters to send with the request
* @param headers {Object} The headers to set for this request
* @returns {Promise<HTTPResponse>} returns a promise that will resolve on success, and reject on failure
*/
@Cordova()
head(url: string, parameters: any, headers: any): Promise<HTTPResponse> {
return;
}
/**
* Make a sync HEAD request
*
* @param url {string} The url to send the request to
* @param parameters {Object} Parameters to send with the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'head',
sync: true,
})
headSync(
url: string,
parameters: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* Make an OPTIONS request
*
* @param url {string} The url to send the request to
* @param parameters {Object} Parameters to send with the request
* @param headers {Object} The headers to set for this request
* @returns {Promise<HTTPResponse>} returns a promise that will resolve on success, and reject on failure
*/
@Cordova()
options(url: string, parameters: any, headers: any): Promise<HTTPResponse> {
return;
}
/**
* Make an sync OPTIONS request
*
* @param url {string} The url to send the request to
* @param parameters {Object} Parameters to send with the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'options',
sync: true,
})
optionsSync(
url: string,
parameters: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
*
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @param filePath {string} The local path(s) of the file(s) to upload
* @param name {string} The name(s) of the parameter to pass the file(s) along as
* @returns {Promise<any>} returns a FileEntry promise that will resolve on success, and reject on failure
*/
@Cordova()
uploadFile(url: string, body: any, headers: any, filePath: string | string[], name: string | string[]): Promise<any> {
return;
}
/**
*
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @param filePath {string} The local path(s) of the file(s) to upload
* @param name {string} The name(s) of the parameter to pass the file(s) along as
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'uploadFile',
sync: true,
})
uploadFileSync(
url: string,
body: any,
headers: any,
filePath: string | string[],
name: string | string[],
success: (result: any) => void,
failure: (error: any) => void
): string {
return;
}
/**
*
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @param filePath {string} The path to download the file to, including the file name.
* @returns {Promise<any>} returns a FileEntry promise that will resolve on success, and reject on failure
*/
@Cordova()
downloadFile(url: string, body: any, headers: any, filePath: string): Promise<any> {
return;
}
/**
*
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @param filePath {string} The path to download the file to, including the file name.
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'downloadFile',
sync: true,
})
downloadFileSync(
url: string,
body: any,
headers: any,
filePath: string,
success: (result: any) => void,
failure: (error: any) => void
): string {
return;
}
/**
*
* @param url {string} The url to send the request to
* @param options {Object} options for individual request
* @param options.method {string} request method
* @param options.data {Object} payload to be send to the server (only applicable on post, put or patch methods)
* @param options.params {Object} query params to be appended to the URL (only applicable on get, head, delete, upload or download methods)
* @param options.serializer {string} data serializer to be used (only applicable on post, put or patch methods), defaults to global serializer value, see setDataSerializer for supported values
* @param options.timeout {number} timeout value for the request in seconds, defaults to global timeout value
* @param options.headers {Object} headers object (key value pair), will be merged with global values
* @param options.filePath {string} file path(s) to be used during upload and download see uploadFile and downloadFile for detailed information
* @param options.name {string} name(s) to be used during upload see uploadFile for detailed information
* @param options.responseType {string} response type, defaults to text
* @returns {Promise<HTTPResponse>} returns a promise that will resolve on success, and reject on failure
*/
@Cordova()
sendRequest(
url: string,
options: {
method: 'get' | 'post' | 'put' | 'patch' | 'head' | 'delete' | 'options' | 'upload' | 'download';
data?: { [index: string]: any };
params?: { [index: string]: string | number };
serializer?: 'json' | 'urlencoded' | 'utf8' | 'multipart' | 'raw';
timeout?: number;
headers?: { [index: string]: string };
filePath?: string | string[];
name?: string | string[];
responseType?: 'text' | 'arraybuffer' | 'blob' | 'json';
}
): Promise<HTTPResponse> {
return;
}
/**
*
* @param url {string} The url to send the request to
* @param options {Object} options for individual request
* @param options.method {string} request method
* @param options.data {Object} payload to be send to the server (only applicable on post, put or patch methods)
* @param options.params {Object} query params to be appended to the URL (only applicable on get, head, delete, upload or download methods)
* @param options.serializer {string} data serializer to be used (only applicable on post, put or patch methods), defaults to global serializer value, see setDataSerializer for supported values
* @param options.timeout {number} timeout value for the request in seconds, defaults to global timeout value
* @param options.headers {Object} headers object (key value pair), will be merged with global values
* @param options.filePath {string} file path(s) to be used during upload and download see uploadFile and downloadFile for detailed information
* @param options.name {string} name(s) to be used during upload see uploadFile for detailed information
* @param options.responseType {string} response type, defaults to text
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'sendRequest',
sync: true,
})
sendRequestSync(
url: string,
options: {
method: 'get' | 'post' | 'put' | 'patch' | 'head' | 'delete' | 'options' | 'upload' | 'download';
data?: { [index: string]: any };
params?: { [index: string]: string | number };
serializer?: 'json' | 'urlencoded' | 'utf8' | 'multipart';
timeout?: number;
headers?: { [index: string]: string };
filePath?: string | string[];
name?: string | string[];
responseType?: 'text' | 'arraybuffer' | 'blob' | 'json';
},
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* @param requestId {string} The RequestId of the request to abort
*/
@Cordova()
abort(requestId: string): Promise<AbortedResponse> {
return;
}
@Cordova({ sync: true })
initializeApproov(): void {
return;
}
@Cordova({ sync: true })
approovSetDataHashInToken(dataHash: string): void {
return;
}
@Cordova({ sync: true })
approovSetBindingHeader(header: string): void {
return;
}
@Cordova()
getApproovLoggableToken(host: string): Promise<ApproovLoggableToken> {
return;
}
}

View File

@@ -1,212 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export interface AppsflyerOptions {
/**
* Appsflyer Dev key
*/
devKey: string;
/**
* Apple Application ID(for iOS only)
*/
appId?: string;
/**
* debug mode
*/
isDebug?: boolean;
/**
* optout of collection of IMEI
*/
collectIMEI?: boolean;
/**
* optout of collection of collectAndroidID
*/
collectAndroidID?: boolean;
/**
* default false Accessing AppsFlyer Attribution / Conversion Data from the SDK (Deferred Deeplinking). Read more: Android, iOS. AppsFlyer plugin will return attribution data in onSuccess callback.
*/
onInstallConversionDataListener?: boolean;
/**
* time for the sdk to wait before launch - IOS 14 ONLY!
*/
waitForATTUserAuthorization?: number;
}
export interface AppsflyerEvent {
[x: string]: any;
}
export interface AppsflyerInviteOptions {
channel?: string;
campaign?: string;
userParams?: {
[x: string]: any;
};
}
/**
* @name Appsflyer
* @description
* Appsflyer Cordova SDK support for Attribution
* @usage
* ```typescript
* import { Appsflyer } from '@awesome-cordova-plugins/appsflyer/ngx';
*
*
* constructor(private appsflyer: Appsflyer) { }
*
* ...
*
*
* this.appsflyer.initSdk(options);
*
* ```
* @interfaces
* AppsflyerOptions
* AppsflyerEvent
* AppsflyerInviteOptions
*/
@Plugin({
pluginName: 'Appsflyer',
plugin: 'cordova-plugin-appsflyer-sdk',
pluginRef: 'window.plugins.appsFlyer',
repo: 'https://github.com/AppsFlyerSDK/cordova-plugin-appsflyer-sdk',
platforms: ['iOS', 'Android'],
install: 'Add to config.xml like stated on github and then start',
})
@Injectable()
export class Appsflyer extends AwesomeCordovaNativePlugin {
/**
* initialize the SDK
*
* @param {AppsflyerOptions} options
* @returns {Promise<any>}
*/
@Cordova()
initSdk(options: AppsflyerOptions): Promise<any> {
return;
}
/**
* These in-app events help you track how loyal users discover your app, and attribute them to specific campaigns/media-sources. Please take the time define the event/s you want to measure to allow you to track ROI (Return on Investment) and LTV (Lifetime Value).
*
* @param {string} eventName custom event name, is presented in your dashboard
* @param {AppsflyerEvent} eventValues event details
*/
@Cordova()
logEvent(eventName: string, eventValues: AppsflyerEvent): void {}
/**
* Setting your own Custom ID enables you to cross-reference your own unique ID with AppsFlyers user ID and the other devices IDs. This ID is available in AppsFlyer CSV reports along with postbacks APIs for cross-referencing with you internal IDs.
*
* @param {string} customerUserId user id
*/
@Cordova({ sync: true })
setAppUserId(customerUserId: string): void {}
/**
* Setting your own Custom ID enables you to cross-reference your own unique ID with AppsFlyers user ID and the other devices IDs. This ID is available in AppsFlyer CSV reports along with postbacks APIs for cross-referencing with you internal IDs.
*
* @param {boolean} customerUserId In some extreme cases you might want to shut down all SDK tracking due to legal and privacy compliance. This can be achieved with the isStopTracking API. Once this API is invoked, our SDK will no longer communicate with our servers and stop functioning.
* @param isStopTracking
*/
@Cordova({ sync: true })
Stop(isStopTracking: boolean): void {}
/**
* Get the data from Attribution
*
* @returns {Promise<any>}
*/
@Cordova()
registerOnAppOpenAttribution(): Promise<any> {
return;
}
/**
* @deprecated
* Enables app uninstall tracking
* @param {string} token GCM/FCM ProjectNumber
* @returns {Promise<any>}
*/
@Cordova()
enableUninstallTracking(token: string): Promise<any> {
return;
}
/**
* Allows to pass GCM/FCM Tokens that where collected by third party plugins to the AppsFlyer server. Can be used for Uninstall Tracking.
*
* @param {string} token GCM/FCM ProjectNumber
*/
@Cordova({ sync: true })
updateServerUninstallToken(token: string): void {}
/**
* (iOS) Allows to pass APN Tokens that where collected by third party plugins to the AppsFlyer server. Can be used for Uninstall Tracking.
*
* @param {string} token APN Token
*/
@Cordova({ sync: true })
registerUninstall(token: string): void {}
/**
* Get AppsFlyers proprietary Device ID. The AppsFlyer Device ID is the main ID used by AppsFlyer in Reports and APIs.
*/
@Cordova()
getAppsFlyerUID(): Promise<any> {
return;
}
/**
* End User Opt-Out (Optional) AppsFlyer provides you a method to optout specific users from AppsFlyer analytics. This method complies with the latest privacy requirements and complies with Facebook data and privacy policies. Default is FALSE, meaning tracking is enabled by default.
*
* @param {boolean} disable Set to true to opt-out user from tracking
*/
@Cordova({ sync: true })
anonymizeUser(disable: boolean): void {}
/**
* Set AppsFlyers OneLink ID. Setting a valid OneLink ID will result in shortened User Invite links, when one is generated. The OneLink ID can be obtained on the AppsFlyer Dashboard.
*
* @param {string} oneLinkId OneLink ID
*/
@Cordova({ sync: true })
setAppInviteOneLinkID(oneLinkId: string): void {}
/**
* Allowing your existing users to invite their friends and contacts as new users to your app can be a key growth factor for your app. AppsFlyer allows you to track and attribute new installs originating from user invites within your app.
*
* @param {AppsflyerInviteOptions} options Parameters for Invite link
* @returns {Promise<any>}
*/
@Cordova()
generateInviteLink(options: AppsflyerInviteOptions): Promise<any> {
return;
}
/**
* Use this call to track an impression use the following API call. Make sure to use the promoted App ID as it appears within the AppsFlyer dashboard.
*
* @param {string} appId Promoted Application ID
* @param {string} campaign Promoted Campaign
*/
@Cordova({ sync: true })
logCrossPromotionImpression(appId: string, campaign: string): void {}
/**
* Use this call to track the click and launch the app store's app page (via Browser)
*
* @param {string} appId Promoted Application ID
* @param {string} campaign Promoted Campaign
* @param {Object} options Additional Parameters to track
*/
@Cordova({ sync: true })
logCrossPromotionAndOpenStore(appId: string, campaign: string, options: Object): void {}
}

View File

@@ -1,113 +0,0 @@
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Injectable } from '@angular/core';
export interface BackgroundFetchConfig {
/**
* Set true to cease background-fetch from operating after user "closes" the app. Defaults to true.
*/
stopOnTerminate?: boolean;
}
/**
* @name Background Fetch
* @description
* iOS Background Fetch Implementation. See: https://developer.apple.com/reference/uikit/uiapplication#1657399
* iOS Background Fetch is basically an API which wakes up your app about every 15 minutes (during the user's prime-time hours) and provides your app exactly 30s of background running-time. This plugin will execute your provided callbackFn whenever a background-fetch event occurs. There is no way to increase the rate which a fetch-event occurs and this plugin sets the rate to the most frequent possible value of UIApplicationBackgroundFetchIntervalMinimum -- iOS determines the rate automatically based upon device usage and time-of-day (ie: fetch-rate is about ~15min during prime-time hours; less frequently when the user is presumed to be sleeping, at 3am for example).
* For more detail, please see https://github.com/transistorsoft/cordova-plugin-background-fetch
* @usage
*
* ```typescript
* import { BackgroundFetch, BackgroundFetchConfig } from '@awesome-cordova-plugins/background-fetch/ngx';
*
*
* constructor(private backgroundFetch: BackgroundFetch) {
*
* 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(() => {
* console.log('Background Fetch initialized');
*
* this.backgroundFetch.finish();
*
* })
* .catch(e => console.log('Error initializing background fetch', e));
*
* // Start the background-fetch API. Your callbackFn provided to #configure will be executed each time a background-fetch event occurs. NOTE the #configure method automatically calls #start. You do not have to call this method after you #configure the plugin
* backgroundFetch.start();
*
* // Stop the background-fetch API from firing fetch events. Your callbackFn provided to #configure will no longer be executed.
* backgroundFetch.stop();
*
*
* }
*
* ```
* @interfaces
* BackgroundFetchConfig
*/
@Plugin({
pluginName: 'BackgroundFetch',
plugin: 'cordova-plugin-background-fetch',
pluginRef: 'BackgroundFetch',
repo: 'https://github.com/transistorsoft/cordova-plugin-background-fetch',
platforms: ['iOS'],
})
@Injectable()
export class BackgroundFetch extends AwesomeCordovaNativePlugin {
/**
* Configures the plugin's fetch callbackFn
*
* @param {BackgroundFetchConfig} config Configuration for plugin
* @returns {Promise<any>}
*/
@Cordova({
callbackOrder: 'reverse',
})
configure(config: BackgroundFetchConfig): Promise<any> {
return;
}
/**
* Start the background-fetch API.
* Your callbackFn provided to #configure will be executed each time a background-fetch event occurs. NOTE the #configure method automatically calls #start. You do not have to call this method after you #configure the plugin
*
* @returns {Promise<any>}
*/
@Cordova()
start(): Promise<any> {
return;
}
/**
* Stop the background-fetch API from firing fetch events. Your callbackFn provided to #configure will no longer be executed.
*
* @returns {Promise<any>}
*/
@Cordova()
stop(): Promise<any> {
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.
*
* @param taskId
*/
@Cordova({
sync: true,
})
finish(taskId: string): void {}
/**
* Return the status of the background-fetch
*
* @returns {Promise<any>}
*/
@Cordova()
status(): Promise<any> {
return;
}
}

View File

@@ -1,913 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
export enum BackgroundGeolocationLocationCode {
PERMISSION_DENIED = 1,
LOCATION_UNAVAILABLE = 2,
TIMEOUT = 3,
}
export enum BackgroundGeolocationNativeProvider {
gps = 'gps',
network = 'network',
passive = 'passive',
fused = 'fused',
}
export enum BackgroundGeolocationLocationProvider {
DISTANCE_FILTER_PROVIDER = 0,
ACTIVITY_PROVIDER = 1,
RAW_PROVIDER = 2,
}
export enum BackgroundGeolocationEvents {
http_authorization = 'http_authorization', // Triggered when server responded with "<code>401 Unauthorized</code>" to post/sync request.
abort_requested = 'abort_requested', // Triggered when server responded with "<code>285 Updates Not Required</code>" to post/sync request.
background = 'background', // Triggered when app entered background state and (not visible to the user).
foreground = 'foreground', // Triggered when app entered foreground state and (visible to the user).
authorization = 'authorization', // Triggered when user changes authorization/permissions for the app or toggles location services.
error = 'error', // Register error listener.
stop = 'stop', // Triggered when background service has been stopped succesfully.
start = 'start', // Event is triggered when background service has been started succesfully.
activity = 'activity', // Register activity monitoring listener.
stationary = 'stationary', // Register stationary location event listener.
location = 'location', // Register location event listener.
}
export enum BackgroundGeolocationAuthorizationStatus {
NOT_AUTHORIZED = 0,
AUTHORIZED = 1,
AUTHORIZED_FOREGROUND = 2,
}
export enum BackgroundGeolocationLogLevel {
TRACE = 'TRACE',
DEBUG = 'DEBUG',
INFO = 'INFO',
WARN = 'WARN',
ERROR = 'ERROR',
}
export interface BackgroundGeolocationLogEntry {
/** ID of log entry as stored in db. */
id: number;
/** Timestamp in milliseconds since beginning of UNIX epoch. */
timestamp: number;
/** Log level */
level: BackgroundGeolocationLogLevel;
/** Log message */
message: string;
/** Recorded stacktrace. (Android only, on iOS part of message) */
stackTrace: string;
}
export interface ServiceStatus {
/** TRUE if service is running. */
isRunning: boolean;
/** TRUE if location services are enabled */
locationServicesEnabled: boolean;
/**
* Authorization status.
*
* Posible values:
* NOT_AUTHORIZED, AUTHORIZED, AUTHORIZED_FOREGROUND
*
* @example
* if (authorization == BackgroundGeolocation.NOT_AUTHORIZED) {...}
*/
authorization: BackgroundGeolocationAuthorizationStatus;
}
export interface BackgroundGeolocation {
code: BackgroundGeolocationLocationCode;
message: string;
}
export interface BackgroundGeolocationCurrentPositionConfig {
timeout: number;
maximumAge: number;
enableHighAccuracy: boolean;
}
export interface BackgroundGeolocationResponse {
/** ID of location as stored in DB (or null) */
id: number;
/**
* Native provider reponsible for location.
*
* Possible values:
* "gps", "network", "passive" or "fused"
*/
provider: BackgroundGeolocationNativeProvider;
/** Configured location provider. */
locationProvider: BackgroundGeolocationLocationProvider;
/** UTC time of this fix, in milliseconds since January 1, 1970. */
time: number;
/** Latitude, in degrees. */
latitude: number;
/** Longitude, in degrees. */
longitude: number;
/** Estimated accuracy of this location, in meters. */
accuracy: number;
/**
* Speed if it is available, in meters/second over ground.
*
* Note: Not all providers are capable of providing speed.
* Typically network providers are not able to do so.
*/
speed: number;
/** Altitude if available, in meters above the WGS 84 reference ellipsoid. */
altitude: number;
/** Bearing, in degrees. */
bearing: number;
/**
* True if location was recorded by mock provider. (ANDROID ONLY)
*
* Note: this property is not enabled by default!
* You can enable it "postTemplate" configure option.
*/
isFromMockProvider?: boolean;
/**
* True if device has mock locations enabled. (ANDROID ONLY)
*
* Note: this property is not enabled by default!
* You can enable it "postTemplate" configure option.
*/
mockLocationsEnabled?: boolean;
}
export interface BackgroundGeolocationConfig {
/**
* Set location provider
*
* Platform: all
* Available providers:
* DISTANCE_FILTER_PROVIDER,
* ACTIVITY_PROVIDER
* RAW_PROVIDER
*
* @default DISTANCE_FILTER_PROVIDER
* @example
* { locationProvider: LocationProvider.RAW_PROVIDER }
*/
locationProvider?: number;
/**
* Desired accuracy in meters.
*
* Platform: all
* Provider: all
* Possible values:
* HIGH_ACCURACY,
* MEDIUM_ACCURACY,
* LOW_ACCURACY,
* PASSIVE_ACCURACY
* Note: Accuracy has direct effect on power drain. Lower accuracy = lower power drain.
*
* @default MEDIUM_ACCURACY
* @example
* { desiredAccuracy: BackgroundGeolocationAccuracy.LOW }
*/
desiredAccuracy?: number;
/**
* Stationary radius in meters.
*
* When stopped, the minimum distance the device must move beyond the stationary location for aggressive background-tracking to engage.
* Platform: all
* Provider: DISTANCE_FILTER
*
* @default 50
*/
stationaryRadius?: number;
/**
* When enabled, the plugin will emit sounds for life-cycle events of background-geolocation! See debugging sounds table.
*
* Platform: all
* Provider: all
*
* @default false
*/
debug?: boolean;
/**
* The minimum distance (measured in meters) a device must move horizontally before an update event is generated.
*
* Platform: all
* Provider: DISTANCE_FILTER, RAW
*
* @default 500
* @see {@link https://apple.co/2oHo2CV|Apple docs}
*/
distanceFilter?: number;
/**
* Enable this in order to force a stop() when the application terminated.
* E.g. on iOS, double-tap home button, swipe away the app.
*
* Platform: all
* Provider: all
*
* @default true
*/
stopOnTerminate?: boolean;
/**
* Start background service on device boot.
*
* Platform: Android
* Provider: all
*
* @default false
*/
startOnBoot?: boolean;
/**
* The minimum time interval between location updates in milliseconds.
*
* Platform: Android
* Provider: all
*
* @default 60000
* @see {@link https://bit.ly/1x00RUu|Android docs}
*/
interval?: number;
/**
* Fastest rate in milliseconds at which your app can handle location updates.
*
* Platform: Android
* Provider: ACTIVITY
*
* @default 120000
* @see {@link https://bit.ly/1x00RUu|Android docs}
*/
fastestInterval?: number;
/**
* Rate in milliseconds at which activity recognition occurs.
* Larger values will result in fewer activity detections while improving battery life.
*
* Platform: Android
* Provider: ACTIVITY
*
* @default 10000
*/
activitiesInterval?: number;
/**
* @deprecated Stop location updates, when the STILL activity is detected.
*/
stopOnStillActivity?: boolean;
/**
* Enable/disable local notifications when tracking and syncing locations.
*
* Platform: Android
* Provider: all
*
* @default true
*/
notificationsEnabled?: boolean;
/**
* Allow location sync service to run in foreground state.
* Foreground state also requires a notification to be presented to the user.
*
* Platform: Android
* Provider: all
*
* @default false
*/
startForeground?: boolean;
/**
* Custom notification title in the drawer.
*
* Platform: Android
* Provider: all
*
* @default "Background tracking"
*/
notificationTitle?: string;
/**
* Custom notification text in the drawer.
*
* Platform: Android
* Provider: all
*
* @default "ENABLED"
*/
notificationText?: string;
/**
* The accent color (hex triplet) to use for notification.
* Eg. <code>#4CAF50</code>.
*
* Platform: Android
* Provider: all
*/
notificationIconColor?: string;
/**
* The filename of a custom notification icon.
*
* Platform: Android
* Provider: all
*/
notificationIconLarge?: string;
/**
* The filename of a custom notification icon.
*
* Platform: Android
* Provider: all
*/
notificationIconSmall?: string;
/**
* Activity type.
* Presumably, this affects iOS GPS algorithm.
*
* Possible values:
* "AutomotiveNavigation", "OtherNavigation", "Fitness", "Other"
*
* Platform: iOS
* Provider: all
*
* @default "OtherNavigation"
* @see {@link https://apple.co/2oHofpH|Apple docs}
*/
activityType?: string;
/**
* Pauses location updates when app is paused.
*
* Platform: iOS
* Provider: all
*
* @default false
* @see {@link https://apple.co/2CbjEW2|Apple docs}
*/
pauseLocationUpdates?: boolean;
/**
* Switch to less accurate significant changes and region monitory when in background.
*
* Platform: iOS
* Provider: all
*
* @default false
*/
saveBatteryOnBackground?: boolean;
/**
* Server url where to send HTTP POST with recorded locations
*
* Platform: all
* Provider: all
*/
url?: string;
/**
* Server url where to send fail to post locations
*
* Platform: all
* Provider: all
*/
syncUrl?: string;
/**
* Specifies how many previously failed locations will be sent to server at once.
*
* Platform: all
* Provider: all
*
* @default 100
*/
syncThreshold?: number;
/**
* Optional HTTP headers sent along in HTTP request.
*
* Platform: all
* Provider: all
*/
httpHeaders?: any;
/**
* Limit maximum number of locations stored into db.
*
* Platform: all
* Provider: all
*
* @default 10000
*/
maxLocations?: number;
/**
* Customization post template.
*
* Platform: all
* Provider: all
*/
postTemplate?: any;
}
/**
* Set location service provider @see https://github.com/mauron85/cordova-plugin-background-geolocation/wiki/Android-providers
*
* Possible values:
* ANDROID_DISTANCE_FILTER_PROVIDER: 0,
* ANDROID_ACTIVITY_PROVIDER: 1
*
* @enum {number}
*/
export declare enum BackgroundGeolocationProvider {
ANDROID_DISTANCE_FILTER_PROVIDER = 0,
ANDROID_ACTIVITY_PROVIDER = 1,
}
/**
* Desired accuracy in meters. Possible values [0, 10, 100, 1000].
* The lower the number, the more power devoted to GeoLocation resulting in higher accuracy readings.
* 1000 results in lowest power drain and least accurate readings.
*
* Possible values:
* HIGH: 0
* MEDIUM: 10
* LOW: 100
* PASSIVE: 1000
*
* enum {number}
*/
export declare enum BackgroundGeolocationAccuracy {
HIGH = 0,
MEDIUM = 10,
LOW = 100,
PASSIVE = 1000,
}
/**
* Used in the switchMode function
*
* Possible values:
* BACKGROUND: 0
* FOREGROUND: 1
*
* @enum {number}
*/
export declare enum BackgroundGeolocationMode {
BACKGROUND = 0,
FOREGROUND = 1,
}
export declare enum BackgroundGeolocationIOSActivity {
AutomotiveNavigation = 'AutomotiveNavigation',
OtherNavigation = 'OtherNavigation',
Fitness = 'Fitness',
Other = 'Other',
}
/**
* @name Background Geolocation
* @description
* This plugin provides foreground and background geolocation with battery-saving "circular region monitoring" and "stop detection". For
* more detail, please see https://github.com/mauron85/cordova-plugin-background-geolocation
* @usage
*
* BackgroundGeolocation must be called within app.ts and or before Geolocation. Otherwise the platform will not ask you for background tracking permission.
*
* ```typescript
* import { BackgroundGeolocation, BackgroundGeolocationConfig, BackgroundGeolocationEvents, BackgroundGeolocationResponse } from '@awesome-cordova-plugins/background-geolocation/ngx';
*
* constructor(private backgroundGeolocation: BackgroundGeolocation) { }
*
* ...
*
* const config: BackgroundGeolocationConfig = {
* desiredAccuracy: 10,
* stationaryRadius: 20,
* 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)
* .then(() => {
*
* this.backgroundGeolocation.on(BackgroundGeolocationEvents.location).subscribe((location: BackgroundGeolocationResponse) => {
* console.log(location);
*
* // IMPORTANT: You must execute the finish method here to inform the native plugin that you're finished,
* // and the background-task may be completed. You must do this regardless if your operations are successful or not.
* // IF YOU DON'T, ios will CRASH YOUR APP for spending too much time in the background.
* this.backgroundGeolocation.finish(); // FOR IOS ONLY
* });
*
* });
*
* // start recording location
* this.backgroundGeolocation.start();
*
* // If you wish to turn OFF background-tracking, call the #stop method.
* this.backgroundGeolocation.stop();
*
* ```
* @interfaces
* BackgroundGeolocationResponse
* BackgroundGeolocationConfig
*/
@Plugin({
pluginName: 'BackgroundGeolocation',
plugin: '@mauron85/cordova-plugin-background-geolocation',
pluginRef: 'BackgroundGeolocation',
repo: 'https://github.com/mauron85/cordova-plugin-background-geolocation',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class BackgroundGeolocation extends AwesomeCordovaNativePlugin {
/**
* Configure the plugin.
*
* @param options {BackgroundGeolocationConfig} options An object of type Config
* @returns {Promise<any>}
*/
@Cordova()
configure(options: BackgroundGeolocationConfig): Promise<any> {
return;
}
/**
* Turn ON the background-geolocation system.
* The user will be tracked whenever they suspend the app.
*
* @returns {Promise<any>}
*/
@Cordova()
start(): Promise<any> {
return;
}
/**
* Turn OFF background-tracking
*
* @returns {Promise<any>}
*/
@Cordova()
stop(): Promise<any> {
return;
}
/**
* Inform the native plugin that you're finished, the background-task may be completed
*
* @returns {Promise<any>}
*/
@Cordova({
platforms: ['iOS'],
})
finish(): Promise<any> {
return;
}
/**
* Force the plugin to enter "moving" or "stationary" state
*
* @param isMoving {boolean}
* @returns {Promise<any>}
*/
@Cordova({
platforms: ['iOS'],
})
changePace(isMoving: boolean): Promise<any> {
return;
}
/**
* Setup configuration
*
* @param options {BackgroundGeolocationConfig}
* @returns {Promise<any>}
*/
@Cordova({
callbackOrder: 'reverse',
})
setConfig(options: BackgroundGeolocationConfig): Promise<any> {
return;
}
/**
* Returns current stationaryLocation if available. null if not
*
* @returns {Promise<Location>}
*/
@Cordova({
platforms: ['iOS'],
})
getStationaryLocation(): Promise<BackgroundGeolocationResponse> {
return;
}
/**
* Add a stationary-region listener. Whenever the devices enters "stationary-mode",
* your #success callback will be executed with #location param containing #radius of region
*
* @returns {Promise<any>}
*/
@Cordova({
platforms: ['iOS'],
})
onStationary(): Promise<any> {
return;
}
/**
* Check if location is enabled on the device
*
* @returns {Promise<number>} Returns a promise with int argument that takes values 0, 1 (true).
*/
@Cordova({
platforms: ['Android'],
})
isLocationEnabled(): Promise<number> {
return;
}
/**
* Display app settings to change permissions
*/
@Cordova({ sync: true })
showAppSettings(): void {}
/**
* Display device location settings
*/
@Cordova({ sync: true })
showLocationSettings(): void {}
/**
* Method can be used to detect user changes in location services settings.
* If user enable or disable location services then success callback will be executed.
* In case or (SettingNotFoundException) fail callback will be executed.
*
* @returns {Observable<number>}
*/
@Cordova({
platforms: ['Android'],
observable: true,
})
watchLocationMode(): Observable<number> {
return;
}
/**
* Stop watching for location mode changes.
*
* @returns {Promise<any>}
*/
@Cordova({
platforms: ['Android'],
})
stopWatchingLocationMode(): Promise<any> {
return;
}
/**
* Method will return all stored locations.
* Locations are stored when:
* - config.stopOnTerminate is false and main activity was killed
* by the system
* or
* - option.debug is true
*
* @returns {Promise<any>}
*/
@Cordova({
platforms: ['Android'],
})
getLocations(): Promise<any> {
return;
}
/**
* Method will return locations, which has not been yet posted to server. NOTE: Locations does contain locationId.
*
* @returns {Promise<any>}
*/
@Cordova()
getValidLocations(): Promise<any> {
return;
}
/**
* Delete stored location by given locationId.
*
* @param locationId {number}
* @returns {Promise<any>}
*/
@Cordova({
platforms: ['Android'],
})
deleteLocation(locationId: number): Promise<any> {
return;
}
/**
* Delete all stored locations.
*
* @returns {Promise<any>}
*/
@Cordova({
platforms: ['Android'],
})
deleteAllLocations(): Promise<any> {
return;
}
/**
* Normally plugin will handle switching between BACKGROUND and FOREGROUND mode itself.
* Calling switchMode you can override plugin behavior and force plugin to switch into other mode.
*
* In FOREGROUND mode plugin uses iOS local manager to receive locations and behavior is affected by option.desiredAccuracy and option.distanceFilter.
* In BACKGROUND mode plugin uses significant changes and region monitoring to receive locations and uses option.stationaryRadius only.
*
* BackgroundGeolocation.Mode.FOREGROUND
* BackgroundGeolocation.Mode.BACKGROUND
*
* @param modeId {number}
* @returns {Promise<any>}
*/
@Cordova({
platforms: ['iOS'],
})
switchMode(modeId: number): Promise<any> {
return;
}
/**
* Return all logged events. Useful for plugin debugging. Parameter limit limits number of returned entries.
*
* @see https://github.com/mauron85/cordova-plugin-background-geolocation/tree/v2.2.1#debugging for more information.
* @param fromId
* @param minLevel
* @param limit {number} Limits the number of entries
* @returns {Promise<any>}
*/
@Cordova()
getLogEntries(
limit: number,
fromId: number,
minLevel: BackgroundGeolocationLogLevel
): Promise<BackgroundGeolocationLogEntry[]> {
return;
}
/**
* Return all logged events. Useful for plugin debugging. Parameter limit limits number of returned entries.
*
* @see https://github.com/mauron85/cordova-plugin-background-geolocation/tree/v2.2.1#debugging for more information.
* @returns {Promise<any>}
*/
@Cordova()
getConfig(): Promise<any> {
return;
}
/**
* One time location check to get current location of the device.
* {timeout: Maximum time in milliseconds device will wait for location,
* maximumAge: Maximum age in milliseconds of a possible cached location that is acceptable to return;
* enableHighAccuracy: if true and if the device is able to provide a more accurate position, it will do so}
*
* @param {BackgroundGeolocationCurrentPositionConfig} options
* @returns {Promise<any>}
*/
@Cordova({
callbackOrder: 'reverse',
})
getCurrentLocation(options?: BackgroundGeolocationCurrentPositionConfig): Promise<BackgroundGeolocationResponse> {
return;
}
/**
* Check status of the service
*/
@Cordova()
checkStatus(): Promise<ServiceStatus> {
return;
}
/**
* Start background task (iOS only)
*
* To perform any long running operation on iOS
* you need to create background task
* IMPORTANT: task has to be ended by endTask
*
* @returns {Promise<number>} taskKey
*/
@Cordova({
platforms: ['IOS'],
})
startTask(): Promise<number> {
return;
}
/**
* End background task indentified by taskKey (iOS only)
*
* @param taskKey
*/
@Cordova({
platforms: ['IOS'],
})
endTask(taskKey: number): Promise<any> {
return;
}
/**
* A special task that gets executed when the app is terminated, but
* the plugin was configured to continue running in the background
* (option <code>stopOnTerminate: false</code>).
*
* In this scenario the Activity was killed by the system and all registered
* event listeners will not be triggered until the app is relaunched.
*
* @example
* BackgroundGeolocation.headlessTask(function(event) {
*
* if (event.name === 'location' || event.name === 'stationary') {
* var xhr = new XMLHttpRequest();
* xhr.open('POST', 'http://192.168.81.14:3000/headless');
* xhr.setRequestHeader('Content-Type', 'application/json');
* xhr.send(JSON.stringify(event.params));
* }
*
* return 'Processing event: ' + event.name; // will be logged
* });
* @param func
*/
@Cordova()
headlessTask(func: any): Promise<any> {
return;
}
/**
* Force sync of pending locations.
* Option <code>syncThreshold</code> will be ignored and all pending locations will be immediately posted to <code>syncUrl</code> in single batch.
*
* Platform: Android, iOS
*/
@Cordova()
forceSync(): Promise<any> {
return;
}
/**
* Register event listener.
*
* Triggered when server responded with "<code>285 Updates Not Required</code>" to post/sync request.
*
* @param event
* @param callbackFn
*/
@Cordova({
observable: true,
})
on(event: BackgroundGeolocationEvents): Observable<BackgroundGeolocationResponse> {
return;
}
/**
* Unregister all event listeners for given event.
*
* If parameter <code>event</code> is not provided then all event listeners will be removed.
*
* @param event
*/
@Cordova()
removeAllListeners(event?: BackgroundGeolocationEvents): Promise<any> {
return;
}
}

View File

@@ -1,283 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
/**
* Configurations items that can be updated.
*/
export interface BackgroundModeConfiguration {
/**
* Title of the background task
*/
title?: string;
/**
* Description of background task
*/
text?: string;
/**
* This will look for `<icon name>.png` in platforms/android/res/drawable|mipmap
*/
icon?: string;
/**
* Set the background color of the notification circle
*/
color?: string;
/**
* By default the app will come to foreground when tapping on the notification. If false, plugin won't come to foreground when tapped.
*/
resume?: boolean;
/**
* When set to false makes the notifications visible on lock screen (Android 5.0+)
*/
hidden?: boolean;
/** Big text */
bigText?: boolean;
/**
* The text that scrolls itself on statusbar
*/
ticker?: string;
/**
* if true plugin will not display a notification. Default is false.
*/
silent?: boolean;
}
/**
* @name Background Mode
* @description
* Cordova plugin to prevent the app from going to sleep while in background.
* Requires Cordova plugin: cordova-plugin-background-mode. For more info about plugin, visit: https://github.com/katzer/cordova-plugin-background-mode
* @usage
* ```typescript
* import { BackgroundMode } from '@awesome-cordova-plugins/background-mode/ngx';
*
* constructor(private backgroundMode: BackgroundMode) { }
*
* ...
*
* this.backgroundMode.enable();
* ```
* @interfaces
* BackgroundModeConfiguration
*/
@Plugin({
pluginName: 'BackgroundMode',
plugin: 'cordova-plugin-background-mode',
pluginRef: 'cordova.plugins.backgroundMode',
repo: 'https://github.com/katzer/cordova-plugin-background-mode',
platforms: ['AmazonFire OS', 'Android', 'Browser', 'iOS', 'Windows'],
})
@Injectable()
export class BackgroundMode extends AwesomeCordovaNativePlugin {
/**
* Enable the background mode.
* Once called, prevents the app from being paused while in background.
*/
@Cordova({
sync: true,
})
enable(): void {}
/**
* Disable the background mode.
* Once the background mode has been disabled, the app will be paused when in background.
*/
@Cordova({
sync: true,
})
disable(): void {
return;
}
/**
* Enable or disable the background mode.
*
* @param enable {boolean} The status to set for.
* @returns {void}
*/
@Cordova({
sync: true,
})
setEnabled(enable: boolean): void {}
/**
* Fire event with given arguments.
*
* @param event {string} event The event's name.
* @param args {array} The callback's arguments.
* @returns {string}
*/
@Cordova({
sync: true,
})
fireEvent(event: string, ...args: any[]): string {
return;
}
/**
* Checks if background mode is enabled or not.
*
* @returns {boolean} returns a boolean that indicates if the background mode is enabled.
*/
@Cordova({
sync: true,
})
isEnabled(): boolean {
return;
}
/**
* Can be used to get the information if the background mode is active.
*
* @returns {boolean} returns a boolean that indicates if the background mode is active.
*/
@Cordova({
sync: true,
})
isActive(): boolean {
return;
}
/**
* Overwrite the default settings.
* Available only for Android platform.
*
* @param overrides {BackgroundModeConfiguration} Dict of options to be overridden.
* @returns {Promise<any>}
*/
@Cordova({
platforms: ['Android'],
})
setDefaults(overrides?: BackgroundModeConfiguration): void {}
/**
* Modify the displayed information.
* Available only for Android platform.
*
* @param {BackgroundModeConfiguration} [options] Any options you want to update. See table below.
*/
@Cordova({
platforms: ['Android'],
sync: true,
})
configure(options?: BackgroundModeConfiguration): void {}
/**
* Register callback for given event.
* > Available events are `enable`, `disable`, `activate`, `deactivate` and `failure`.
*
* @param event {string} Event name
* @returns {Observable<any>}
*/
@Cordova({
observable: true,
clearFunction: 'un',
clearWithArgs: true,
})
on(event: string): Observable<any> {
return;
}
/**
* Listen for events that the plugin fires. Available events are `enable`, `disable`, `activate`, `deactivate` and `failure`.
*
* @param event {string} Event name
* @param callback {function} The function to be exec as callback.
* @returns {Observable<any>}
*/
@Cordova()
un(event: string, callback: (...args: any[]) => void): void {
return;
}
/**
* Android allows to programmatically move from foreground to background.
*/
@Cordova({
platforms: ['Android'],
sync: true,
})
moveToBackground(): void {}
/**
* Enable GPS-tracking in background (Android).
*/
@Cordova({
platforms: ['Android'],
sync: true,
})
disableWebViewOptimizations(): void {}
/**
* Android allows to programmatically move from background to foreground.
*/
@Cordova({
platforms: ['Android'],
sync: true,
})
moveToForeground(): void {}
/**
* Override the back button on Android to go to background instead of closing the app.
*/
@Cordova({
platforms: ['Android'],
sync: true,
})
overrideBackButton(): void {}
/**
* Exclude the app from the recent task list. Works on Android 5.0+.
*/
@Cordova({
platforms: ['Android'],
sync: true,
})
excludeFromTaskList(): void {}
/**
* If the screen is off.
*
* @param fn {function} Callback function to invoke with boolean arg.
* @returns {Promise<boolean>}
*/
@Cordova({
platforms: ['Android'],
})
isScreenOff(fn: (arg0: boolean) => void): void {}
/**
* Turn screen on
*/
@Cordova({
platforms: ['Android'],
sync: true,
})
wakeUp(): void {}
/**
* Turn screen on and show app even locked
*/
@Cordova({
platforms: ['Android'],
sync: true,
})
unlock(): void {}
/**
* Disables battery optimazation mode for the app (android only)
*/
@Cordova({
platforms: ['Android'],
sync: true,
})
disableBatteryOptimizations(): void {}
}

View File

@@ -1,111 +0,0 @@
import { Injectable } from '@angular/core';
import { Plugin, CordovaInstance, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
declare const window: any;
export enum UploadState {
UPLOADED = 'UPLOADED',
FAILED = 'FAILED',
UPLOADING = 'UPLOADING',
INITIALIZED = 'INITIALIZED',
}
export type UploadStateType = keyof typeof UploadState;
export interface UploadEvent {
id?: string; // id of the upload
state?: UploadStateType; // state of the upload (either UPLOADING, UPLOADED or FAILED)
statusCode?: number; // response code returned by server after upload is completed
serverResponse?: any; // server response received after upload is completed
error?: any; // error message in case of failure
errorCode?: number; // error code for any exception encountered
progress?: any; // progress for ongoing upload
eventId?: string; // id of the event
}
export interface FTMPayloadOptions {
id: string;
filePath: string;
fileKey?: string;
serverUrl: string;
notificationTitle?: string;
headers?: {
[name: string]: string;
};
parameters?: {
[name: string]: string;
};
[prop: string]: any;
}
export interface FTMOptions {
callBack: (event: UploadEvent) => any;
config?: {
parallelUploadsLimit?: number;
};
}
export class FileTransferManager {
private _objectInstance: any;
constructor(options: FTMOptions) {
this._objectInstance = window.FileTransferManager.init(options.config, options.callBack);
}
@CordovaInstance()
startUpload(payload: FTMPayloadOptions): void {
return;
}
@CordovaInstance()
removeUpload(id: any): Promise<any> {
return;
}
@CordovaInstance()
acknowledgeEvent(id: string): Promise<any> {
return;
}
@CordovaInstance()
destroy(): Promise<any> {
return;
}
}
/**
* @name BackgroundUpload
* @description
* This plugin does something
* @usage
* ```typescript
* import { BackgroundUpload } from '@awesome-cordova-plugins/background-upload/ngx';
*
*
* constructor(private backgroundUpload: BackgroundUpload) { }
*
* ...
*
*
* this.backgroundUpload.init({})
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'BackgroundUpload',
plugin: 'cordova-plugin-background-upload',
pluginRef: 'FileTransferManager',
repo: 'https://github.com/spoonconsulting/cordova-plugin-background-upload',
install: 'ionic cordova plugin add cordova-plugin-background-upload',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class BackgroundUpload extends AwesomeCordovaNativePlugin {
FileTransferManager = FileTransferManager;
init(options: FTMOptions): FileTransferManager {
return new FileTransferManager(options);
}
}

View File

@@ -1,117 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name Badge
* @premier badge
* @description
* The essential purpose of badge numbers is to enable an application to inform its users that it has something for them — for example, unread messages — when the application isnt running in the foreground.
*
* Requires Cordova plugin: cordova-plugin-badge. For more info, please see the [Badge plugin docs](https://github.com/katzer/cordova-plugin-badge).
*
* Android Note: Badges have historically only been a feature implemented by third party launchers and not visible unless one of those launchers was being used (E.G. Samsung or Nova Launcher) and if enabled by the user. As of Android 8 (Oreo), [notification badges](https://developer.android.com/training/notify-user/badges) were introduced officially to reflect unread notifications. This plugin is unlikely to work as expected on devices running Android 8 or newer. Please see the [local notifications plugin docs](https://github.com/katzer/cordova-plugin-local-notifications) for more information on badge use with notifications.
* @usage
* ```typescript
* import { Badge } from '@awesome-cordova-plugins/badge/ngx';
*
* constructor(private badge: Badge) { }
*
* ...
*
* this.badge.set(10);
* this.badge.increase(1);
* this.badge.clear();
* ```
*/
@Plugin({
pluginName: 'Badge',
plugin: 'cordova-plugin-badge',
pluginRef: 'cordova.plugins.notification.badge',
repo: 'https://github.com/katzer/cordova-plugin-badge',
platforms: ['Android', 'Browser', 'iOS', 'Windows'],
})
@Injectable()
export class Badge extends AwesomeCordovaNativePlugin {
/**
* Clear the badge of the app icon.
*
* @returns {Promise<boolean>}
*/
@Cordova()
clear(): Promise<boolean> {
return;
}
/**
* Set the badge of the app icon.
*
* @param {number} badgeNumber The new badge number.
* @returns {Promise<any>}
*/
@Cordova()
set(badgeNumber: number): Promise<any> {
return;
}
/**
* Get the badge of the app icon.
*
* @returns {Promise<any>}
*/
@Cordova()
get(): Promise<any> {
return;
}
/**
* Increase the badge number.
*
* @param {number} increaseBy Count to add to the current badge number
* @returns {Promise<any>}
*/
@Cordova()
increase(increaseBy: number): Promise<any> {
return;
}
/**
* Decrease the badge number.
*
* @param {number} decreaseBy Count to subtract from the current badge number
* @returns {Promise<any>}
*/
@Cordova()
decrease(decreaseBy: number): Promise<any> {
return;
}
/**
* Check support to show badges.
*
* @returns {Promise<any>}
*/
@Cordova()
isSupported(): Promise<any> {
return;
}
/**
* Determine if the app has permission to show badges.
*
* @returns {Promise<any>}
*/
@Cordova()
hasPermission(): Promise<any> {
return;
}
/**
* Register permission to set badge notifications
*
* @returns {Promise<any>}
*/
@Cordova()
requestPermission(): Promise<any> {
return;
}
}

View File

@@ -1,154 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export interface BarcodeScannerOptions {
/**
* Prefer front camera. Supported on iOS and Android.
*/
preferFrontCamera?: boolean;
/**
* Show flip camera button. Supported on iOS and Android.
*/
showFlipCameraButton?: boolean;
/**
* Show torch button. Supported on iOS and Android.
*/
showTorchButton?: boolean;
/**
* Disable animations. Supported on iOS only.
*/
disableAnimations?: boolean;
/**
* Disable success beep. Supported on iOS only.
*/
disableSuccessBeep?: boolean;
/**
* Prompt text. Supported on Android only.
*/
prompt?: string;
/**
* Formats separated by commas. Defaults to all formats except `PDF_417` and `RSS_EXPANDED`.
*/
formats?: string;
/**
* Orientation. Supported on Android only. Can be set to `portrait` or `landscape`. Defaults to none so the user can rotate the phone and pick an orientation.
*/
orientation?: string;
/**
* Launch with the torch switched on (if available). Supported on Android only.
*/
torchOn?: boolean;
/**
* Save scan history. Defaults to `false`. Supported on Android only.
*/
saveHistory?: boolean;
/**
* Display scanned text for X ms. 0 suppresses it entirely, default 1500. Supported on Android only.
*/
resultDisplayDuration?: number;
}
export interface BarcodeScanResult {
format:
| 'QR_CODE'
| 'DATA_MATRIX'
| 'UPC_E'
| 'UPC_A'
| 'EAN_8'
| 'EAN_13'
| 'CODE_128'
| 'CODE_39'
| 'CODE_93'
| 'CODABAR'
| 'ITF'
| 'RSS14'
| 'RSS_EXPANDED'
| 'PDF_417'
| 'AZTEC'
| 'MSI';
cancelled: boolean;
text: string;
}
/**
* @name Barcode Scanner
* @description
* The Barcode Scanner Plugin opens a camera view and automatically scans a barcode, returning the data back to you.
*
* Requires Cordova plugin: `phonegap-plugin-barcodescanner`. For more info, please see the [BarcodeScanner plugin docs](https://github.com/phonegap/phonegap-plugin-barcodescanner).
* @usage
* ```typescript
* import { BarcodeScanner } from '@awesome-cordova-plugins/barcode-scanner/ngx';
*
* constructor(private barcodeScanner: BarcodeScanner) { }
*
* ...
*
*
* this.barcodeScanner.scan().then(barcodeData => {
* console.log('Barcode data', barcodeData);
* }).catch(err => {
* console.log('Error', err);
* });
* ```
* @interfaces
* BarcodeScannerOptions
* BarcodeScanResult
*/
@Plugin({
pluginName: 'BarcodeScanner',
plugin: 'phonegap-plugin-barcodescanner',
pluginRef: 'cordova.plugins.barcodeScanner',
repo: 'https://github.com/phonegap/phonegap-plugin-barcodescanner',
platforms: ['Android', 'BlackBerry 10', 'Browser', 'iOS', 'Windows'],
})
@Injectable()
export class BarcodeScanner extends AwesomeCordovaNativePlugin {
Encode: {
TEXT_TYPE: string;
EMAIL_TYPE: string;
PHONE_TYPE: string;
SMS_TYPE: string;
} = {
TEXT_TYPE: 'TEXT_TYPE',
EMAIL_TYPE: 'EMAIL_TYPE',
PHONE_TYPE: 'PHONE_TYPE',
SMS_TYPE: 'SMS_TYPE',
};
/**
* Open the barcode scanner.
*
* @param {BarcodeScannerOptions} [options] Optional options to pass to the scanner
* @returns {Promise<any>} Returns a Promise that resolves with scanner data, or rejects with an error.
*/
@Cordova({
callbackOrder: 'reverse',
})
scan(options?: BarcodeScannerOptions): Promise<BarcodeScanResult> {
return;
}
/**
* Encodes data into a barcode.
* NOTE: not well supported on Android
*
* @param {string} type Type of encoding
* @param {any} data Data to encode
* @returns {Promise<any>}
*/
@Cordova()
encode(type: string, data: any): Promise<any> {
return;
}
}

View File

@@ -1,89 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
export interface BatteryStatusResponse {
/**
* The battery charge percentage
*/
level: number;
/**
* A boolean that indicates whether the device is plugged in
*/
isPlugged: boolean;
}
/**
* @name Battery Status
* @description
* Requires Cordova plugin: cordova-plugin-batterystatus. For more info, please see the [BatteryStatus plugin docs](https://github.com/apache/cordova-plugin-battery-status).
* @usage
* ```typescript
* import { BatteryStatus } from '@awesome-cordova-plugins/battery-status/ngx';
*
* constructor(private batteryStatus: BatteryStatus) { }
*
* ...
*
*
* // watch change in battery status
* const subscription = this.batteryStatus.onChange().subscribe(status => {
* console.log(status.level, status.isPlugged);
* });
*
* // stop watch
* subscription.unsubscribe();
*
* ```
* @interfaces
* BatteryStatusResponse
*/
@Plugin({
pluginName: 'BatteryStatus',
plugin: 'cordova-plugin-battery-status',
pluginRef: 'navigator.battery',
repo: 'https://github.com/apache/cordova-plugin-battery-status',
platforms: ['iOS', 'Android', 'Windows', 'Browser'],
})
@Injectable()
export class BatteryStatus extends AwesomeCordovaNativePlugin {
/**
* Watch the change in battery level
*
* @returns {Observable<BatteryStatusResponse>} Returns an observable that pushes a status object
*/
@Cordova({
eventObservable: true,
event: 'batterystatus',
})
onChange(): Observable<BatteryStatusResponse> {
return;
}
/**
* Watch when the battery level goes low
*
* @returns {Observable<BatteryStatusResponse>} Returns an observable that pushes a status object
*/
@Cordova({
eventObservable: true,
event: 'batterylow',
})
onLow(): Observable<BatteryStatusResponse> {
return;
}
/**
* Watch when the battery level goes to critical
*
* @returns {Observable<BatteryStatusResponse>} Returns an observable that pushes a status object
*/
@Cordova({
eventObservable: true,
event: 'batterycritical',
})
onCritical(): Observable<BatteryStatusResponse> {
return;
}
}

View File

@@ -1,107 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name BioCatch
* @description
* BioCatch SDK Cordova support
* @usage
* ```typescript
* import { BioCatch } from '@awesome-cordova-plugins/biocatch';
*
*
* constructor(private biocatch: BioCatch) { }
*
* ...
*
*
* this.biocatch.start('customer-session-1', 'http://example.com', 'some-public-key')
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'BioCatch',
plugin: 'cordova-plugin-biocatch',
pluginRef: 'BioCatch',
repo: 'https://bitbucket.org/carlos_orellana/ionic-plugin',
platforms: ['iOS', 'Android'],
})
@Injectable()
export class BioCatch extends AwesomeCordovaNativePlugin {
/**
* Start a session
*
* @param customerSessionID {String} Customer session id
* @param wupUrl {String} WUP server URL
* @param publicKey {String} Public Key
* @returns {Promise<void>} Returns a promise
*/
@Cordova()
start(customerSessionID: string | null, wupUrl: string, publicKey: string | null): Promise<void> {
return;
}
/**
* Pause the session
*
* @returns {Promise<void>} Returns a promise
*/
@Cordova()
pause(): Promise<void> {
return;
}
/**
* Resume the session
*
* @returns {Promise<void>} Returns a promise
*/
@Cordova()
resume(): Promise<void> {
return;
}
/**
* Stop the session
*
* @returns {Promise<void>} Returns a promise
*/
@Cordova()
stop(): Promise<void> {
return;
}
/**
* Reset the session
*
* @returns {Promise<void>} Returns a promise
*/
@Cordova()
resetSession(): Promise<void> {
return;
}
/**
* Change the session context
*
* @param contextName {String} Context name
* @returns {Promise<void>} Returns a promise
*/
@Cordova()
changeContext(contextName: string): Promise<void> {
return;
}
/**
* Update the customer session ID
*
* @param customerSessionID {String}
* @returns {Promise<void>} Returns a promise
*/
@Cordova()
updateCustomerSessionID(customerSessionID: string | null): Promise<void> {
return;
}
}

View File

@@ -1,58 +0,0 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
/**
* @name BiometricWrapper
* @description
* This plugin capture biometric(Iris and Fingerprint) and validate the user.
* May be used in Banking domain
* @usage
* ```typescript
* import { BiometricWrapper } from '@awesome-cordova-plugins/biometric-wrapper/ngx';
*
*
* constructor(private biometricWrapper: BiometricWrapper) { }
*
* ...
*
*
* this.biometricWrapper.activateIris({'PID_XML': '<pid-xml/>'})
* .then((res: any) => )
* .catch((error: any) => );
*
* ```
*/
@Plugin({
pluginName: 'BiometricWrapper',
plugin: 'cordova-plugin-biometric',
pluginRef: 'cordova.plugins.BiometricWrapper',
repo: '',
install: '',
installVariables: [],
platforms: ['Android'],
})
@Injectable()
export class BiometricWrapper extends AwesomeCordovaNativePlugin {
/**
* This function activate iris activity
*
* @param args
* @returns {Promise<any>} Returns a promise that resolves when iris data captured
*/
@Cordova()
activateIris(args: any): Promise<any> {
return;
}
/**
* This function activate fingerprint activity
*
* @param args
* @returns {Promise<any>} Returns a promise that resolves when FP data captured
*/
@Cordova()
activateFingerprint(args: any): Promise<any> {
return;
}
}

View File

@@ -1,644 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
export interface BLEScanOptions {
/** true if duplicate devices should be reported, false (default) if devices should only be reported once. */
reportDuplicates?: boolean;
}
/**
* @name BLE
* @description
* This plugin enables communication between a phone and Bluetooth Low Energy (BLE) peripherals.
*
* The plugin provides a simple JavaScript API for iOS and Android.
*
* - Scan for peripherals
* - Connect to a peripheral
* - Read the value of a characteristic
* - Write new value to a characteristic
* - Get notified when characteristic's value changes
*
* Advertising information is returned when scanning for peripherals. Service, characteristic, and property info is returned when connecting to a peripheral. All access is via service and characteristic UUIDs. The plugin manages handles internally.
*
* Simultaneous connections to multiple peripherals are supported.
* @usage
*
* ```typescript
*
* import { BLE } from '@awesome-cordova-plugins/ble/ngx';
*
* constructor(private ble: BLE) { }
*
* ```
*
* ## Peripheral Data
*
* Peripheral Data is passed to the success callback when scanning and connecting. Limited data is passed when scanning.
*
* ```typescript
* {
* 'name': 'Battery Demo',
* 'id': '20:FF:D0:FF:D1:C0',
* 'advertising': [2,1,6,3,3,15,24,8,9,66,97,116,116,101,114,121],
* 'rssi': -55
* }
* ```
* After connecting, the peripheral object also includes service, characteristic and descriptor information.
*
* ```typescript
* {
* 'name': 'Battery Demo',
* 'id': '20:FF:D0:FF:D1:C0',
* 'advertising': [2,1,6,3,3,15,24,8,9,66,97,116,116,101,114,121],
* 'rssi': -55,
* 'services': [
* '1800',
* '1801',
* '180f'
* ],
* 'characteristics': [
* {
* 'service': '1800',
* 'characteristic': '2a00',
* 'properties': [
* 'Read'
* ]
* },
* {
* 'service': '1800',
* 'characteristic': '2a01',
* 'properties': [
* 'Read'
* ]
* },
* {
* 'service': '1801',
* 'characteristic': '2a05',
* 'properties': [
* 'Read'
* ]
* },
* {
* 'service': '180f',
* 'characteristic': '2a19',
* 'properties': [
* 'Read'
* ],
* 'descriptors': [
* {
* 'uuid': '2901'
* },
* {
* 'uuid': '2904'
* }
* ]
* }
* ]
* }
* ```
*
* ## Advertising Data
* Bluetooth advertising data is returned in when scanning for devices. The format varies depending on your platform. On Android advertising data will be the raw advertising bytes. iOS does not allow access to raw advertising data, so a dictionary of data is returned.
*
* The advertising information for both Android and iOS appears to be a combination of advertising data and scan response data.
*
* ### Android
*
* ```typescript
* {
* 'name': 'demo',
* 'id': '00:1A:7D:DA:71:13',
* 'advertising': ArrayBuffer,
* 'rssi': -37
* }
* ```
*
* Convert the advertising info to a Uint8Array for processing. `var adData = new Uint8Array(peripheral.advertising)`
*
* ### iOS
*
* Note that iOS uses the string value of the constants for the [Advertisement Data Retrieval Keys](https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/CBCentralManagerDelegate_Protocol/index.html#//apple_ref/doc/constant_group/Advertisement_Data_Retrieval_Keys). This will likely change in the future.
*
* ```typescript
* {
* 'name': 'demo',
* 'id': 'D8479A4F-7517-BCD3-91B5-3302B2F81802',
* 'advertising': {
* 'kCBAdvDataChannel': 37,
* 'kCBAdvDataServiceData': {
* 'FED8': {
* 'byteLength': 7 // data not shown
* }
* },
* 'kCBAdvDataLocalName': 'demo',
* 'kCBAdvDataServiceUUIDs': ['FED8'],
* 'kCBAdvDataManufacturerData': {
* 'byteLength': 7 // data not shown
* },
* 'kCBAdvDataTxPowerLevel': 32,
* 'kCBAdvDataIsConnectable': true
* },
* 'rssi': -53
* }
* ```
*
* ## Typed Arrays
*
* This plugin uses typed Arrays or ArrayBuffers for sending and receiving data.
*
* This means that you need convert your data to ArrayBuffers before sending and from ArrayBuffers when receiving.
*
* ```typescript
* // ASCII only
* function stringToBytes(string) {
* var array = new Uint8Array(string.length);
* for (var i = 0, l = string.length; i < l; i++) {
* array[i] = string.charCodeAt(i);
* }
* return array.buffer;
* }
*
* // ASCII only
* function bytesToString(buffer) {
* return String.fromCharCode.apply(null, new Uint8Array(buffer));
* }
* ```
* You can read more about typed arrays in these articles on [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays) and [HTML5 Rocks](http://www.html5rocks.com/en/tutorials/webgl/typed_arrays/).
*
* ## UUIDs
*
* UUIDs are always strings and not numbers. Some 16-bit UUIDs, such as '2220' look like integers, but they're not. (The integer 2220 is 0x8AC in hex.) This isn't a problem with 128 bit UUIDs since they look like strings 82b9e6e1-593a-456f-be9b-9215160ebcac. All 16-bit UUIDs should also be passed to methods as strings.
* @interfaces
* BLEScanOptions
*/
@Plugin({
pluginName: 'BLE',
plugin: 'cordova-plugin-ble-central',
pluginRef: 'ble',
repo: 'https://github.com/don/cordova-plugin-ble-central',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class BLE extends AwesomeCordovaNativePlugin {
/**
* Scan and discover BLE peripherals for the specified amount of time.
*
* @usage
* ```
* BLE.scan([], 5).subscribe(device => {
* console.log(JSON.stringify(device));
* });
* ```
* @param {string[]} services List of service UUIDs to discover, or `[]` to find all devices
* @param {number} seconds Number of seconds to run discovery
* @returns {Observable<any>} Returns an Observable that notifies of each peripheral that is discovered during the specified time.
*/
@Cordova({
observable: true,
})
scan(services: string[], seconds: number): Observable<any> {
return;
}
/**
* Scan and discover BLE peripherals until `stopScan` is called.
*
* @usage
* ```
* BLE.startScan([]).subscribe(device => {
* console.log(JSON.stringify(device));
* });
*
* setTimeout(() => {
* BLE.stopScan();
* }, 5000);
* ```
* @param {string[]} services List of service UUIDs to discover, or `[]` to find all devices
* @returns {Observable<any>} Returns an Observable that notifies of each peripheral discovered.
*/
@Cordova({
observable: true,
clearFunction: 'stopScan',
clearWithArgs: false,
})
startScan(services: string[]): Observable<any> {
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).
*
* @param {string[]} services List of service UUIDs to discover, or `[]` to find all devices
* @param {BLEScanOptions} options Options
* @returns {Observable<any>} Returns an Observable that notifies of each peripheral discovered.
*/
@Cordova({
observable: true,
clearFunction: 'stopScan',
clearWithArgs: false,
})
startScanWithOptions(services: string[], options: BLEScanOptions): Observable<any> {
return;
}
/**
* Stop a scan started by `startScan`.
*
* @usage
* ```
* BLE.startScan([]).subscribe(device => {
* console.log(JSON.stringify(device));
* });
* setTimeout(() => {
* BLE.stopScan().then(() => { console.log('scan stopped'); });
* }, 5000);
* ```
* @returns {Promise<any>}
*/
@Cordova()
stopScan(): Promise<any> {
return;
}
/**
* Set device pin.
*
* @usage
* ```
* BLE.setPin(pin).subscribe(success => {
* console.log(success);
* },
* failure => {
* console.log('failure');
* });
* ```
* @param {string} pin Pin of the device as a string
* @returns {Observable<any>} Returns an Observable that notifies of success/failure.
*/
@Cordova({
observable: true,
})
setPin(pin: string): Observable<any> {
return;
}
/**
* Connect to a peripheral.
*
* @usage
* ```
* BLE.connect('12:34:56:78:9A:BC').subscribe(peripheralData => {
* console.log(peripheralData);
* },
* peripheralData => {
* console.log('disconnected');
* });
* ```
* @param {string} deviceId UUID or MAC address of the peripheral
* @returns {Observable<any>} Returns an Observable that notifies of connect/disconnect.
*/
@Cordova({
observable: true,
clearFunction: 'disconnect',
clearWithArgs: true,
})
connect(deviceId: string): Observable<any> {
return;
}
/**
* Establish an automatic connection to a peripheral. The phone will automatically connect to the Bluetooth peripheral
* whenever it is in range. The autoConnect function uses callbacks instead of observables because connect and
* disconnect can each be called many times as a devices connects and disconnects.
*
* On Android you can pass a MAC address directly to autoConnect. With iOS, you need to get a device id by scanning,
* calling ble.peripheralsWithIdentifiers, or calling ble.connectedPeripheralsWithServices.
*
* @usage
* ```
* someFunction() {
* this.ble.autoConnect(deviceId, onConnected.bind(this), onDisconnected.bind(this));
* }
*
* onConnected(peripheral) {
* console.log(`Connected to ${peripheral.id}`)l
* }
*
* onDisconnected(peripheral) {
* console.log(`Disconnected from ${peripheral.id}`)l
* }
*
* ```
* @param {string} deviceId UUID or MAC address of the peripheral
* @param {Function} connectCallback function that is called with peripheral data when the devices connects
* @param {Function} disconnectCallback function that is called with peripheral data when the devices disconnects
*/
@Cordova({ sync: true })
autoConnect(deviceId: string, connectCallback: any, disconnectCallback: any) {
return;
}
/**
* Request MTU size.
* May be used to fix the Error 14 "Unlikely" on write requests with more than 20 bytes.
*
* @usage
* ```
* BLE.requestMtu('12:34:56:78:9A:BC', 512).then(() => {
* console.log('MTU Size Accepted');
* }, error => {
* console.log('MTU Size Failed');
* });
* ```
* @param {string} deviceId UUID or MAC address of the peripheral
* @param {number} mtuSize The new MTU size. (23 - 517, default is usually 23. Max recommended: 512)
* @returns {Promise<any>} Returns a Promise.
*/
@Cordova()
requestMtu(deviceId: string, mtuSize: number): Promise<any> {
return;
}
/**
* Refresh Device Cache
* This method may fix a issue of old cached services and characteristics.
* NOTE Since this uses an undocumented API it's not guaranteed to work.
* If you choose a too low delay time (timeoutMillis) the method could fail.
*
* @usage
* ```
* BLE.refreshDeviceCache('12:34:56:78:9A:BC', 10000).then(discoveredServices => {
* console.log('The new discovered services after the clean: ', discoveredServices);
* }, error => {
* console.log('Refresh device cache failed.');
* });
* ```
* @param {string} deviceId UUID or MAC address of the peripheral
* @param {number} timeoutMillis Delay in milliseconds after refresh before discovering services.
* @returns {Promise<any>} Returns a Promise.
*/
@Cordova()
refreshDeviceCache(deviceId: string, timeoutMillis: number): Promise<any> {
return;
}
/**
* Disconnect from a peripheral.
*
* @usage
* ```
* BLE.disconnect('12:34:56:78:9A:BC').then(() => {
* console.log('Disconnected');
* });
* ```
* @param {string} deviceId UUID or MAC address of the peripheral
* @returns {Promise<any>} Returns a Promise
*/
@Cordova()
disconnect(deviceId: string): Promise<any> {
return;
}
/**
* Read the value of a characteristic.
*
* @param {string} deviceId UUID or MAC address of the peripheral
* @param {string} serviceUUID UUID of the BLE service
* @param {string} characteristicUUID UUID of the BLE characteristic
* @returns {Promise<any>} Returns a Promise
*/
@Cordova()
read(deviceId: string, serviceUUID: string, characteristicUUID: string): Promise<any> {
return;
}
/**
* Write the value of a characteristic.
*
* @usage
* ```
* // send 1 byte to switch a light on
* var data = new Uint8Array(1);
* data[0] = 1;
* BLE.write(device_id, 'FF10', 'FF11', data.buffer);
*
* // send a 3 byte value with RGB color
* var data = new Uint8Array(3);
* data[0] = 0xFF; // red
* data[0] = 0x00; // green
* data[0] = 0xFF; // blue
* BLE.write(device_id, 'ccc0', 'ccc1', data.buffer);
*
* // send a 32 bit integer
* var data = new Uint32Array(1);
* data[0] = counterInput.value;
* BLE.write(device_id, SERVICE, CHARACTERISTIC, data.buffer);
*
* ```
* @param {string} deviceId UUID or MAC address of the peripheral
* @param {string} serviceUUID UUID of the BLE service
* @param {string} characteristicUUID UUID of the BLE characteristic
* @param {ArrayBuffer} value Data to write to the characteristic, as an ArrayBuffer.
* @returns {Promise<any>} Returns a Promise
*/
@Cordova()
write(deviceId: string, serviceUUID: string, characteristicUUID: string, value: ArrayBuffer): Promise<any> {
return;
}
/**
* Write the value of a characteristic without waiting for confirmation from the peripheral.
*
* @param {string} deviceId UUID or MAC address of the peripheral
* @param {string} serviceUUID UUID of the BLE service
* @param {string} characteristicUUID UUID of the BLE characteristic
* @param {ArrayBuffer} value Data to write to the characteristic, as an ArrayBuffer.
* @returns {Promise<any>} Returns a Promise
*/
@Cordova()
writeWithoutResponse(
deviceId: string,
serviceUUID: string,
characteristicUUID: string,
value: ArrayBuffer
): Promise<any> {
return;
}
/**
* Register to be notified when the value of a characteristic changes.
*
* @usage
* ```
* BLE.startNotification(device_id, 'FF10', 'FF11').subscribe(buffer => {
* console.log(String.fromCharCode.apply(null, new Uint8Array(buffer));
* });
* ```
* @param {string} deviceId UUID or MAC address of the peripheral
* @param {string} serviceUUID UUID of the BLE service
* @param {string} characteristicUUID UUID of the BLE characteristic
* @returns {Observable<any>} Returns an Observable that notifies of characteristic changes.
* The observer emit an array with data at index 0 and sequence order at index 1.
* The sequence order is always undefined on iOS. On android it leave the client to check the sequence order and reorder if needed
*/
@Cordova({
observable: true,
destruct: true,
clearFunction: 'stopNotification',
clearWithArgs: true,
})
startNotification(deviceId: string, serviceUUID: string, characteristicUUID: string): Observable<any> {
return;
}
/**
* Stop being notified when the value of a characteristic changes.
*
* @param {string} deviceId UUID or MAC address of the peripheral
* @param {string} serviceUUID UUID of the BLE service
* @param {string} characteristicUUID UUID of the BLE characteristic
* @returns {Promise<any>}
*/
@Cordova()
stopNotification(deviceId: string, serviceUUID: string, characteristicUUID: string): Promise<any> {
return;
}
/**
* Report the connection status.
*
* @usage
* ```
* BLE.isConnected('FFCA0B09-CB1D-4DC0-A1EF-31AFD3EDFB53').then(
* () => { console.log('connected'); },
* () => { console.log('not connected'); }
* );
* ```
* @param {string} deviceId UUID or MAC address of the peripheral
* @returns {Promise<any>}
*/
@Cordova()
isConnected(deviceId: string): Promise<any> {
return;
}
/**
* Report if bluetooth is enabled.
*
* @returns {Promise<void>} Returns a Promise that resolves if Bluetooth is enabled, and rejects if disabled.
*/
@Cordova()
isEnabled(): Promise<void> {
return;
}
/**
* Register to be notified when Bluetooth state changes on the device.
*
* @usage
* ```
* BLE.startStateNotifications().subscribe(state => {
* console.log("Bluetooth is " + state);
* });
* ```
* @returns {Observable<any>} Returns an Observable that notifies when the Bluetooth is enabled or disabled on the device.
*/
@Cordova({
observable: true,
clearFunction: 'stopStateNotifications',
clearWithArgs: false,
})
startStateNotifications(): Observable<any> {
return;
}
/**
* Stop state notifications.
*
* @returns {Promise<any>}
*/
@Cordova()
stopStateNotifications(): Promise<any> {
return;
}
/**
* Open System Bluetooth settings (Android only).
*
* @returns {Promise<any>}
*/
@Cordova()
showBluetoothSettings(): Promise<any> {
return;
}
/**
* Enable Bluetooth on the device (Android only).
*
* @returns {Promise<any>}
*/
@Cordova()
enable(): Promise<any> {
return;
}
/**
* Read the RSSI value on the device connection.
*
* @param {string} deviceId UUID or MAC address of the peripheral
* @returns {Promise<any>}
*/
@Cordova()
readRSSI(deviceId: string): Promise<any> {
return;
}
/**
* Retrieves a list of the peripherals (containing any of the specified services)
* currently connected to the system. The peripheral list is sent to the success callback.
* iOS only
*
* @param {string[]} services List of services to discover
* @returns {Promise<any>} Returns a promise with a list of peripheral objects
*/
@Cordova()
connectedPeripheralsWithServices(services: string[]): Promise<any[]> {
return;
}
/**
* Find the connected peripherals offering the listed service UUIDs.
* iOS only
*
* @param {string[]} uuids List of peripheral UUIDs
* @returns {Promise<any>} Returns a promise with a list of peripheral objects
*/
@Cordova()
peripheralsWithIdentifiers(uuids: string[]): Promise<any[]> {
return;
}
/**
* Find the bonded devices
* Android only
*
* @returns {Promise<any>} Returns a promise with a list of peripheral objects
*/
@Cordova()
bondedDevices(): Promise<any[]> {
return;
}
/**
* Reports if location services are enabled.
* Android only
*
* @returns {Promise<void>}
*/
@Cordova()
isLocationEnabled(): Promise<void> {
return;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,358 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
export interface BluetoothClassicSerialPortDevice {
id: string;
class?: string | number;
address?: string;
name?: string;
protocols?: string[]; // ios only
[p: string]: any;
}
/**
* @name Bluetooth Classic Serial Port
* @description This plugin is written using the iOS Accessory Framework (MFi) to support Classic Bluetooth on iOS.
* @usage
* ```typescript
* import { BluetoothClassicSerialPort } from '@awesome-cordova-plugins/bluetooth-classic-serial-port/ngx';
*
* constructor(private bluetoothClassicSerialPort: BluetoothClassicSerialPort) { }
*
*
* // Write a string
* this.bluetoothClassicSerialPort.write("00001101-0000-1000-8000-00805F9B34FB", "hello, world", success, failure);
*
* // Array of int or bytes
* this.bluetoothClassicSerialPort.write("00001101-0000-1000-8000-00805F9B34FB", [186, 220, 222], success, failure);
*
* // Typed Array
* var data = new Uint8Array(4);
* data[0] = 0x41;
* data[1] = 0x42;
* data[2] = 0x43;
* data[3] = 0x44;
* this.bluetoothClassicSerialPort.write(interfaceId, data, success, failure);
*
* // Array Buffer
* this.bluetoothClassicSerialPort.write(interfaceId, data.buffer, success, failure);
* ```
*
* // iOS select accessory
*
* ```typescript
* async selectAccessory() {
* const deviceDiscovery = this.bluetoothClassicSerialPort.setDeviceDiscoveredListener().subscribe(async (connectionConfig) => {
* deviceDiscovery.unsubscribe();
* })
*
* await this.bluetoothClassicSerialPort.discoverUnpaired().catch(error => {
* deviceDiscovery.unsubscribe();
* })
*
* }
* ```
*/
@Plugin({
pluginName: 'BluetoothClassicSerialPort',
repo: 'https://github.com/MaximBelov/cordova-plugin-bluetooth-classic-serial-port',
plugin: 'cordova-plugin-bluetooth-classic-serial-port',
pluginRef: 'bluetoothClassicSerial',
platforms: ['Android', 'iOS', 'Browser'],
})
@Injectable()
export class BluetoothClassicSerialPort extends AwesomeCordovaNativePlugin {
/**
* Connect to a Bluetooth device
*
* @param {string} deviceId Identifier of the remote device.
* @param {string} deviceId this is the MAC address.
* @param {string|string[]} interfaceId Identifier of the remote device
* @param {string|string[]} interfaceId This identifies the serial port to connect to.
* @returns {Observable<any>} Subscribe to connect.
*/
@Cordova({
platforms: ['Android', 'iOS'],
observable: true,
})
connect(deviceId: string | number, interfaceId: string | string[]): Observable<any> {
return;
}
/**
* Connect to a Bluetooth device
*
* @deprecated
* @param {string} deviceId Identifier of the remote device.
* @param {number} deviceId this is the connection ID
* @param {string|string[]} interfaceArray Identifier of the remote device
* @param {string|string[]} interfaceArray this is the Protocol String
* @returns {Promise<any>}
*/
@Cordova({
platforms: ['iOS'],
methodName: 'connect',
})
connectIos(deviceId: string | number, interfaceArray: string | string[]): Promise<any> {
return;
}
/**
* Connect insecurely to a Bluetooth device
*
* @param {string} deviceId Identifier of the remote device. For Android this is the MAC address
* @param {string | string[]} interfaceArray This identifies the serial port to connect to. For Android this is the SPP_UUID.
* @returns {Promise<any>} Subscribe to connect.
*/
@Cordova({
platforms: ['Android'],
observable: true,
})
connectInsecure(deviceId: string, interfaceArray: string | string[]): Promise<any> {
return;
}
/**
* Disconnect from the connected device
*
* @param {string} interfaceId The interface to Disconnect
* @returns {Promise<any>}
*/
@Cordova()
disconnect(interfaceId: string | string[]): Promise<any> {
return;
}
/**
* Disconnect from all the connected device
*
* @returns {Promise<any>}
*/
@Cordova({
methodName: 'connect',
})
disconnectAll(): Promise<any> {
return;
}
/**
* Writes data to the serial port
*
* @param {string} interfaceId The interface to send the data to
* @param {ArrayBuffer | string | number[] | Uint8Array} data ArrayBuffer of data
* @returns {Promise<any>} returns a promise when data has been written
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
})
write(interfaceId: string, data: ArrayBuffer | string | number[] | Uint8Array): Promise<any> {
return;
}
/**
* Gets the number of bytes of data available
*
* @param {string} interfaceId The interface to check
* @returns {Promise<any>} returns a promise that contains the available bytes
*/
@Cordova({
platforms: ['Android', 'Browser'],
})
available(interfaceId: string): Promise<any> {
return;
}
/**
* Function read reads the data from the buffer. The data is passed to the success callback as a String. Calling read when no data is available will pass an empty String to the callback.
*
* @param {string} interfaceId The interface to read
* @returns {Promise<any>} returns a promise with data from the buffer
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
})
read(interfaceId: string): Promise<any> {
return;
}
/**
* Reads data from the buffer until it reaches a delimiter
*
* @param {string} interfaceId The interface to read
* @param {string} delimiter string that you want to search until
* @returns {Observable<any>} returns a promise
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
})
readUntil(interfaceId: string, delimiter: string): Observable<any> {
return;
}
/**
* Subscribe to be notified when data is received
*
* @param {string | string[]} interfaceId The interface to subscribe to
* @param {string} delimiter the string you want to watch for
* @returns {Observable<any>} returns an observable.
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
observable: true,
})
subscribe(interfaceId: string | string[], delimiter: string): Observable<any> {
return;
}
/**
* Unsubscribe from a subscription
*
* @param {string | string[]} interfaceId The interface to unsubscribe from
* @returns {Promise<any>} returns an promise.
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
})
unsubscribe(interfaceId: string | string[]): Promise<any> {
return;
}
/**
* Subscribe to be notified when data is received
*
* @param {string | string[]} interfaceId The interface to subscribe to
* @returns {Observable<any>} returns an observable
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
observable: true,
})
subscribeRawData(interfaceId: string | string[]): Observable<any> {
return;
}
/**
* Unsubscribe from a subscription
*
* @param {string | string[]} interfaceId The interface to unsubscribe from
* @returns {Promise<any>} returns an promise.
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
})
unsubscribeRawData(interfaceId: string | string[]): Promise<any> {
return;
}
/**
* Clears data in buffer
*
* @param {string} interfaceId The interface to clear data
* @returns {Promise<any>} returns a promise when completed
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
})
clear(interfaceId: string): Promise<[]> {
return;
}
/**
* Lists bonded devices
*
* @returns {Promise<BluetoothClassicSerialPortDevice>} returns a promise
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
})
list(): Promise<BluetoothClassicSerialPortDevice[]> {
return;
}
/**
* Reports the connection status
*
* @param {string} interfaceId The interface to check
* @returns {Promise<boolean>} returns a promise
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
})
isConnected(interfaceId: string): Promise<boolean> {
return;
}
/**
* Reports if bluetooth is enabled
*
* @returns {Promise<any>} returns a promise
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
})
isEnabled(): Promise<boolean> {
return;
}
/**
* Show the Bluetooth settings on the device
*
* @returns {Promise<any>} returns a promise
*/
@Cordova({
platforms: ['Android'],
})
showBluetoothSettings(): Promise<any> {
return;
}
/**
* Enable Bluetooth on the device
*
* @returns {Promise<any>} returns a promise
*/
@Cordova({
platforms: ['Android', 'Browser'],
})
enable(): Promise<any> {
return;
}
/**
* Discover unpaired devices
*
* @returns {Promise<any>} returns a promise
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
})
discoverUnpaired(): Promise<BluetoothClassicSerialPortDevice[]> {
return;
}
/**
* Subscribe to be notified on Bluetooth device discovery. Discovery process must be initiated with the `discoverUnpaired` function.
*
* @returns {Observable<any>} Returns an observable
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
observable: true,
clearFunction: 'clearDeviceDiscoveredListener',
})
setDeviceDiscoveredListener(): Observable<BluetoothClassicSerialPortDevice> {
return;
}
/**
* Clears notify callback function registered with setDeviceDiscoveredListener.
*/
@Cordova({
platforms: ['Android', 'iOS', 'Browser'],
sync: true,
})
clearDeviceDiscoveredListener() {
return;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,292 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
/**
* @name Bluetooth Serial
* @description This plugin enables serial communication over Bluetooth. It was written for communicating between Android or iOS and an Arduino (not Android to Android or iOS to iOS).
* @usage
* ```typescript
* import { BluetoothSerial } from '@awesome-cordova-plugins/bluetooth-serial/ngx';
*
* constructor(private bluetoothSerial: BluetoothSerial) { }
*
*
* // Write a string
* this.bluetoothSerial.write('hello world').then(success, failure);
*
* // Array of int or bytes
* this.bluetoothSerial.write([186, 220, 222]).then(success, failure);
*
* // Typed Array
* var data = new Uint8Array(4);
* data[0] = 0x41;
* data[1] = 0x42;
* data[2] = 0x43;
* data[3] = 0x44;
* this.bluetoothSerial.write(data).then(success, failure);
*
* // Array Buffer
* this.bluetoothSerial.write(data.buffer).then(success, failure);
* ```
*/
@Plugin({
pluginName: 'BluetoothSerial',
repo: 'https://github.com/don/BluetoothSerial',
plugin: 'cordova-plugin-bluetooth-serial',
pluginRef: 'bluetoothSerial',
platforms: ['Android', 'iOS', 'Windows Phone 8'],
})
@Injectable()
export class BluetoothSerial extends AwesomeCordovaNativePlugin {
/**
* Connect to a Bluetooth device
*
* @param {string} macAddress_or_uuid Identifier of the remote device
* @returns {Observable<any>} Subscribe to connect, unsubscribe to disconnect.
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
observable: true,
clearFunction: 'disconnect',
})
connect(macAddress_or_uuid: string): Observable<any> {
return;
}
/**
* Connect insecurely to a Bluetooth device
*
* @param {string} macAddress Identifier of the remote device
* @returns {Observable<any>} Subscribe to connect, unsubscribe to disconnect.
*/
@Cordova({
platforms: ['Android'],
observable: true,
clearFunction: 'disconnect',
})
connectInsecure(macAddress: string): Observable<any> {
return;
}
/**
* Disconnect from the connected device
*
* @returns {Promise<any>}
*/
@Cordova()
disconnect(): Promise<any> {
return;
}
/**
* Writes data to the serial port
*
* @param {any} data ArrayBuffer of data
* @returns {Promise<any>} returns a promise when data has been written
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
})
write(data: any): Promise<any> {
return;
}
/**
* Gets the number of bytes of data available
*
* @returns {Promise<any>} returns a promise that contains the available bytes
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
})
available(): Promise<any> {
return;
}
/**
* Reads data from the buffer
*
* @returns {Promise<any>} returns a promise with data from the buffer
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
})
read(): Promise<any> {
return;
}
/**
* Reads data from the buffer until it reaches a delimiter
*
* @param {string} delimiter string that you want to search until
* @returns {Promise<any>} returns a promise
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
})
readUntil(delimiter: string): Promise<any> {
return;
}
/**
* Subscribe to be notified when data is received
*
* @param {string} delimiter the string you want to watch for
* @returns {Observable<any>} returns an observable.
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
observable: true,
clearFunction: 'unsubscribe',
})
subscribe(delimiter: string): Observable<any> {
return;
}
/**
* Subscribe to be notified when data is received
*
* @returns {Observable<any>} returns an observable
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
observable: true,
clearFunction: 'unsubscribeRawData',
})
subscribeRawData(): Observable<any> {
return;
}
/**
* Clears data in buffer
*
* @returns {Promise<any>} returns a promise when completed
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
})
clear(): Promise<any> {
return;
}
/**
* Lists bonded devices
*
* @returns {Promise<any>} returns a promise
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
})
list(): Promise<any> {
return;
}
/**
* Reports if bluetooth is enabled
*
* @returns {Promise<any>} returns a promise
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
})
isEnabled(): Promise<any> {
return;
}
/**
* Reports the connection status
*
* @returns {Promise<any>} returns a promise
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
})
isConnected(): Promise<any> {
return;
}
/**
* Reads the RSSI from the connected peripheral
*
* @returns {Promise<any>} returns a promise
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
})
readRSSI(): Promise<any> {
return;
}
/**
* Show the Bluetooth settings on the device
*
* @returns {Promise<any>} returns a promise
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
})
showBluetoothSettings(): Promise<any> {
return;
}
/**
* Enable Bluetooth on the device
*
* @returns {Promise<any>} returns a promise
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
})
enable(): Promise<any> {
return;
}
/**
* Discover unpaired devices
*
* @returns {Promise<any>} returns a promise
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
})
discoverUnpaired(): Promise<any> {
return;
}
/**
* Subscribe to be notified on Bluetooth device discovery. Discovery process must be initiated with the `discoverUnpaired` function.
*
* @returns {Observable<any>} Returns an observable
*/
@Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'],
observable: true,
clearFunction: 'clearDeviceDiscoveredListener',
})
setDeviceDiscoveredListener(): Observable<any> {
return;
}
/**
* Sets the human readable device name that is broadcasted to other devices
*
* @param {string} newName Desired name of device
*/
@Cordova({
platforms: ['Android'],
sync: true,
})
setName(newName: string): void {}
/**
* Makes the device discoverable by other devices
*
* @param {number} discoverableDuration Desired number of seconds device should be discoverable for
*/
@Cordova({
platforms: ['Android'],
sync: true,
})
setDiscoverable(discoverableDuration: number): void {}
}

View File

@@ -1,261 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
export interface BranchIoPromise {
$identity_id?: number;
$one_time_use?: boolean;
'+click_timestamp'?: number;
'+clicked_branch_link'?: boolean;
'+is_first_session'?: boolean;
'+match_guaranteed'?: boolean;
contentMetadata?: string;
source?: string;
'~campaign'?: string;
'~channel'?: string;
'~creation_source'?: string;
'~feature'?: string;
'~id'?: number;
'~referring_link:'?: string;
[x: string]: any;
}
export interface BranchIoAnalytics {
channel?: string;
feature?: string;
campaign?: string;
stage?: string;
tags?: string[];
[x: string]: any;
}
export interface BranchIoProperties {
contentMetadata?: {
[x: string]: any;
};
[x: string]: any;
}
export interface BranchUniversalObject {
generateShortUrl(analytics: BranchIoAnalytics, properties: BranchIoProperties): Promise<any>;
registerView(): Promise<any>;
showShareSheet(analytics: BranchIoAnalytics, properties: BranchIoProperties, shareText: string): Promise<any>;
onShareSheetLaunched(callback: any): void;
onShareSheetDismissed(callback: any): void;
onLinkShareResponse(callback: any): void;
onChannelSelected(callback: any): void;
listOnSpotlight(): Promise<any>;
}
/**
* @name BranchIo
* @description
* Branch.io is an attribution service for deeplinking and invitation links
* @usage
* ```
* import { BranchIo } from '@awesome-cordova-plugins/branch-io/ngx';
*
*
* constructor(private branch: BranchIo) { }
*
* ```
* @interfaces
* BranchIoPromise
* BranchIoAnalytics
* BranchIoProperties
* BranchUniversalObject
*/
@Plugin({
pluginName: 'BranchIo',
plugin: 'branch-cordova-sdk',
pluginRef: 'Branch',
repo: 'https://github.com/BranchMetrics/cordova-ionic-phonegap-branch-deep-linking',
platforms: ['iOS', 'Android'],
})
@Injectable()
export class BranchIo extends AwesomeCordovaNativePlugin {
/**
* for development and debugging only
*
* @param {boolean} enable Enable debug
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
setDebug(enable: boolean): Promise<any> {
return;
}
/**
* Disable tracking
*
* @param {boolean} disable disable tracking
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
disableTracking(disable: boolean): Promise<any> {
return;
}
/**
* Initializes Branch
*
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
initSession(): Promise<BranchIoPromise> {
return;
}
/**
* Initializes Branch with callback
*
* @returns {Observable<any>}
*/
@Cordova({ observable: true })
initSessionWithCallback(): Observable<BranchIoPromise> {
return;
}
/**
* Set Request Metadata
*
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
setRequestMetadata(): Promise<any> {
return;
}
/**
* for better Android matching
*
* @param {string} linkDomain LinkDomain at branch
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
setCookieBasedMatching(linkDomain: string): Promise<any> {
return;
}
/**
* First data
*
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
getFirstReferringParams(): Promise<any> {
return;
}
/**
* Latest data
*
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
getLatestReferringParams(): Promise<any> {
return;
}
/**
* Set identy of user
*
* @param {string} userId
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
setIdentity(userId: string): Promise<any> {
return;
}
/**
* Logout user
*
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
logout(): Promise<any> {
return;
}
/**
* Registers a custom event
*
* @param {string} eventName
* @param {any} metaData
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
userCompletedAction(eventName: string, metaData: any): Promise<any> {
return;
}
/**
* Send Commerce Event
*
* @deprecated since v.3.1.0. As of https://help.branch.io/developers-hub/docs/cordova-phonegap-ionic#track-commerce
* @param {string} event
* @param {any} metaData
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
sendCommerceEvent(event: string, metaData: any): Promise<any> {
return;
}
/**
* Send Branch Event
*
* @param {string} event
* @param {any} metaData
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
sendBranchEvent(event: string, metaData: any): Promise<any> {
return;
}
/**
* create a branchUniversalObj variable to reference with other Branch methods
*
* @param {BranchIoProperties} properties
* @returns {Promise<BranchUniversalObject>}
*/
@Cordova({ otherPromise: true })
createBranchUniversalObject(properties: BranchIoProperties): Promise<BranchUniversalObject> {
return;
}
/**
* Load credits
*
* @param {any} bucket
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
loadRewards(bucket: any): Promise<any> {
return;
}
/**
* Redeem Rewards
*
* @param {string} value
* @param {any} bucket
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
redeemRewards(value: string, bucket: any): Promise<any> {
return;
}
/**
* Show credit history
*
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
creditHistory(): Promise<any> {
return;
}
}

View File

@@ -1,79 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
/**
* Specific data for Android implementation
*/
export interface AndroidData {
extras: object;
flags: number;
category: string;
}
/**
* Possibly Event Data types
*/
export type EventData = object | AndroidData | null;
/**
* @name Broadcaster
* @description
* This plugin adds exchanging events between native code and your app.
* @usage
* ```typescript
* import { Broadcaster } from '@awesome-cordova-plugins/broadcaster/ngx';
*
* constructor(private broadcaster: Broadcaster) { }
*
* ...
*
* // Listen to events from Native
* this.broadcaster.addEventListener('eventName').subscribe((event) => console.log(event));
*
* // Send event to Native
* this.broadcaster.fireNativeEvent('eventName', {}).then(() => console.log('success'));
*
* ```
*/
@Plugin({
pluginName: 'Broadcaster',
plugin: 'cordova-plugin-broadcaster',
pluginRef: 'broadcaster',
repo: 'https://github.com/bsorrentino/cordova-broadcaster',
platforms: ['Android', 'iOS', 'Browser'],
})
@Injectable()
export class Broadcaster extends AwesomeCordovaNativePlugin {
/**
* This function listen to an event sent from the native code
*
* @param {string} eventName
* @param {boolean} isGlobal Valid only for Android. It allows to listen for global messages(i.e. intents)
* @returns {Observable<any>} Returns an observable to watch when an event is received
*/
@Cordova({
observable: true,
clearFunction: 'removeEventListener',
clearWithArgs: true,
})
addEventListener(eventName: string, isGlobal = false): Observable<any> {
return;
}
/**
* This function sends data to the native code
*
* @param {string} eventName
* @param {boolean} isGlobalOrEventData means that message is global (valid only on Android)
* @param {AndroidData} isGlobalOrEventData allows to specify 'flags` and 'category' (valid only on Android)
* @param {object} isGlobalOrEventData allows to specify a generic object containing custom event data (all platform)
* @param {AndroidData} [data] if isGlobal is set, allows to specify 'flags` and 'category' if isGlobal is set (valid only on Android)
* @param {object} [data] if isGlobal is set, allows to specify a generic object containing custom event data (all platform)
* @returns {Promise<any>} Returns a promise that resolves when an event is successfully fired
*/
@Cordova()
fireNativeEvent(eventName: string, isGlobalOrEventData: boolean | EventData, data?: EventData): Promise<any> {
return;
}
}

View File

@@ -1,329 +0,0 @@
import { Injectable } from '@angular/core';
import { Plugin, CordovaProperty, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
/**
* @name Build Info
* @description
* This plugin provides build information.
* @usage
* ```
* import { BuildInfo } from '@awesome-cordova-plugins/build-info/ngx';
*
* this.platform.ready().then(() => {
* console.log('BuildInfo.baseUrl =' + BuildInfo.baseUrl)
* console.log('BuildInfo.packageName =' + BuildInfo.packageName)
* console.log('BuildInfo.basePackageName=' + BuildInfo.basePackageName)
* console.log('BuildInfo.displayName =' + BuildInfo.displayName)
* console.log('BuildInfo.name =' + BuildInfo.name)
* console.log('BuildInfo.version =' + BuildInfo.version)
* console.log('BuildInfo.versionCode =' + BuildInfo.versionCode)
* console.log('BuildInfo.debug =' + BuildInfo.debug)
* console.log('BuildInfo.buildType =' + BuildInfo.buildType)
* console.log('BuildInfo.flavor =' + BuildInfo.flavor)
* console.log('BuildInfo.buildDate =' + BuildInfo.buildDate)
* console.log('BuildInfo.installDate =' + BuildInfo.installDate)
* })
* ```
*/
@Plugin({
pluginName: 'BuildInfo',
plugin: 'cordova-plugin-buildinfo',
pluginRef: 'BuildInfo',
repo: 'https://github.com/lynrin/cordova-plugin-buildinfo',
platforms: ['Android', 'iOS', 'Windows', 'macOS', 'browser', 'Electron'],
})
@Injectable()
export class BuildInfo extends AwesomeCordovaNativePlugin {
/**
* The baseUrl where cordova.js was loaded.
*/
@CordovaProperty()
baseUrl: string;
/**
* Get the packageName of Application ID.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|Package Name|String|
* |iOS|Bundle Identifier|String|
* |Windows|Identity name|String|
* |macOS(OS X)|Bundle Identifier|String|
* |Browser|Get the id attribute of the widget element in config.xml file.|String|
* |Electron|Get the id attribute of the widget element in config.xml file.|String|
*/
@CordovaProperty()
packageName: string;
/**
* Android only.
*
* Get the packageName of BuildConfig class.
*
* If you use the configure of "build types" or "product flavors", because you can specify a different package name is the id attribute of the widget element of config.xml, is the property to get the package name that BuildConfig class belongs.
* (ought be the same as the id attribute of the widget element of config.xml)
*
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|Package name of BuildConfig class|String|
* |iOS|Bundle Identifier(equals BuildInfo.packageName)|String|
* |Windows|Identity name(equals BuildInfo.packageName)|String|
* |macOS(OS X)|Bundle Identifier(equals BuildInfo.packageName)|String|
* |Browser|equals BuildInfo.packageName|String|
* |Electron|equals BuildInfo.packageName|String|
*/
@CordovaProperty()
basePackageName: string;
/**
* Get the displayName.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|Application Label|String|
* |iOS|CFBundleDisplayName (CFBundleName if not present)|String|
* |Windows|Get the DisplayName attribute of the VisualElements element in AppxManifest.xml file.|String|
* |macOS(OS X)|CFBundleDisplayName (CFBundleName if not present)|String|
* |Browser|Get the short attribute of the name element in config.xml file.|String|
* |Electron|Get the short attribute of the name element in config.xml file.|String|
*/
@CordovaProperty()
displayName: string;
/**
* Get the name.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|Application Label(equal BuildInfo.displayName)|String|
* |iOS|CFBundleName|String|
* |Windows|Windows Store display name|String|
* |macOS(OS X)|CFBundleName|String|
* |Browser|Get value of the name element in config.xml file.|String|
* |Electron|Get value of the name element in config.xml file.|String|
*/
@CordovaProperty()
name: string;
/**
* Get the version.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|BuildConfig.VERSION_NAME|String|
* |iOS|CFBundleShortVersionString|String|
* |Windows|Major.Minor.Build ex) "1.2.3"|String|
* |macOS(OS X)|CFBundleShortVersionString|String|
* |Browser|Get the version attribute of the widget element in config.xml file.|String|
* |Electron|Get the version attribute of the widget element in config.xml file.|String|
*/
@CordovaProperty()
version: string;
/**
* Get the version code.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|BuildConfig.VERSION_CODE|integer|
* |iOS|CFBundleVersion|String|
* |Windows|Major.Minor.Build.Revision ex) "1.2.3.4"|String|
* |macOS(OS X)|CFBundleVersion|String|
* |Browser|equals BuildInfo.version|String|
* |Electron|equals BuildInfo.version|String|
*/
@CordovaProperty()
versionCode: string | number;
/**
* Get the debug flag.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|BuildConfig.DEBUG|Boolean|
* |iOS|defined "DEBUG" is true|Boolean|
* |Windows|isDevelopmentMode is true|Boolean|
* |macOS(OS X)|defined "DEBUG" is true|Boolean|
* |Browser|Always false|Boolean|
* |Electron|True when ```cordova build electron --debug``` is executed with the "--debug" flag.|Boolean|
*/
@CordovaProperty()
debug: boolean;
/**
* Android , Windows Only.
*
* Get the build type.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|BuildConfig.BUILD_TYPE|String|
* |iOS|empty string|String|
* |Windows|"release" or "debug"|String|
* |macOS(OS X)|empty string|String|
* |Browser|empty string|String|
* |Electron|empty string|String|
*
*/
@CordovaProperty()
buildType: string;
/**
* Android Only.
*
* Get the flavor.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|BuildConfig.FLAVOR|String|
* |iOS|empty string|String|
* |Windows|empty string|String|
* |macOS(OS X)|empty string|String|
* |Browser|empty string|String|
* |Electron|empty string|String|
*/
@CordovaProperty()
flavor: string;
/**
* Get the build date and time in the Date object returns.
*
* Attention:
* - Android: Add the BuildInfo.gradle file to your Android project.
* The BuildInfo.gradle file contains the setting to add the _BUILDINFO_TIMESTAMP field to the BuildConfig class.
* - Windows: Add the buildinfo.resjson file to your Windows project.
* The buildinfo.resjson file into the "strings" folder.
* And also add a task to rewrite buildinfo.resjson in the CordovaApp.projitems file.
* - Browser and Electron: When ```cordova prepare``` is executed Build date and time is embedded in
* platforms/**browser**\/www/plugins/cordova-plugin-buildinfo/src/browser/BuildInfoProxy.js file.
* (Or platforms/**electron**\/www/plugins/cordova-plugin-buildinfo/src/browser/BuildInfoProxy.js file.)
* ```cordova prepare``` is also executed for ```cordova build```, ```cordova run``` and ```cordova platform add```.
* (Reference: [Hooks Guide - Apache Cordova](https://cordova.apache.org/docs/en/9.x/guide/appdev/hooks/index.html))
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|BuildConfig.\_BUILDINFO\_TIMESTAMP value|Date|
* |iOS|Get the modification date and time of the Info.plist file acquired from the executionPath property of the main bundle.|Date|
* |Windows|Resource value of "/buildinfo/Timestamp" string.|Date|
* |macOS(OS X)|Get the modification date and time of the config.xml file acquired from the resource of the main bundle.|Date|
* |Browser|The date and time when ```cordova prepare``` was executed.|Date|
* |Electron|The date and time when ```cordova prepare``` was executed.|Date|
*
*/
@CordovaProperty()
buildDate: Date;
/**
* Get the install date and time in the Date object returns.
*
* Attention:
* - Browser and Electron: Installation date and time is unknown.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|The firstInstallTime property of PackageInfo|Date|
* |iOS|Get the creation date and time of the document directory.|Date|
* |Windows|The installedDate property of Windows.ApplicatinoModel.Package.current|Date|
* |macOS(OS X)|Date and time of kMDItemDateAdded recorded in File Metadata of application package.|Date|
* |Browser|Not available.|null|
* |Electron|Not available.|null|
*/
@CordovaProperty()
installDate: Date | null;
/**
* Windows Only.
*
* Get the windows extra information.
*/
@CordovaProperty()
windows?: {
/**
* indows.ApplicationModel.Package.current.id.architecture|
*/
architecture: number;
/**
* Windows.ApplicationModel.Package.current.description|
*/
description: string;
/**
* Windows.ApplicationModel.Package.current.displayName|
*/
displayName: string;
/**
* Windows.ApplicationModel.Package.current.id.familyName|
*/
familyName: string;
/**
* Windows.ApplicationModel.Package.current.id.fullName|
*/
fullName: string;
logo: WindowsLogo;
/**
* Windows.ApplicationModel.Package.current.id.publisher|
*/
publisher: string;
/**
* Windows.ApplicationModel.Package.current.id.publisherId|
*/
publisherId: string;
/**
* Windows.ApplicationModel.Package.current.publisherDisplayName|
*/
publisherDisplayName: string;
/**
* Windows.ApplicationModel.Package.current.id.resourceId|
*/
resourceId: string;
/**
* Windows.ApplicationModel.Package.current.id.version|
*/
version: WindowsVersionInfo;
};
}
export interface WindowsLogo {
/**
* Windows.ApplicationModel.Package.logo.absoluteCanonicalUri
*/
absoluteCannonicalUri: string;
/**
* Windows.ApplicationModel.Package.logo.absoluteUri
*/
absoluteUri: string;
/**
* Windows.ApplicationModel.Package.logo.displayIri
*/
displayIri: string;
/**
* Windows.ApplicationModel.Package.logo.displayUri
*/
displayUri: string;
/**
* Windows.ApplicationModel.Package.logo.path
*/
path: string;
/**
* Windows.ApplicationModel.Package.logo.rawUri
*/
rawUri: string;
}
export interface WindowsVersionInfo {
/**
* Windows.ApplicationModel.Package.current.id.version.major
*/
major: number;
/**
* Windows.ApplicationModel.Package.current.id.version.minor
*/
minor: number;
/**
* Windows.ApplicationModel.Package.current.id.version.build
*/
build: number;
/**
* Windows.ApplicationModel.Package.current.id.version.revision
*/
revision: number;
}

View File

@@ -1,493 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export interface CalendarOptions {
/**
* Id
*/
id?: string;
/**
*
*/
firstReminderMinutes?: number;
/**
*
*/
secondReminderMinutes?: number;
/**
* Recurrence. Can be set to `daily`, `weekly`, `monthly` or `yearly`
*/
recurrence?: string;
/**
* Recurrence interval. Valid only when `recurrence` option is set.
*/
recurrenceInterval?: number;
/**
* Recurrence end date. Valid only when `recurrence` option is set.
*/
recurrenceEndDate?: Date;
/**
* Calendar name. Ths is supported by `iOS` only.
*/
calendarName?: string;
/**
* Calendar id
*/
calendarId?: number;
/**
* URL
*/
url?: string;
}
export interface NameOrOptions {
/** Calendar name */
calendarName?: string;
/** Calendar color as a HEX string */
calendarColor?: string;
}
/**
* @name Calendar
* @premier calendar
* @description
* This plugin allows you to add events to the Calendar of the mobile device.
*
* Requires Cordova plugin: `cordova-plugin-calendar`. For more info, please see the [Calendar plugin docs](https://github.com/EddyVerbruggen/Calendar-PhoneGap-Plugin).
* @usage
* ```typescript
* import { Calendar } from '@awesome-cordova-plugins/calendar/ngx';
*
* constructor(private calendar: Calendar) { }
*
*
* this.calendar.createCalendar('MyCalendar').then(
* (msg) => { console.log(msg); },
* (err) => { console.log(err); }
* );
* ```
* @interfaces
* CalendarOptions
* NameOrOptions
*/
@Plugin({
pluginName: 'Calendar',
plugin: 'cordova-plugin-calendar',
pluginRef: 'plugins.calendar',
repo: 'https://github.com/EddyVerbruggen/Calendar-PhoneGap-Plugin',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class Calendar extends AwesomeCordovaNativePlugin {
/**
* This function checks if we have permission to read/write from/to the calendar.
* The promise will resolve with `true` when:
* - You're running on iOS, or
* - You're targeting API level lower than 23, or
* - You're using Android < 6, or
* - You've already granted permission
*
* If this returns false, you should call the `requestReadWritePermission` function
*
* @returns {Promise<boolean>}
*/
@Cordova()
hasReadWritePermission(): Promise<boolean> {
return;
}
/**
* Check if we have read permission
*
* @returns {Promise<boolean>}
*/
@Cordova()
hasReadPermission(): Promise<boolean> {
return;
}
/**
* Check if we have write permission
*
* @returns {Promise<boolean>}
*/
@Cordova()
hasWritePermission(): Promise<boolean> {
return;
}
/**
* Request write permission
*
* @returns {Promise<any>}
*/
@Cordova()
requestWritePermission(): Promise<any> {
return;
}
/**
* Request read permission
*
* @returns {Promise<any>}
*/
@Cordova()
requestReadPermission(): Promise<any> {
return;
}
/**
* Requests read/write permissions
*
* @returns {Promise<any>}
*/
@Cordova()
requestReadWritePermission(): Promise<any> {
return;
}
/**
* Create a calendar. (iOS only)
*
* @param {string | NameOrOptions} nameOrOptions either a string name or a options object. If string, provide the calendar name. IF an object, provide a calendar name as a string and a calendar color in hex format as a string
* @returns {Promise<any>} Returns a Promise
*/
@Cordova()
createCalendar(nameOrOptions: string | NameOrOptions): Promise<any> {
return;
}
/**
* Delete a calendar. (iOS only)
*
* @param {string} name Name of the calendar to delete.
* @returns {Promise<any>} Returns a Promise
*/
@Cordova()
deleteCalendar(name: string): Promise<any> {
return;
}
/**
* Returns the default calendar options.
*
* @returns {CalendarOptions} Returns an object with the default calendar options
*/
@Cordova({
sync: true,
})
getCalendarOptions(): CalendarOptions {
return;
}
/**
* Returns options for a custom calender with specific color
*
* @returns {NameOrOptions} Returns an object with the default options
*/
@Cordova({
sync: true,
})
getCreateCalendarOptions(): NameOrOptions {
return;
}
/**
* Silently create an event.
*
* @param {string} [title] The event title
* @param {string} [location] The event location
* @param {string} [notes] The event notes
* @param {Date} [startDate] The event start date
* @param {Date} [endDate] The event end date
* @returns {Promise<any>} Returns a Promise
*/
@Cordova()
createEvent(title?: string, location?: string, notes?: string, startDate?: Date, endDate?: Date): Promise<any> {
return;
}
/**
* Silently create an event with additional options.
*
* @param {string} [title] The event title
* @param {string} [location] The event location
* @param {string} [notes] The event notes
* @param {Date} [startDate] The event start date
* @param {Date} [endDate] The event end date
* @param {CalendarOptions} [options] Additional options, see `getCalendarOptions`
* @returns {Promise<any>} Returns a Promise
*/
@Cordova()
createEventWithOptions(
title?: string,
location?: string,
notes?: string,
startDate?: Date,
endDate?: Date,
options?: CalendarOptions
): Promise<any> {
return;
}
/**
* Interactively create an event.
*
* @param {string} [title] The event title
* @param {string} [location] The event location
* @param {string} [notes] The event notes
* @param {Date} [startDate] The event start date
* @param {Date} [endDate] The event end date
* @returns {Promise<any>} Returns a Promise
*/
@Cordova()
createEventInteractively(
title?: string,
location?: string,
notes?: string,
startDate?: Date,
endDate?: Date
): Promise<any> {
return;
}
/**
* Interactively create an event with additional options.
*
* @param {string} [title] The event title
* @param {string} [location] The event location
* @param {string} [notes] The event notes
* @param {Date} [startDate] The event start date
* @param {Date} [endDate] The event end date
* @param {CalendarOptions} [options] Additional options, see `getCalendarOptions`
* @returns {Promise<any>}
*/
@Cordova()
createEventInteractivelyWithOptions(
title?: string,
location?: string,
notes?: string,
startDate?: Date,
endDate?: Date,
options?: CalendarOptions
): Promise<any> {
return;
}
/**
* Find an event.
*
* @param {string} [title] The event title
* @param {string} [location] The event location
* @param {string} [notes] The event notes
* @param {Date} [startDate] The event start date
* @param {Date} [endDate] The event end date
* @returns {Promise<any>}
*/
@Cordova()
findEvent(title?: string, location?: string, notes?: string, startDate?: Date, endDate?: Date): Promise<any> {
return;
}
/**
* Find an event with additional options.
*
* @param {string} [title] The event title
* @param {string} [location] The event location
* @param {string} [notes] The event notes
* @param {Date} [startDate] The event start date
* @param {Date} [endDate] The event end date
* @param {CalendarOptions} [options] Additional options, see `getCalendarOptions`
* @returns {Promise<any>} 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<any> {
return;
}
/**
* Find a list of events within the specified date range. (Android only)
*
* @param {Date} [startDate] The start date
* @param {Date} [endDate] The end date
* @returns {Promise<any>} Returns a Promise that resolves with the list of events, or rejects with an error.
*/
@Cordova({
platforms: ['Android'],
})
listEventsInRange(startDate: Date, endDate: Date): Promise<any> {
return;
}
/**
* Get a list of all calendars.
*
* @returns {Promise<any>} A Promise that resolves with the list of calendars, or rejects with an error.
*/
@Cordova()
listCalendars(): Promise<any> {
return;
}
/**
* Get a list of all future events in the specified calendar. (iOS only)
*
* @param calendarName
* @returns {Promise<any>} Returns a Promise that resolves with the list of events, or rejects with an error.
*/
@Cordova({
platforms: ['iOS'],
})
findAllEventsInNamedCalendar(calendarName: string): Promise<any> {
return;
}
/**
* Modify an event. (iOS only)
*
* @param {string} [title] The event title
* @param {string} [location] The event location
* @param {string} [notes] The event notes
* @param {Date} [startDate] The event start date
* @param {Date} [endDate] The event end date
* @param {string} [newTitle] The new event title
* @param {string} [newLocation] The new event location
* @param {string} [newNotes] The new event notes
* @param {Date} [newStartDate] The new event start date
* @param {Date} [newEndDate] The new event end date
* @returns Returns a Promise
*/
@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<any> {
return;
}
/**
* Modify an event with additional options. (iOS only)
*
* @param {string} [title] The event title
* @param {string} [location] The event location
* @param {string} [notes] The event notes
* @param {Date} [startDate] The event start date
* @param {Date} [endDate] The event end date
* @param {string} [newTitle] The new event title
* @param {string} [newLocation] The new event location
* @param {string} [newNotes] The new event notes
* @param {Date} [newStartDate] The new event start date
* @param {Date} [newEndDate] The new event end date
* @param {CalendarOptions} [filterOptions] Event Options, see `getCalendarOptions`
* @param {CalendarOptions} [newOptions] New event options, see `getCalendarOptions`
* @returns Returns a Promise
*/
@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<any> {
return;
}
/**
* Delete an event.
*
* @param {string} [title] The event title
* @param {string} [location] The event location
* @param {string} [notes] The event notes
* @param {Date} [startDate] The event start date
* @param {Date} [endDate] The event end date
* @returns Returns a Promise
*/
@Cordova()
deleteEvent(title?: string, location?: string, notes?: string, startDate?: Date, endDate?: Date): Promise<any> {
return;
}
/**
* Delete an event from the specified Calendar. (iOS only)
*
* @param {string} [title] The event title
* @param {string} [location] The event location
* @param {string} [notes] The event notes
* @param {Date} [startDate] The event start date
* @param {Date} [endDate] The event end date
* @param {string} calendarName
* @returns Returns a Promise
*/
@Cordova({
platforms: ['iOS'],
})
deleteEventFromNamedCalendar(
title?: string,
location?: string,
notes?: string,
startDate?: Date,
endDate?: Date,
calendarName?: string
): Promise<any> {
return;
}
/**
* Delete an event by id.
*
* @param {string} [id] The event id
* @param {Date} [fromDate] The date where it start deleting from
* @returns Returns a Promise
*/
@Cordova()
deleteEventById(id: string, fromDate?: Date): Promise<any> {
return;
}
/**
* Open the calendar at the specified date.
*
* @param {Date} date The date you want to open the calendar on
* @returns {Promise<any>} Promise returns a promise
*/
@Cordova()
openCalendar(date: Date): Promise<any> {
return;
}
}

View File

@@ -1,123 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export interface CallDirectoryItem {
label: string;
number: string;
}
export interface CallDirectoryLog {
plugin: string[];
extension: string[];
}
/**
* @name Call Directory
* @description
* This plugin can add phone numbers to an Callkit call directory extension. Call `reloadExtension` after using `addIdentification` and `removeIdentification`
* to process the changes in the call directory extension.
* @usage
* ```typescript
* import { CallDirectory } from '@awesome-cordova-plugins/call-directory/ngx';
*
*
* constructor(private callDirectory: CallDirectory) { }
*
*
* let items = [{label: "Hello", number: "123"}];
* this.callDirectory.addIdentification(items)
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* this.callDirectory.reloadExtension()
* .then(res: string) => console.log(res))
* .catch((error: any) => console.error(error));
* ```
* @Interfaces
* CallDirectoryItem
* CallDirectoryLog
*/
@Plugin({
pluginName: 'CallDirectory',
plugin: 'cordova-plugin-call-directory',
pluginRef: 'CallDirectory',
repo: 'https://github.com/GEDYSIntraWare/cordova-plugin-call-directory',
install:
'cordova plugin add cordova-plugin-call-directory --variable EXT_NAME="Cordova-Directory" --variable ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES="NO"',
installVariables: ['EXT_NAME', 'ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'],
platforms: ['iOS'],
})
@Injectable()
export class CallDirectory extends AwesomeCordovaNativePlugin {
/**
* Check if the call directory extension is available and enabled
*
* @returns {Promise<boolean>} Returns a promise with result
*/
@Cordova()
isAvailable(): Promise<boolean> {
return;
}
/**
* Add identification numbers
*
* @param {CallDirectoryItem[]} items Set of numbers with labels
* @returns {Promise<any>} Returns a promise that resolves when numbers are added
*/
@Cordova()
addIdentification(items: CallDirectoryItem[]): Promise<any> {
return;
}
/**
* Remove identification numbers
*
* @param {CallDirectoryItem[]} items Set of numbers with arbitrary label
* @returns {Promise<any>} Returns a promise that resolves when numbers are removed
*/
@Cordova()
removeIdentification(items: CallDirectoryItem[]): Promise<any> {
return;
}
/**
* Remove all items from call directory. Refreshes immediately.
*
* @returns {Promise<any>} Returns a promise after refresh with message
*/
@Cordova()
removeAllIdentification(): Promise<any> {
return;
}
/**
* Get all numbers and labels in call directory
*
* @returns {CallDirectoryItem[]} Returns a promise that resolves with an array of all items
*/
@Cordova()
getAllItems(): Promise<CallDirectoryItem[]> {
return;
}
/**
* Reload extension to process queued changes
*
* @returns {Promise<string>} Returns a promise after refresh with message
*/
@Cordova()
reloadExtension(): Promise<string> {
return;
}
/**
* Get log from plugin and call directory extension
*
* @returns {Promise<CallDirectoryLog>} Returns a promise with an object of log messages
*/
@Cordova()
getLog(): Promise<CallDirectoryLog> {
return;
}
}

View File

@@ -1,56 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name Call Number
* @description
* Call a number directly from your Cordova/Ionic application.
* NOTE**: The iOS Simulator (and maybe Android Simulators) do not provide access to the phone subsystem.
* @usage
* ```typescript
* import { CallNumber } from '@awesome-cordova-plugins/call-number/ngx';
*
* constructor(private callNumber: CallNumber) { }
*
* ...
*
*
* this.callNumber.callNumber("18001010101", true)
* .then(res => console.log('Launched dialer!', res))
* .catch(err => console.log('Error launching dialer', err));
*
* ```
*/
@Plugin({
pluginName: 'CallNumber',
plugin: 'call-number',
pluginRef: 'plugins.CallNumber',
repo: 'https://github.com/Rohfosho/CordovaCallNumberPlugin',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class CallNumber extends AwesomeCordovaNativePlugin {
/**
* Calls a phone number
*
* @param {string} numberToCall The phone number to call as a string
* @param {boolean} bypassAppChooser Set to true to bypass the app chooser and go directly to dialer
* @returns {Promise<any>}
*/
@Cordova({
callbackOrder: 'reverse',
})
callNumber(numberToCall: string, bypassAppChooser: boolean): Promise<any> {
return;
}
/**
* Check if call feature is available
*
* @returns {Promise<any>}
*/
@Cordova()
isCallSupported(): Promise<any> {
return;
}
}

View File

@@ -1,548 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export interface CameraPreviewDimensions {
/** The width of the camera preview, default to window.screen.width */
width?: number;
/** The height of the camera preview, default to window.screen.height */
height?: number;
}
export interface CameraPreviewOptions {
/** The left edge in pixels, default 0 */
x?: number;
/** The top edge in pixels, default 0 */
y?: number;
/** The width in pixels, default window.screen.width */
width?: number;
/** The height in pixels, default window.screen.height */
height?: number;
/** Choose the camera to use 'front' or 'rear', default 'front' */
camera?: string;
/** Tap to take a photo, default true (picture quality by default : 85) */
tapPhoto?: boolean;
/** Preview box drag across the screen, default 'false' */
previewDrag?: boolean;
/** Preview box to the back of the webview (true => back, false => front) , default false */
toBack?: boolean;
/** Alpha channel of the preview box, float, [0,1], default 1 */
alpha?: number;
/** Tap to set specific focus point. Note, this assumes the camera is full-screen. default false */
tapFocus?: boolean;
/** On Android disable automatic rotation of the image and stripping of Exit header. default false */
disableExifHeaderStripping?: boolean;
}
export interface CameraPreviewPictureOptions {
/** The width in pixels, default 0 */
width?: number;
/** The height in pixels, default 0 */
height?: number;
/** The picture quality, 0 - 100, default 85 */
quality?: number;
}
/**
* @beta
* @name Camera Preview
* @description
* Showing camera preview in HTML
*
* Requires Cordova plugin: `https://github.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview.git`. For more info, please see the [Cordova Camera Preview docs](https://github.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview).
* @usage
* ```typescript
* import { CameraPreview, CameraPreviewPictureOptions, CameraPreviewOptions, CameraPreviewDimensions } from '@awesome-cordova-plugins/camera-preview/ngx';
*
* constructor(private cameraPreview: CameraPreview) { }
*
* ...
*
* // camera options (Size and location). In the following example, the preview uses the rear camera and display the preview in the back of the webview
* const cameraPreviewOpts: CameraPreviewOptions = {
* x: 0,
* y: 0,
* width: window.screen.width,
* height: window.screen.height,
* camera: 'rear',
* tapPhoto: true,
* previewDrag: true,
* toBack: true,
* alpha: 1
* }
*
* // start camera
* this.cameraPreview.startCamera(cameraPreviewOpts).then(
* (res) => {
* console.log(res)
* },
* (err) => {
* console.log(err)
* });
*
* // Set the handler to run every time we take a picture
* this.cameraPreview.setOnPictureTakenHandler().subscribe((result) => {
* console.log(result);
* // do something with the result
* });
*
*
* // picture options
* const pictureOpts: CameraPreviewPictureOptions = {
* width: 1280,
* height: 1280,
* quality: 85
* }
*
* // take a picture
* this.cameraPreview.takePicture(this.pictureOpts).then((imageData) => {
* this.picture = 'data:image/jpeg;base64,' + imageData;
* }, (err) => {
* console.log(err);
* this.picture = 'assets/img/test.jpg';
* });
*
* // take a snap shot
* this.cameraPreview.takeSnapshot(this.pictureOpts).then((imageData) => {
* this.picture = 'data:image/jpeg;base64,' + imageData;
* }, (err) => {
* console.log(err);
* this.picture = 'assets/img/test.jpg';
* });
*
*
* // Switch camera
* this.cameraPreview.switchCamera();
*
* // set color effect to negative
* this.cameraPreview.setColorEffect('negative');
*
* // Stop the camera preview
* this.cameraPreview.stopCamera();
*
* ```
* @interfaces
* CameraPreviewOptions
* CameraPreviewPictureOptions
* CameraPreviewDimensions
*/
@Plugin({
pluginName: 'CameraPreview',
plugin: 'cordova-plugin-camera-preview',
pluginRef: 'CameraPreview',
repo: 'https://github.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class CameraPreview extends AwesomeCordovaNativePlugin {
FOCUS_MODE = {
FIXED: 'fixed',
AUTO: 'auto',
CONTINUOUS: 'continuous', // IOS Only
CONTINUOUS_PICTURE: 'continuous-picture', // Android Only
CONTINUOUS_VIDEO: 'continuous-video', // Android Only
EDOF: 'edof', // Android Only
INFINITY: 'infinity', // Android Only
MACRO: 'macro', // Android Only
};
EXPOSURE_MODE = {
LOCK: 'lock', // IOS Only
AUTO: 'auto', // IOS Only
CONTINUOUS: 'continuous',
CUSTOM: 'custom',
};
FLASH_MODE = {
OFF: 'off',
ON: 'on',
AUTO: 'auto',
RED_EYE: 'red-eye',
TORCH: 'torch', // Android Only
};
COLOR_EFFECT = {
AQUA: 'aqua', // Android Only
BLACKBOARD: 'blackboard', // Android Only
MONO: 'mono',
NEGATIVE: 'negative',
NONE: 'none',
POSTERIZE: 'posterize',
SEPIA: 'sepia',
SOLARIZE: 'solarize', // Android Only
WHITEBOARD: 'whiteboard', // Android Only
};
CAMERA_DIRECTION = {
BACK: 'back',
FRONT: 'front',
};
/**
* Starts the camera preview instance.
*
* @param {CameraPreviewOptions} options
* @returns {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
startCamera(options: CameraPreviewOptions): Promise<any> {
return;
}
/**
* Starts the camera video instance.
*
* @param {any} options
* @returns {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
startRecordVideo(options: any): Promise<any> {
return;
}
/**
* Stops the camera preview instance. (iOS & Android)
*
* @returns {Promise<any>}
*/
@Cordova()
stopCamera(): Promise<any> {
return;
}
/**
* Stops the camera video instance. (iOS & Android)
*
* @returns {Promise<any>}
*/
@Cordova()
stopRecordVideo(): Promise<any> {
return;
}
/**
* Switch from the rear camera and front camera, if available.
*
* @returns {Promise<any>}
*/
@Cordova()
switchCamera(): Promise<any> {
return;
}
/**
* Hide the camera preview box.
*
* @returns {Promise<any>}
*/
@Cordova()
hide(): Promise<any> {
return;
}
/**
* Show the camera preview box.
*
* @returns {Promise<any>}
*/
@Cordova()
show(): Promise<any> {
return;
}
/**
* Take the picture (base64)
*
* @param {CameraPreviewPictureOptions} [options] size and quality of the picture to take
* @returns {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
takePicture(options?: CameraPreviewPictureOptions): Promise<any> {
return;
}
/**
* Take a snapshot of preview window (size specified in startCamera options)
*
* @param {CameraPreviewPictureOptions} [options] quality of the picture to take
* @returns {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
takeSnapshot(options?: CameraPreviewPictureOptions): Promise<any> {
return;
}
/**
*
* Set camera color effect.
*
* @static
* @param {string} effect name : 'none' (iOS & Android), 'aqua' (Android), 'blackboard' (Android), 'mono' (iOS & Android), 'negative' (iOS & Android), 'posterize' (iOS & Android), 'sepia' (iOS & Android), 'solarize' (Android) or 'whiteboard' (Android)
* @returns {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
setColorEffect(effect: string): Promise<any> {
return;
}
/**
* Set the zoom (Android)
*
* @param [zoom] {number} Zoom value
* @returns {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
setZoom(zoom?: number): Promise<any> {
return;
}
/**
* Get the maximum zoom (Android)
*
* @returns {Promise<any>}
*/
@Cordova()
getMaxZoom(): Promise<any> {
return;
}
/**
* Get current zoom (Android)
*
* @returns {Promise<any>}
*/
@Cordova()
getZoom(): Promise<any> {
return;
}
/**
* Set the preview Size
*
* @param {CameraPreviewDimensions} [dimensions]
* @returns {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
setPreviewSize(dimensions?: CameraPreviewDimensions): Promise<any> {
return;
}
/**
* Get focus mode
*
* @returns {Promise<any>}
*/
@Cordova()
getFocusMode(): Promise<any> {
return;
}
/**
* Set the focus mode
*
* @param {string} [focusMode] 'fixed', 'auto', 'continuous-picture', 'continuous-video' (iOS & Android), 'edof', 'infinity', 'macro' (Android Only)
* @returns {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
setFocusMode(focusMode?: string): Promise<any> {
return;
}
/**
* Get supported focus modes
*
* @returns {Promise<any>}
*/
@Cordova()
getSupportedFocusModes(): Promise<any> {
return;
}
/**
* Get the current flash mode
*
* @returns {Promise<any>}
*/
@Cordova()
getFlashMode(): Promise<any> {
return;
}
/**
* Set the flash mode
*
* @param {string} [flashMode] 'off' (iOS & Android), 'on' (iOS & Android), 'auto' (iOS & Android), 'torch' (Android)
* @returns {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
setFlashMode(flashMode?: string): Promise<any> {
return;
}
/**
* Get supported flash modes
*
* @returns {Promise<any>}
*/
@Cordova()
getSupportedFlashModes(): Promise<any> {
return;
}
/**
* Get supported picture sizes
*
* @returns {Promise<any>}
*/
@Cordova()
getSupportedPictureSizes(): Promise<any> {
return;
}
/**
* Get exposure mode
*
* @returns {Promise<any>}
*/
@Cordova()
getExposureMode(): Promise<any> {
return;
}
/**
* Get exposure modes
*
* @returns {Promise<any>}
*/
@Cordova()
getExposureModes(): Promise<any> {
return;
}
/**
* Set exposure mode
*
* @param {string} [lock]
* @returns {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
setExposureMode(lock?: string): Promise<any> {
return;
}
/**
* Get exposure compensation (Android)
*
* @returns {Promise<any>}
*/
@Cordova()
getExposureCompensation(): Promise<any> {
return;
}
/**
* Set exposure compensation (Android)
*
* @param {number} [exposureCompensation]
* @returns {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
setExposureCompensation(exposureCompensation?: number): Promise<any> {
return;
}
/**
* Get exposure compensation range (Android)
*
* @returns {Promise<any>}
*/
@Cordova()
getExposureCompensationRange(): Promise<any> {
return;
}
/**
* Set specific focus point. Note, this assumes the camera is full-screen.
*
* @param {number} xPoint
* @param {number} yPoint
* @returns {Promise<any>}
*/
@Cordova()
tapToFocus(xPoint: number, yPoint: number): Promise<any> {
return;
}
/**
* Add a listener for the back event for the preview
*
* @returns {Promise<any>} if back button pressed
*/
@Cordova()
onBackButton(): Promise<any> {
return;
}
/**
* Return in use device camera fov
*
* @returns {Promise<any>}
*/
@Cordova()
getHorizontalFOV(): Promise<any> {
return;
}
/**
* Get the characteristics of all available cameras
*
* @returns {Promise<any>}
*/
@Cordova()
getCameraCharacteristics(): Promise<any> {
return;
}
}

View File

@@ -1,268 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export interface CameraOptions {
/** Picture quality in range 0-100. Default is 50 */
quality?: number;
/**
* Choose the format of the return value.
* Defined in Camera.DestinationType. Default is FILE_URI.
* DATA_URL : 0, Return image as base64-encoded string (DATA_URL can be very memory intensive and cause app crashes or out of memory errors. Use FILE_URI or NATIVE_URI if possible),
* FILE_URI : 1, Return image file URI,
* NATIVE_URI : 2 Return image native URI
* (e.g., assets-library:// on iOS or content:// on Android)
*/
destinationType?: number;
/**
* Set the source of the picture.
* Defined in Camera.PictureSourceType. Default is CAMERA.
* PHOTOLIBRARY : 0,
* CAMERA : 1,
* SAVEDPHOTOALBUM : 2
*/
sourceType?: number;
/** Allow simple editing of image before selection. */
allowEdit?: boolean;
/**
* Choose the returned image file's encoding.
* Defined in Camera.EncodingType. Default is JPEG
* JPEG : 0 Return JPEG encoded image
* PNG : 1 Return PNG encoded image
*/
encodingType?: number;
/**
* 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.
* Aspect ratio remains constant.
*/
targetHeight?: number;
/**
* Set the type of media to select from. Only works when PictureSourceType
* is PHOTOLIBRARY or SAVEDPHOTOALBUM. Defined in Camera.MediaType
* PICTURE: 0 allow selection of still pictures only. DEFAULT.
* Will return format specified via DestinationType
* VIDEO: 1 allow selection of video only, WILL ALWAYS RETURN FILE_URI
* ALLMEDIA : 2 allow selection from all media types
*/
mediaType?: number;
/** Rotate the image to correct for the orientation of the device during capture. */
correctOrientation?: boolean;
/** Save the image to the photo album on the device after capture. */
saveToPhotoAlbum?: boolean;
/**
* Choose the camera to use (front- or back-facing).
* Defined in Camera.Direction. Default is BACK.
* BACK: 0
* FRONT: 1
*/
cameraDirection?: number;
/** iOS-only options that specify popover location in iPad. Defined in CameraPopoverOptions. */
popoverOptions?: CameraPopoverOptions;
}
/**
* iOS-only parameters that specify the anchor element location and arrow direction
* of the popover when selecting images from an iPad's library or album.
*/
export interface CameraPopoverOptions {
x: number;
y: number;
width: number;
height: number;
/**
* Direction the arrow on the popover should point. Defined in Camera.PopoverArrowDirection
* Matches iOS UIPopoverArrowDirection constants.
* ARROW_UP : 1,
* ARROW_DOWN : 2,
* ARROW_LEFT : 4,
* ARROW_RIGHT : 8,
* ARROW_ANY : 15
*/
arrowDir: number;
}
export enum DestinationType {
DATA_URL = 0,
FILE_URL,
NATIVE_URI,
}
export enum EncodingType {
JPEG = 0,
PNG,
}
export enum MediaType {
PICTURE = 0,
VIDEO,
ALLMEDIA,
}
export enum PictureSourceType {
PHOTOLIBRARY = 0,
CAMERA,
SAVEDPHOTOALBUM,
}
export enum PopoverArrowDirection {
ARROW_UP = 1,
ARROW_DOWN,
ARROW_LEFT,
ARROW_RIGHT,
ARROW_ANY,
}
export enum Direction {
BACK = 0,
FRONT,
}
/**
* @name Camera
* @premier camera
* @description
* Take a photo or capture video.
*
* Requires the Cordova plugin: `cordova-plugin-camera`. For more info, please see the [Cordova Camera Plugin Docs](https://github.com/apache/cordova-plugin-camera).
*
* [Warning] Since IOS 10 the camera requires permissions to be placed in your config.xml add
* ```xml
* <config-file parent="NSCameraUsageDescription" platform="ios" target="*-Info.plist">
* <string>You can take photos</string>
* </config-file>
* ```
* inside of the <platform name='ios> section
* @usage
* ```typescript
* import { Camera, CameraOptions } from '@awesome-cordova-plugins/camera/ngx';
*
* constructor(private camera: Camera) { }
*
* ...
*
*
* const options: CameraOptions = {
* quality: 100,
* destinationType: this.camera.DestinationType.FILE_URI,
* encodingType: this.camera.EncodingType.JPEG,
* mediaType: this.camera.MediaType.PICTURE
* }
*
* this.camera.getPicture(options).then((imageData) => {
* // imageData is either a base64 encoded string or a file URI
* // If it's base64 (DATA_URL):
* let base64Image = 'data:image/jpeg;base64,' + imageData;
* }, (err) => {
* // Handle error
* });
* ```
* @interfaces
* CameraOptions
* CameraPopoverOptions
*/
@Plugin({
pluginName: 'Camera',
plugin: 'cordova-plugin-camera',
pluginRef: 'navigator.camera',
repo: 'https://github.com/apache/cordova-plugin-camera',
platforms: ['Android', 'Browser', 'iOS', 'Windows'],
})
@Injectable()
export class Camera extends AwesomeCordovaNativePlugin {
/**
* Constant for possible destination types
*/
DestinationType = {
/** Return base64 encoded string. DATA_URL can be very memory intensive and cause app crashes or out of memory errors. Use FILE_URI or NATIVE_URI if possible */
DATA_URL: 0,
/** Return file uri (content://media/external/images/media/2 for Android) */
FILE_URI: 1,
/** Return native uri (eg. asset-library://... for iOS) */
NATIVE_URI: 2,
};
/**
* Convenience constant
*/
EncodingType = {
/** Return JPEG encoded image */
JPEG: 0,
/** Return PNG encoded image */
PNG: 1,
};
/**
* Convenience constant
*/
MediaType = {
/** Allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType */
PICTURE: 0,
/** Allow selection of video only, ONLY RETURNS URL */
VIDEO: 1,
/** Allow selection from all media types */
ALLMEDIA: 2,
};
/**
* Convenience constant
*/
PictureSourceType = {
/** Choose image from picture library (same as PHOTOLIBRARY for Android) */
PHOTOLIBRARY: 0,
/** Take picture from camera */
CAMERA: 1,
/** Choose image from picture library (same as SAVEDPHOTOALBUM for Android) */
SAVEDPHOTOALBUM: 2,
};
/**
* Convenience constant
*/
PopoverArrowDirection = {
ARROW_UP: 1,
ARROW_DOWN: 2,
ARROW_LEFT: 4,
ARROW_RIGHT: 8,
ARROW_ANY: 15,
};
/**
* Convenience constant
*/
Direction = {
/** Use the back-facing camera */
BACK: 0,
/** Use the front-facing camera */
FRONT: 1,
};
/**
* Take a picture or video, or load one from the library.
*
* @param {CameraOptions} [options] Options that you want to pass to the camera. Encoding type, quality, etc. Platform-specific quirks are described in the [Cordova plugin docs](https://github.com/apache/cordova-plugin-camera#cameraoptions-errata-).
* @returns {Promise<any>} Returns a Promise that resolves with Base64 encoding of the image data, or the image file URI, depending on cameraOptions, otherwise rejects with an error.
*/
@Cordova({
callbackOrder: 'reverse',
})
getPicture(options?: CameraOptions): Promise<any> {
return;
}
/**
* Remove intermediate image files that are kept in temporary storage after calling camera.getPicture.
* Applies only when the value of Camera.sourceType equals Camera.PictureSourceType.CAMERA and the Camera.destinationType equals Camera.DestinationType.FILE_URI.
*
* @returns {Promise<any>}
*/
@Cordova({
platforms: ['iOS'],
})
cleanup(): Promise<any> {
return;
}
}

View File

@@ -1,223 +0,0 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
export interface CkoCardTokenRequest {
/**
* The card number
*/
number: string;
/**
* The expiry month of the card
*/
expiry_month: string;
/**
* The expiry year of the card
*/
expiry_year: string;
/**
* The card verification value/code. 3 digits, except for Amex (4 digits)
*/
cvv?: string;
/**
* The cardholder's name
*/
name?: string;
/**
* The cardholder's billing address
*/
billing_address?: Address;
/**
* The cardholder's phone number
*/
phone?: Phone;
}
export interface CkoCardTokenResponse {
/**
* The token type
*/
type: string;
/**
* The token value
*/
token: string;
/**
* The expiration datetime of the token
*/
expires_on: string;
/**
* The expiry month of the card
*/
expiry_month: number;
/**
* The expiry year of the card
*/
expiry_year: number;
/**
* The cardholder's name
*/
name: string;
/**
* The card scheme
*/
scheme: string;
/**
* The last 4 digit of the card number
*/
last4: string;
/**
* The bin range of the card
*/
bin: string;
/**
* The card type
*/
card_type: string;
/**
* The card category
*/
card_category: string;
/**
* The card issuer name
*/
issuer: string;
/**
* The card issuer country (two-letter ISO)
*/
issuer_country: string;
/**
* The card product id
*/
product_id: string;
/**
* The card product type
*/
product_type: string;
/**
* The cardholder's billing address
*/
billing_address: Address;
/**
* The cardholder's phone number
*/
phone: Phone;
}
export interface Address {
/**
* The first line of the address
*/
address_line1?: string;
/**
* The second line of the address
*/
address_line2?: string;
/**
* The address city
*/
city?: string;
/**
* The address state
*/
state?: string;
/**
* The address zip/postal code
*/
zip?: string;
/**
* The two-letter ISO country code of the address
*/
country?: string;
}
export interface Phone {
/**
* The international country calling code. Required for some risk checks
*/
country_code: string;
/**
* The phone number
*/
number: string;
}
/**
* @name Checkout
* @description
* Checkout.com cordova plugin
* @usage
* ```typescript
* import { Checkout } from '@awesome-cordova-plugins/checkout/ngx';
*
*
* constructor(private checkout: Checkout) { }
*
* ...
*
*
* this.checkout.initSandboxClient("pk_test_7d395871-0d66-4b62-85b6-8424df78b125")
* .then(() => this.label = "CKO init completed")
* .catch(err => this.label = err)
*
* ...
*
* let tokenRequest: CkoCardTokenRequest = {
* number: "4543474002249996",
* cvv: "010",
* expiry_month: "08",
* expiry_year: "2025",
* billing_address: {
* country: "FR"
* }
* }
*
*
* this.cko.generateToken(tokenRequest)
* .then(tokenResponse => this.label = "Token: " + tokenResponse.token)
* .catch(err => this.label = err)
* ```
*/
@Plugin({
pluginName: 'Checkout',
plugin: '@checkout.com/cordova-plugin-checkout',
pluginRef: 'cordova.plugins.Checkout',
repo: 'https://github.com/checkout/frames-cordova',
install: '',
installVariables: [],
platforms: ['Android', 'iOS'],
})
@Injectable()
export class Checkout extends AwesomeCordovaNativePlugin {
/**
* Initialize Frames plugin in Sandbox mode
*
* @param publicKey {string} Merchant's sandbox public key
* @returns {Promise<any>} Returns a promise that resolves when Frames initiation is completed
*/
@Cordova()
initSandboxClient(publicKey: string): Promise<any> {
return;
}
/**
* Initialize Frames plugin in Live mode
*
* @param publicKey {string} Merchant's live public key
* @returns {Promise<any>} Returns a promise that resolves when Frames initiation is completed
*/
@Cordova()
initLiveClient(publicKey: string): Promise<any> {
return;
}
/**
* Exchange card details for a reference token that can be used later to request a card payment from your backend. Tokens are single use and expire after 15 minutes.
*
* @param ckoCardTokenRequest {CkoCardTokenRequest} Card tokenization request object
* @returns {Promise<CkoCardTokenResponse>} Returns a promise that resolves when Token response object
*/
@Cordova()
generateToken(ckoCardTokenRequest: CkoCardTokenRequest): Promise<CkoCardTokenResponse> {
return;
}
}

View File

@@ -1,78 +0,0 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export interface ChooserResult {
data?: Uint8Array;
dataURI?: string;
mediaType: string;
name: string;
uri: string;
}
/**
* @name Chooser
* @description
* File chooser plugin for Cordova.
*
* The following must be added to config.xml to prevent crashing when selecting large files on Android:
* ```xml
* <platform name="android">
* <edit-config
* file="app/src/main/AndroidManifest.xml"
* mode="merge"
* target="/manifest/application">
* <application android:largeHeap="true" />
* </edit-config>
* </platform>
* ```
* @usage
* ```typescript
* import { Chooser } from '@awesome-cordova-plugins/chooser/ngx';
*
*
* constructor(private chooser: Chooser) { }
*
* ...
*
*
* this.chooser.getFile()
* .then(file => console.log(file ? file.name : 'canceled'))
* .catch((error: any) => console.error(error));
*
* ```
* @interfaces
* ChooserResult
*/
@Plugin({
pluginName: 'Chooser',
plugin: 'cordova-plugin-chooser',
pluginRef: 'chooser',
repo: 'https://github.com/cyph/cordova-plugin-chooser',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class Chooser extends AwesomeCordovaNativePlugin {
/**
* Displays native prompt for user to select a file.
*
* @param {string} [accept] Optional MIME type filter (e.g. 'image/gif,video/*').
* @returns {Promise<any>} Promise containing selected file's raw binary data,
* base64-encoded data: URI, MIME type, display name, and original URI.
*/
@Cordova()
getFile(accept?: string): Promise<ChooserResult | undefined> {
return;
}
/**
* Displays native prompt for user to select a file.
*
* @param {string} [accept] Optional MIME type filter (e.g. 'image/gif,video/*').
* @returns {Promise<any>} Promise containing selected file's MIME type, display name, and original URI.
* If user cancels, promise will be resolved as undefined.
* If error occurs, promise will be rejected.
*/
@Cordova()
getFileMetadata(accept?: string): Promise<ChooserResult | undefined> {
return;
}
}

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More