@josuelmm/capacitor-background-geolocation 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/JosuelmmCapacitorBackgroundGeolocation.podspec +34 -0
  2. package/LICENSE +17 -0
  3. package/NOTICE.md +32 -0
  4. package/Package.swift +45 -0
  5. package/README.md +402 -0
  6. package/android/build.gradle +79 -0
  7. package/android/proguard-rules.pro +1 -0
  8. package/android/src/main/AndroidManifest.xml +83 -0
  9. package/android/src/main/java/com/evgenii/jsevaluator/HandlerWrapper.java +18 -0
  10. package/android/src/main/java/com/evgenii/jsevaluator/JavaScriptInterface.java +22 -0
  11. package/android/src/main/java/com/evgenii/jsevaluator/JsEvaluator.java +133 -0
  12. package/android/src/main/java/com/evgenii/jsevaluator/JsFunctionCallFormatter.java +37 -0
  13. package/android/src/main/java/com/evgenii/jsevaluator/WebViewWrapper.java +71 -0
  14. package/android/src/main/java/com/evgenii/jsevaluator/interfaces/CallJavaResultInterface.java +8 -0
  15. package/android/src/main/java/com/evgenii/jsevaluator/interfaces/HandlerWrapperInterface.java +5 -0
  16. package/android/src/main/java/com/evgenii/jsevaluator/interfaces/JsCallback.java +10 -0
  17. package/android/src/main/java/com/evgenii/jsevaluator/interfaces/JsEvaluatorInterface.java +18 -0
  18. package/android/src/main/java/com/evgenii/jsevaluator/interfaces/WebViewWrapperInterface.java +14 -0
  19. package/android/src/main/java/com/josuelmm/capacitor/backgroundgeolocation/BackgroundGeolocationPlugin.java +898 -0
  20. package/android/src/main/java/com/josuelmm/capacitor/backgroundgeolocation/ConfigMapper.java +303 -0
  21. package/android/src/main/java/com/josuelmm/capacitor/backgroundgeolocation/HeadlessTaskRegistry.java +34 -0
  22. package/android/src/main/java/com/josuelmm/capacitor/backgroundgeolocation/JsEvaluatorTaskRunner.java +63 -0
  23. package/android/src/main/java/com/marianhello/bgloc/BackgroundGeolocationFacade.java +699 -0
  24. package/android/src/main/java/com/marianhello/bgloc/BootCompletedReceiver.java +103 -0
  25. package/android/src/main/java/com/marianhello/bgloc/Config.java +1155 -0
  26. package/android/src/main/java/com/marianhello/bgloc/ConnectivityListener.java +5 -0
  27. package/android/src/main/java/com/marianhello/bgloc/HttpPostService.java +362 -0
  28. package/android/src/main/java/com/marianhello/bgloc/LocationManager.java +138 -0
  29. package/android/src/main/java/com/marianhello/bgloc/PluginDelegate.java +45 -0
  30. package/android/src/main/java/com/marianhello/bgloc/PluginException.java +38 -0
  31. package/android/src/main/java/com/marianhello/bgloc/PostLocationTask.java +238 -0
  32. package/android/src/main/java/com/marianhello/bgloc/ResourceResolver.java +55 -0
  33. package/android/src/main/java/com/marianhello/bgloc/data/AbstractLocationTemplate.java +69 -0
  34. package/android/src/main/java/com/marianhello/bgloc/data/ArrayListLocationTemplate.java +88 -0
  35. package/android/src/main/java/com/marianhello/bgloc/data/BackgroundActivity.java +108 -0
  36. package/android/src/main/java/com/marianhello/bgloc/data/BackgroundLocation.java +1088 -0
  37. package/android/src/main/java/com/marianhello/bgloc/data/ConfigJsonMapper.java +211 -0
  38. package/android/src/main/java/com/marianhello/bgloc/data/ConfigurationDAO.java +13 -0
  39. package/android/src/main/java/com/marianhello/bgloc/data/DAOFactory.java +17 -0
  40. package/android/src/main/java/com/marianhello/bgloc/data/HashMapLocationTemplate.java +82 -0
  41. package/android/src/main/java/com/marianhello/bgloc/data/LocationDAO.java +27 -0
  42. package/android/src/main/java/com/marianhello/bgloc/data/LocationTemplate.java +12 -0
  43. package/android/src/main/java/com/marianhello/bgloc/data/LocationTemplateFactory.java +71 -0
  44. package/android/src/main/java/com/marianhello/bgloc/data/LocationTransform.java +19 -0
  45. package/android/src/main/java/com/marianhello/bgloc/data/SessionLocationDAO.java +18 -0
  46. package/android/src/main/java/com/marianhello/bgloc/data/provider/ContentProviderLocationDAO.java +406 -0
  47. package/android/src/main/java/com/marianhello/bgloc/data/provider/LocationContentProvider.java +321 -0
  48. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationContract.java +94 -0
  49. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationDAO.java +227 -0
  50. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationContract.java +122 -0
  51. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationDAO.java +550 -0
  52. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteOpenHelper.java +189 -0
  53. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteSessionContract.java +74 -0
  54. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteSessionLocationDAO.java +169 -0
  55. package/android/src/main/java/com/marianhello/bgloc/driving/DrivingEventsDetector.java +265 -0
  56. package/android/src/main/java/com/marianhello/bgloc/headless/AbstractTaskRunner.java +15 -0
  57. package/android/src/main/java/com/marianhello/bgloc/headless/ActivityTask.java +48 -0
  58. package/android/src/main/java/com/marianhello/bgloc/headless/JsCallback.java +10 -0
  59. package/android/src/main/java/com/marianhello/bgloc/headless/LocationTask.java +60 -0
  60. package/android/src/main/java/com/marianhello/bgloc/headless/StationaryTask.java +25 -0
  61. package/android/src/main/java/com/marianhello/bgloc/headless/Task.java +8 -0
  62. package/android/src/main/java/com/marianhello/bgloc/headless/TaskRunner.java +5 -0
  63. package/android/src/main/java/com/marianhello/bgloc/headless/TaskRunnerFactory.java +8 -0
  64. package/android/src/main/java/com/marianhello/bgloc/http/UrlTemplateResolver.java +115 -0
  65. package/android/src/main/java/com/marianhello/bgloc/oem/BatteryOemHelper.java +214 -0
  66. package/android/src/main/java/com/marianhello/bgloc/provider/AbstractLocationProvider.java +218 -0
  67. package/android/src/main/java/com/marianhello/bgloc/provider/ActivityRecognitionLocationProvider.java +385 -0
  68. package/android/src/main/java/com/marianhello/bgloc/provider/DistanceFilterLocationProvider.java +685 -0
  69. package/android/src/main/java/com/marianhello/bgloc/provider/LocationProvider.java +32 -0
  70. package/android/src/main/java/com/marianhello/bgloc/provider/LocationProviderFactory.java +47 -0
  71. package/android/src/main/java/com/marianhello/bgloc/provider/ProviderDelegate.java +12 -0
  72. package/android/src/main/java/com/marianhello/bgloc/provider/RawLocationProvider.java +175 -0
  73. package/android/src/main/java/com/marianhello/bgloc/sensor/SensorFusionDetector.java +199 -0
  74. package/android/src/main/java/com/marianhello/bgloc/service/LocationService.java +16 -0
  75. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceImpl.java +1531 -0
  76. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceInfo.java +6 -0
  77. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceInfoImpl.java +41 -0
  78. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceIntentBuilder.java +203 -0
  79. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceProxy.java +156 -0
  80. package/android/src/main/java/com/marianhello/bgloc/sync/AccountHelper.java +39 -0
  81. package/android/src/main/java/com/marianhello/bgloc/sync/Authenticator.java +68 -0
  82. package/android/src/main/java/com/marianhello/bgloc/sync/AuthenticatorService.java +28 -0
  83. package/android/src/main/java/com/marianhello/bgloc/sync/BatchManager.java +311 -0
  84. package/android/src/main/java/com/marianhello/bgloc/sync/NotificationHelper.java +148 -0
  85. package/android/src/main/java/com/marianhello/bgloc/sync/SyncAdapter.java +301 -0
  86. package/android/src/main/java/com/marianhello/bgloc/sync/SyncService.java +68 -0
  87. package/android/src/main/java/com/marianhello/logging/DBLogReader.java +208 -0
  88. package/android/src/main/java/com/marianhello/logging/LogEntry.java +99 -0
  89. package/android/src/main/java/com/marianhello/logging/LoggerManager.java +70 -0
  90. package/android/src/main/java/com/marianhello/logging/UncaughtExceptionLogger.java +36 -0
  91. package/android/src/main/java/com/marianhello/utils/CloneHelper.java +22 -0
  92. package/android/src/main/java/com/marianhello/utils/Convert.java +56 -0
  93. package/android/src/main/java/com/marianhello/utils/TextUtils.java +72 -0
  94. package/android/src/main/java/com/marianhello/utils/ToneGenerator.java +68 -0
  95. package/android/src/main/java/org/apache/commons/io/Charsets.java +153 -0
  96. package/android/src/main/java/org/apache/commons/io/input/ReversedLinesFileReader.java +344 -0
  97. package/android/src/main/java/org/chromium/content/browser/ThreadUtils.java +134 -0
  98. package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlExpression.java +398 -0
  99. package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlSelectStatement.java +671 -0
  100. package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlStatement.java +29 -0
  101. package/android/src/main/java/ru/andremoniy/utils/TextUtils.java +61 -0
  102. package/android/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  103. package/android/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  104. package/android/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  105. package/android/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  106. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  107. package/android/src/main/res/values/strings.xml +15 -0
  108. package/android/src/main/res/xml/authenticator.xml +7 -0
  109. package/android/src/main/res/xml/syncadapter.xml +9 -0
  110. package/dist/esm/definitions.d.ts +1052 -0
  111. package/dist/esm/definitions.js +142 -0
  112. package/dist/esm/definitions.js.map +1 -0
  113. package/dist/esm/index.d.ts +8 -0
  114. package/dist/esm/index.js +23 -0
  115. package/dist/esm/index.js.map +1 -0
  116. package/dist/esm/web.d.ts +92 -0
  117. package/dist/esm/web.js +242 -0
  118. package/dist/esm/web.js.map +1 -0
  119. package/dist/plugin.cjs.js +415 -0
  120. package/dist/plugin.cjs.js.map +1 -0
  121. package/dist/plugin.js +418 -0
  122. package/dist/plugin.js.map +1 -0
  123. package/ios/Sources/BackgroundGeolocationPlugin/BackgroundGeolocationPlugin-Bridging-Header.h +18 -0
  124. package/ios/Sources/BackgroundGeolocationPlugin/BackgroundGeolocationPlugin.m +52 -0
  125. package/ios/Sources/BackgroundGeolocationPlugin/BackgroundGeolocationPlugin.swift +750 -0
  126. package/ios/Tests/BackgroundGeolocationPluginTests/BackgroundGeolocationPluginTests.swift +12 -0
  127. package/ios/common/BackgroundGeolocation/CocoaLumberjack.h +1945 -0
  128. package/ios/common/BackgroundGeolocation/CocoaLumberjack.m +5255 -0
  129. package/ios/common/BackgroundGeolocation/FMDB.h +2357 -0
  130. package/ios/common/BackgroundGeolocation/FMDB.m +2672 -0
  131. package/ios/common/BackgroundGeolocation/FMDBLogger.h +42 -0
  132. package/ios/common/BackgroundGeolocation/FMDBLogger.m +264 -0
  133. package/ios/common/BackgroundGeolocation/INTULocationManager/INTUHeadingRequest.h +41 -0
  134. package/ios/common/BackgroundGeolocation/INTULocationManager/INTUHeadingRequest.m +68 -0
  135. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager+Internal.h +33 -0
  136. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager.h +178 -0
  137. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager.m +1025 -0
  138. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequest.h +103 -0
  139. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequest.m +238 -0
  140. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequestDefines.h +163 -0
  141. package/ios/common/BackgroundGeolocation/INTULocationManager/INTURequestIDGenerator.h +39 -0
  142. package/ios/common/BackgroundGeolocation/INTULocationManager/INTURequestIDGenerator.m +37 -0
  143. package/ios/common/BackgroundGeolocation/MAURAbstractLocationProvider.h +51 -0
  144. package/ios/common/BackgroundGeolocation/MAURAbstractLocationProvider.m +53 -0
  145. package/ios/common/BackgroundGeolocation/MAURActivity.h +23 -0
  146. package/ios/common/BackgroundGeolocation/MAURActivity.m +52 -0
  147. package/ios/common/BackgroundGeolocation/MAURActivityLocationProvider.h +18 -0
  148. package/ios/common/BackgroundGeolocation/MAURActivityLocationProvider.m +340 -0
  149. package/ios/common/BackgroundGeolocation/MAURBackgroundGeolocationFacade.h +88 -0
  150. package/ios/common/BackgroundGeolocation/MAURBackgroundGeolocationFacade.m +1193 -0
  151. package/ios/common/BackgroundGeolocation/MAURBackgroundSync.h +46 -0
  152. package/ios/common/BackgroundGeolocation/MAURBackgroundSync.m +283 -0
  153. package/ios/common/BackgroundGeolocation/MAURBackgroundTaskManager.h +25 -0
  154. package/ios/common/BackgroundGeolocation/MAURBackgroundTaskManager.m +105 -0
  155. package/ios/common/BackgroundGeolocation/MAURConfig.h +99 -0
  156. package/ios/common/BackgroundGeolocation/MAURConfig.m +636 -0
  157. package/ios/common/BackgroundGeolocation/MAURConfigurationContract.h +53 -0
  158. package/ios/common/BackgroundGeolocation/MAURConfigurationContract.m +54 -0
  159. package/ios/common/BackgroundGeolocation/MAURDistanceFilterLocationProvider.h +20 -0
  160. package/ios/common/BackgroundGeolocation/MAURDistanceFilterLocationProvider.m +550 -0
  161. package/ios/common/BackgroundGeolocation/MAURGeolocationOpenHelper.h +17 -0
  162. package/ios/common/BackgroundGeolocation/MAURGeolocationOpenHelper.m +124 -0
  163. package/ios/common/BackgroundGeolocation/MAURLocation.h +73 -0
  164. package/ios/common/BackgroundGeolocation/MAURLocation.m +392 -0
  165. package/ios/common/BackgroundGeolocation/MAURLocationContract.h +38 -0
  166. package/ios/common/BackgroundGeolocation/MAURLocationContract.m +39 -0
  167. package/ios/common/BackgroundGeolocation/MAURLocationManager.h +53 -0
  168. package/ios/common/BackgroundGeolocation/MAURLocationManager.m +305 -0
  169. package/ios/common/BackgroundGeolocation/MAURLogReader.h +26 -0
  170. package/ios/common/BackgroundGeolocation/MAURLogReader.m +122 -0
  171. package/ios/common/BackgroundGeolocation/MAURLogging.h +19 -0
  172. package/ios/common/BackgroundGeolocation/MAURPostLocationTask.h +53 -0
  173. package/ios/common/BackgroundGeolocation/MAURPostLocationTask.m +367 -0
  174. package/ios/common/BackgroundGeolocation/MAURProviderDelegate.h +52 -0
  175. package/ios/common/BackgroundGeolocation/MAURRawLocationProvider.h +18 -0
  176. package/ios/common/BackgroundGeolocation/MAURRawLocationProvider.m +138 -0
  177. package/ios/common/BackgroundGeolocation/MAURSQLiteConfigurationDAO.h +26 -0
  178. package/ios/common/BackgroundGeolocation/MAURSQLiteConfigurationDAO.m +335 -0
  179. package/ios/common/BackgroundGeolocation/MAURSQLiteHelper.h +57 -0
  180. package/ios/common/BackgroundGeolocation/MAURSQLiteHelper.m +93 -0
  181. package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.h +52 -0
  182. package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.m +520 -0
  183. package/ios/common/BackgroundGeolocation/MAURSQLiteOpenHelper.h +32 -0
  184. package/ios/common/BackgroundGeolocation/MAURSQLiteOpenHelper.m +276 -0
  185. package/ios/common/BackgroundGeolocation/MAURSensorFusionDetector.h +41 -0
  186. package/ios/common/BackgroundGeolocation/MAURSensorFusionDetector.m +137 -0
  187. package/ios/common/BackgroundGeolocation/MAURSessionLocationContract.h +29 -0
  188. package/ios/common/BackgroundGeolocation/MAURSessionLocationContract.m +31 -0
  189. package/ios/common/BackgroundGeolocation/MAURSessionLocationDAO.h +25 -0
  190. package/ios/common/BackgroundGeolocation/MAURSessionLocationDAO.m +153 -0
  191. package/ios/common/BackgroundGeolocation/MAURUncaughtExceptionLogger.h +20 -0
  192. package/ios/common/BackgroundGeolocation/MAURUncaughtExceptionLogger.m +62 -0
  193. package/ios/common/BackgroundGeolocation/MAURUrlTemplateResolver.h +31 -0
  194. package/ios/common/BackgroundGeolocation/MAURUrlTemplateResolver.m +107 -0
  195. package/ios/common/BackgroundGeolocation/Reachability.h +102 -0
  196. package/ios/common/BackgroundGeolocation/Reachability.m +475 -0
  197. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/README.md +170 -0
  198. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/ext/NSString+ZIMString.h +55 -0
  199. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/ext/NSString+ZIMString.m +47 -0
  200. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlDataManipulationCommand.h +27 -0
  201. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlExpression.h +250 -0
  202. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlExpression.m +259 -0
  203. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlSelectStatement.h +360 -0
  204. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlSelectStatement.m +427 -0
  205. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlStatement.h +37 -0
  206. package/ios/common/BackgroundGeolocation/module.modulemap +16 -0
  207. package/package.json +82 -0
@@ -0,0 +1,427 @@
1
+ /*
2
+ * Copyright 2011-2015 Ziminji
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at:
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #import "NSString+ZIMString.h"
18
+ #import "ZIMSqlSelectStatement.h"
19
+
20
+ @implementation ZIMSqlSelectStatement
21
+
22
+ #pragma mark -
23
+ #pragma mark Public Methods
24
+
25
+ - (instancetype) init {
26
+ if ((self = [super init])) {
27
+ _distinct = NO;
28
+ _all = @"*";
29
+ _column = [[NSMutableArray alloc] init];
30
+ _table = [[NSMutableArray alloc] init];
31
+ _join = [[NSMutableArray alloc] init];
32
+ _where = [[NSMutableArray alloc] init];
33
+ _groupBy = [[NSMutableArray alloc] init];
34
+ _having = [[NSMutableArray alloc] init];
35
+ _orderBy = [[NSMutableArray alloc] init];
36
+ _limit = 0;
37
+ _offset = 0;
38
+ _combine = [[NSMutableArray alloc] init];
39
+ }
40
+ return self;
41
+ }
42
+
43
+ - (void) distinct: (BOOL)distinct {
44
+ _distinct = distinct;
45
+ }
46
+
47
+ - (void) all: (NSString *)all {
48
+ if (all != nil) {
49
+ _all = [ZIMSqlExpression prepareIdentifier: all];
50
+ if (![_all hasSuffix: @".*"]) {
51
+ _all = [NSString stringWithFormat: @"%@.*", _all];
52
+ }
53
+ }
54
+ else {
55
+ _all = @"*";
56
+ }
57
+ [_column removeAllObjects];
58
+ }
59
+
60
+ - (void) column: (id)column {
61
+ [_column addObject: [ZIMSqlExpression prepareIdentifier: column]];
62
+ }
63
+
64
+ - (void) column: (id)column alias: (NSString *)alias {
65
+ [_column addObject: [NSString stringWithFormat: @"%@ AS %@", [ZIMSqlExpression prepareIdentifier: column], [ZIMSqlExpression prepareAlias: alias]]];
66
+ }
67
+
68
+ - (void) columns: (NSArray *)columns {
69
+ for (id column in columns) {
70
+ [_column addObject: [ZIMSqlExpression prepareIdentifier: column]];
71
+ }
72
+ }
73
+
74
+ - (void) from: (id)table {
75
+ [_table addObject: [ZIMSqlExpression prepareIdentifier: table]];
76
+ }
77
+
78
+ - (void) from: (id)table alias: (NSString *)alias {
79
+ [_table addObject: [NSString stringWithFormat: @"%@ %@", [ZIMSqlExpression prepareIdentifier: table], [ZIMSqlExpression prepareAlias: alias]]];
80
+ }
81
+
82
+ - (void) join: (id)table {
83
+ [self join: table type: ZIMSqlJoinTypeInner];
84
+ }
85
+
86
+ - (void) join: (id)table alias: (NSString *)alias {
87
+ [self join: table alias: alias type: ZIMSqlJoinTypeInner];
88
+ }
89
+
90
+ - (void) join: (id)table type: (NSString *)type {
91
+ NSString *join = [NSString stringWithFormat: @"%@ JOIN %@", [ZIMSqlExpression prepareJoinType: type], [ZIMSqlExpression prepareIdentifier: table]];
92
+ [_join addObject: @[join, [[NSMutableArray alloc] init], [[NSMutableArray alloc] init]]];
93
+ }
94
+
95
+ - (void) join: (id)table alias: (NSString *)alias type: (NSString *)type {
96
+ NSString *join = [NSString stringWithFormat: @"%@ JOIN %@ %@", [ZIMSqlExpression prepareJoinType: type], [ZIMSqlExpression prepareIdentifier: table], [ZIMSqlExpression prepareAlias: alias]];
97
+ [_join addObject: @[join, [[NSMutableArray alloc] init], [[NSMutableArray alloc] init]]];
98
+ }
99
+
100
+ - (void) joinOn: (id)column1 operator: (NSString *)operator column: (id)column2 {
101
+ [self joinOn: column1 operator: operator column: column2 connector: ZIMSqlConnectorAnd];
102
+ }
103
+
104
+ - (void) joinOn: (id)column1 operator: (NSString *)operator column: (id)column2 connector: (NSString *)connector {
105
+ NSUInteger length = [_join count];
106
+ if (length > 0) {
107
+ NSUInteger index = length - 1;
108
+ NSMutableArray *joinCondition = (NSMutableArray *)[[_join objectAtIndex: index] objectAtIndex: 2];
109
+ if ([joinCondition count] > 0) {
110
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"May not declare two different types of constraints on a JOIN statement." userInfo: nil];
111
+ }
112
+ joinCondition = (NSMutableArray *)[[_join objectAtIndex: index] objectAtIndex: 1];
113
+ [joinCondition addObject: @[[ZIMSqlExpression prepareConnector: connector], [NSString stringWithFormat: @"%@ %@ %@", [ZIMSqlExpression prepareIdentifier: column1], [operator uppercaseString], [ZIMSqlExpression prepareIdentifier: column2]]]];
114
+ }
115
+ else {
116
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"Must declare a JOIN clause before declaring a constraint." userInfo: nil];
117
+ }
118
+ }
119
+
120
+ - (void) joinOn: (id)column operator: (NSString *)operator value: (id)value {
121
+ [self joinOn: column operator: operator value: value connector: ZIMSqlConnectorAnd];
122
+ }
123
+
124
+ - (void) joinOn: (id)column operator: (NSString *)operator value: (id)value connector: (NSString *)connector {
125
+ NSUInteger length = [_join count];
126
+ if (length > 0) {
127
+ NSUInteger index = length - 1;
128
+ NSMutableArray *joinCondition = (NSMutableArray *)[[_join objectAtIndex: index] objectAtIndex: 2];
129
+ if ([joinCondition count] > 0) {
130
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"May not declare two different types of constraints on a JOIN statement." userInfo: nil];
131
+ }
132
+ joinCondition = (NSMutableArray *)[[_join objectAtIndex: index] objectAtIndex: 1];
133
+ operator = [operator uppercaseString];
134
+ if ([operator isEqualToString: ZIMSqlOperatorBetween] || [operator isEqualToString: ZIMSqlOperatorNotBetween]) {
135
+ if (![value isKindOfClass: [NSArray class]]) {
136
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"Operator requires the value to be declared as an array." userInfo: nil];
137
+ }
138
+ [joinCondition addObject: @[[ZIMSqlExpression prepareConnector: connector], [NSString stringWithFormat: @"%@ %@ %@ AND %@", [ZIMSqlExpression prepareIdentifier: column], operator, [ZIMSqlExpression prepareValue: [(NSArray *)value objectAtIndex: 0]], [ZIMSqlExpression prepareValue: [(NSArray *)value objectAtIndex: 1]]]]];
139
+ }
140
+ else {
141
+ if (([operator isEqualToString: ZIMSqlOperatorIn] || [operator isEqualToString: ZIMSqlOperatorNotIn]) && ![value isKindOfClass: [NSArray class]]) {
142
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"Operator requires the value to be declared as an array." userInfo: nil];
143
+ }
144
+ else if ([value isKindOfClass: [NSNull class]]) {
145
+ if ([operator isEqualToString: ZIMSqlOperatorEqualTo]) {
146
+ operator = ZIMSqlOperatorIs;
147
+ }
148
+ else if ([operator isEqualToString: ZIMSqlOperatorNotEqualTo] || [operator isEqualToString: @"!="]) {
149
+ operator = ZIMSqlOperatorIsNot;
150
+ }
151
+ }
152
+ [joinCondition addObject: @[[ZIMSqlExpression prepareConnector: connector], [NSString stringWithFormat: @"%@ %@ %@", [ZIMSqlExpression prepareIdentifier: column], operator, [ZIMSqlExpression prepareValue: value]]]];
153
+ }
154
+ }
155
+ else {
156
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"Must declare a JOIN clause before declaring a constraint." userInfo: nil];
157
+ }
158
+ }
159
+
160
+ - (void) joinUsing: (NSString *)column {
161
+ NSUInteger length = [_join count];
162
+ if (length > 0) {
163
+ NSUInteger index = length - 1;
164
+ NSMutableArray *joinCondition = (NSMutableArray *)[[_join objectAtIndex: index] objectAtIndex: 1];
165
+ if ([joinCondition count] > 0) {
166
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"May not declare two different types of constraints on a JOIN statement." userInfo: nil];
167
+ }
168
+ joinCondition = (NSMutableArray *)[[_join objectAtIndex: index] objectAtIndex: 2];
169
+ [joinCondition addObject: [ZIMSqlExpression prepareIdentifier: column]];
170
+ }
171
+ else {
172
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"Must declare a JOIN clause before declaring a constraint." userInfo: nil];
173
+ }
174
+ }
175
+
176
+ - (void) whereBlock: (NSString *)brace {
177
+ [self whereBlock: brace connector: ZIMSqlConnectorAnd];
178
+ }
179
+
180
+ - (void) whereBlock: (NSString *)brace connector: (NSString *)connector {
181
+ [_where addObject: @[[ZIMSqlExpression prepareConnector: connector], [ZIMSqlExpression prepareEnclosure: brace]]];
182
+ }
183
+
184
+ - (void) where: (id)column1 operator: (NSString *)operator column: (id)column2 {
185
+ [self where: column1 operator: operator column: column2 connector: ZIMSqlConnectorAnd];
186
+ }
187
+
188
+ - (void) where: (id)column1 operator: (NSString *)operator column: (id)column2 connector: (NSString *)connector {
189
+ [_where addObject: @[[ZIMSqlExpression prepareConnector: connector], [NSString stringWithFormat: @"%@ %@ %@", [ZIMSqlExpression prepareIdentifier: column1], [operator uppercaseString], [ZIMSqlExpression prepareIdentifier: column2]]]];
190
+ }
191
+
192
+ - (void) where: (id)column operator: (NSString *)operator value: (id)value {
193
+ [self where: column operator: operator value: value connector: ZIMSqlConnectorAnd];
194
+ }
195
+
196
+ - (void) where: (id)column operator: (NSString *)operator value: (id)value connector: (NSString *)connector {
197
+ operator = [operator uppercaseString];
198
+ if ([operator isEqualToString: ZIMSqlOperatorBetween] || [operator isEqualToString: ZIMSqlOperatorNotBetween]) {
199
+ if (![value isKindOfClass: [NSArray class]]) {
200
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"Operator requires the value to be declared as an array." userInfo: nil];
201
+ }
202
+ [_where addObject: @[[ZIMSqlExpression prepareConnector: connector], [NSString stringWithFormat: @"%@ %@ %@ AND %@", [ZIMSqlExpression prepareIdentifier: column], operator, [ZIMSqlExpression prepareValue: [(NSArray *)value objectAtIndex: 0]], [ZIMSqlExpression prepareValue: [(NSArray *)value objectAtIndex: 1]]]]];
203
+ }
204
+ else {
205
+ if (([operator isEqualToString: ZIMSqlOperatorIn] || [operator isEqualToString: ZIMSqlOperatorNotIn]) && ![value isKindOfClass: [NSArray class]]) {
206
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"Operator requires the value to be declared as an array." userInfo: nil];
207
+ }
208
+ else if ([value isKindOfClass: [NSNull class]]) {
209
+ if ([operator isEqualToString: ZIMSqlOperatorEqualTo]) {
210
+ operator = ZIMSqlOperatorIs;
211
+ }
212
+ else if ([operator isEqualToString: ZIMSqlOperatorNotEqualTo] || [operator isEqualToString: @"!="]) {
213
+ operator = ZIMSqlOperatorIsNot;
214
+ }
215
+ }
216
+ [_where addObject: @[[ZIMSqlExpression prepareConnector: connector], [NSString stringWithFormat: @"%@ %@ %@", [ZIMSqlExpression prepareIdentifier: column], operator, [ZIMSqlExpression prepareValue: value]]]];
217
+ }
218
+ }
219
+
220
+ - (void) groupBy: (NSString *)column {
221
+ [_groupBy addObject: [ZIMSqlExpression prepareIdentifier: column]];
222
+ }
223
+
224
+ - (void) groupByHavingBlock: (NSString *)brace {
225
+ [self groupByHavingBlock: brace connector: ZIMSqlConnectorAnd];
226
+ }
227
+
228
+ - (void) groupByHavingBlock: (NSString *)brace connector: (NSString *)connector {
229
+ if ([_groupBy count] > 0) {
230
+ [_having addObject: @[[ZIMSqlExpression prepareConnector: connector], [ZIMSqlExpression prepareEnclosure: brace]]];
231
+ }
232
+ else {
233
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"Must declare a GROUP BY clause before declaring a constraint." userInfo: nil];
234
+ }
235
+ }
236
+
237
+ - (void) groupByHaving: (id)column1 operator: (NSString *)operator column: (id)column2 {
238
+ [self groupByHaving: column1 operator: operator column: column2 connector: ZIMSqlConnectorAnd];
239
+ }
240
+
241
+ - (void) groupByHaving: (id)column1 operator: (NSString *)operator column: (id)column2 connector: (NSString *)connector {
242
+ if ([_groupBy count] > 0) {
243
+ [_having addObject: @[[ZIMSqlExpression prepareConnector: connector], [NSString stringWithFormat: @"%@ %@ %@", [ZIMSqlExpression prepareIdentifier: column1], [operator uppercaseString], [ZIMSqlExpression prepareIdentifier: column2]]]];
244
+ }
245
+ else {
246
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"Must declare a GROUP BY clause before declaring a constraint." userInfo: nil];
247
+ }
248
+ }
249
+
250
+ - (void) groupByHaving: (id)column operator: (NSString *)operator value: (id)value {
251
+ [self groupByHaving: column operator: operator value: value connector: ZIMSqlConnectorAnd];
252
+ }
253
+
254
+ - (void) groupByHaving: (id)column operator: (NSString *)operator value: (id)value connector: (NSString *)connector {
255
+ if ([_groupBy count] > 0) {
256
+ operator = [operator uppercaseString];
257
+ if ([operator isEqualToString: ZIMSqlOperatorBetween] || [operator isEqualToString: ZIMSqlOperatorNotBetween]) {
258
+ if (![value isKindOfClass: [NSArray class]]) {
259
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"Operator requires the value to be declared as an array." userInfo: nil];
260
+ }
261
+ [_having addObject: @[[ZIMSqlExpression prepareConnector: connector], [NSString stringWithFormat: @"%@ %@ %@ AND %@", [ZIMSqlExpression prepareIdentifier: column], operator, [ZIMSqlExpression prepareValue: [(NSArray *)value objectAtIndex: 0]], [ZIMSqlExpression prepareValue: [(NSArray *)value objectAtIndex: 1]]]]];
262
+ }
263
+ else {
264
+ if (([operator isEqualToString: ZIMSqlOperatorIn] || [operator isEqualToString: ZIMSqlOperatorNotIn]) && ![value isKindOfClass: [NSArray class]]) {
265
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"Operator requires the value to be declared as an array." userInfo: nil];
266
+ }
267
+ else if ([value isKindOfClass: [NSNull class]]) {
268
+ if ([operator isEqualToString: ZIMSqlOperatorEqualTo]) {
269
+ operator = ZIMSqlOperatorIs;
270
+ }
271
+ else if ([operator isEqualToString: ZIMSqlOperatorNotEqualTo] || [operator isEqualToString: @"!="]) {
272
+ operator = ZIMSqlOperatorIsNot;
273
+ }
274
+ }
275
+ [_having addObject: @[[ZIMSqlExpression prepareConnector: connector], [NSString stringWithFormat: @"%@ %@ %@", [ZIMSqlExpression prepareIdentifier: column], operator, [ZIMSqlExpression prepareValue: value]]]];
276
+ }
277
+ }
278
+ else {
279
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"Must declare a GROUP BY clause before declaring a constraint." userInfo: nil];
280
+ }
281
+ }
282
+
283
+ - (void) orderBy: (NSString *)column {
284
+ [self orderBy: column descending: NO nulls: nil];
285
+ }
286
+
287
+ - (void) orderBy: (NSString *)column descending: (BOOL)descending {
288
+ [self orderBy: column descending: descending nulls: nil];
289
+ }
290
+
291
+ - (void) orderBy: (NSString *)column nulls: (NSString *)weight {
292
+ [self orderBy: column descending: NO nulls: weight];
293
+ }
294
+
295
+ - (void) orderBy: (NSString *)column descending: (BOOL)descending nulls: (NSString *)weight {
296
+ NSString *field = [ZIMSqlExpression prepareIdentifier: column];
297
+ NSString *order = [ZIMSqlExpression prepareSortOrder: descending];
298
+ weight = [ZIMSqlExpression prepareSortWeight: weight];
299
+ if ([weight isEqualToString: @"FIRST"]) {
300
+ [_orderBy addObject: [NSString stringWithFormat: @"CASE WHEN %@ IS NULL THEN 0 ELSE 1 END, %@ %@", field, field, order]];
301
+ }
302
+ else if ([weight isEqualToString: @"LAST"]) {
303
+ [_orderBy addObject: [NSString stringWithFormat: @"CASE WHEN %@ IS NULL THEN 1 ELSE 0 END, %@ %@", field, field, order]];
304
+ }
305
+ else {
306
+ [_orderBy addObject: [NSString stringWithFormat: @"%@ %@", field, order]];
307
+ }
308
+ }
309
+
310
+ - (void) limit: (NSUInteger)limit {
311
+ _limit = limit;
312
+ }
313
+
314
+ - (void) limit: (NSUInteger)limit offset: (NSUInteger)offset {
315
+ _limit = limit;
316
+ _offset = offset;
317
+ }
318
+
319
+ - (void) offset: (NSUInteger)offset {
320
+ _offset = offset;
321
+ }
322
+
323
+ - (void) combine: (NSString *)statement operator: (NSString *)operator {
324
+ statement = [statement stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString: @" ;\n\r\t\f"]];
325
+ if (![statement matchesRegex: @"^select .+$" options: NSRegularExpressionCaseInsensitive]) {
326
+ @throw [NSException exceptionWithName: @"ZIMSqlException" reason: @"May only combine a select statement." userInfo: nil];
327
+ }
328
+ [_combine addObject: [NSString stringWithFormat: @"%@ %@", [ZIMSqlExpression prepareOperator: operator ofType: @"SET"], statement]];
329
+ }
330
+
331
+ - (NSString *) statement {
332
+ NSMutableString *sql = [[NSMutableString alloc] init];
333
+
334
+ [sql appendString: @"SELECT "];
335
+
336
+ if (_distinct) {
337
+ [sql appendString: @"DISTINCT "];
338
+ }
339
+
340
+ if ([_column count] > 0) {
341
+ [sql appendString: [_column componentsJoinedByString: @", "]];
342
+ }
343
+ else {
344
+ [sql appendString: _all];
345
+ }
346
+
347
+ if ([_table count] > 0) {
348
+ [sql appendString: @" FROM "];
349
+ [sql appendString: [_table componentsJoinedByString: @", "]];
350
+ }
351
+
352
+ for (NSArray *join in _join) {
353
+ [sql appendFormat: @" %@", [join objectAtIndex: 0]];
354
+ NSArray *joinCondition = (NSArray *)[join objectAtIndex: 1];
355
+ if ([joinCondition count] > 0) {
356
+ [sql appendString: @" ON ("];
357
+ int i = 0;
358
+ for (NSArray *joinParts in joinCondition) {
359
+ NSString *onClause = [joinParts objectAtIndex: 1];
360
+ if (i > 0) {
361
+ [sql appendFormat: @" %@ ", [joinParts objectAtIndex: 0]];
362
+ }
363
+ [sql appendString: onClause];
364
+ i++;
365
+ }
366
+ [sql appendString: @")"];
367
+ }
368
+ else {
369
+ joinCondition = (NSArray *)[join objectAtIndex: 2];
370
+ if ([joinCondition count] > 0) {
371
+ [sql appendFormat: @" USING (%@)", [joinCondition componentsJoinedByString: @", "]];
372
+ }
373
+ }
374
+ }
375
+
376
+ if ([_where count] > 0) {
377
+ BOOL doAppendConnector = NO;
378
+ [sql appendString: @" WHERE "];
379
+ for (NSArray *where in _where) {
380
+ NSString *whereClause = [where objectAtIndex: 1];
381
+ if (doAppendConnector && ![whereClause isEqualToString: ZIMSqlEnclosureClosingBrace]) {
382
+ [sql appendFormat: @" %@ ", [where objectAtIndex: 0]];
383
+ }
384
+ [sql appendString: whereClause];
385
+ doAppendConnector = (![whereClause isEqualToString: ZIMSqlEnclosureOpeningBrace]);
386
+ }
387
+ }
388
+
389
+ if ([_groupBy count] > 0) {
390
+ [sql appendFormat: @" GROUP BY %@", [_groupBy componentsJoinedByString: @", "]];
391
+ }
392
+
393
+ if ([_having count] > 0) {
394
+ BOOL doAppendConnector = NO;
395
+ [sql appendString: @" HAVING "];
396
+ for (NSArray *having in _having) {
397
+ NSString *havingClause = [having objectAtIndex: 1];
398
+ if (doAppendConnector && ![havingClause isEqualToString: ZIMSqlEnclosureClosingBrace]) {
399
+ [sql appendFormat: @" %@ ", [having objectAtIndex: 0]];
400
+ }
401
+ [sql appendString: havingClause];
402
+ doAppendConnector = (![havingClause isEqualToString: ZIMSqlEnclosureOpeningBrace]);
403
+ }
404
+ }
405
+
406
+ if ([_orderBy count] > 0) {
407
+ [sql appendFormat: @" ORDER BY %@", [_orderBy componentsJoinedByString: @", "]];
408
+ }
409
+
410
+ if (_limit > 0) {
411
+ [sql appendFormat: @" LIMIT %lu", (unsigned long)_limit];
412
+ }
413
+
414
+ if (_offset > 0) {
415
+ [sql appendFormat: @" OFFSET %lu", (unsigned long)_offset];
416
+ }
417
+
418
+ for (NSString *combine in _combine) {
419
+ [sql appendFormat: @" %@", combine];
420
+ }
421
+
422
+ [sql appendString: @";"];
423
+
424
+ return sql;
425
+ }
426
+
427
+ @end
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Copyright 2011-2015 Ziminji
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at:
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #import <Foundation/Foundation.h>
18
+ #import "ZIMSqlExpression.h"
19
+
20
+ /*!
21
+ @class ZIMSqlStatement
22
+ @discussion This protocol specifies the contract for an SQL statement.
23
+ @updated 2011-04-02
24
+ @see http://souptonuts.sourceforge.net/readme_sqlite_tutorial.html
25
+ */
26
+ @protocol ZIMSqlStatement <NSObject>
27
+
28
+ @required
29
+ /*!
30
+ @method statement
31
+ @discussion This method will return the SQL statement.
32
+ @return The SQL statement that was constructed.
33
+ @updated 2011-04-02
34
+ */
35
+ - (NSString *) statement;
36
+
37
+ @end
@@ -0,0 +1,16 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (c) 2026 JosueLMM
3
+
4
+ module MAURBackgroundGeolocation {
5
+ header "MAURBackgroundGeolocationFacade.h"
6
+ header "MAURConfig.h"
7
+ header "MAURLocation.h"
8
+ header "MAURActivity.h"
9
+ header "MAURProviderDelegate.h"
10
+ header "MAURLocationContract.h"
11
+ header "MAURBackgroundTaskManager.h"
12
+ header "MAURSQLiteLocationDAO.h"
13
+ header "MAURBackgroundSync.h"
14
+ header "MAURLogReader.h"
15
+ export *
16
+ }
package/package.json ADDED
@@ -0,0 +1,82 @@
1
+ {
2
+ "name": "@josuelmm/capacitor-background-geolocation",
3
+ "version": "1.0.0",
4
+ "description": "Capacitor 8+ plugin for accurate background geolocation tracking, driving-event detection, sync queue and OEM diagnostics on iOS and Android. Derived from @josuelmm/cordova-background-geolocation (fork of mauron85).",
5
+ "main": "dist/plugin.cjs.js",
6
+ "module": "dist/esm/index.js",
7
+ "types": "dist/esm/index.d.ts",
8
+ "unpkg": "dist/plugin.js",
9
+ "files": [
10
+ "android/src/main/",
11
+ "android/build.gradle",
12
+ "android/proguard-rules.pro",
13
+ "dist/",
14
+ "ios/Sources",
15
+ "ios/Tests",
16
+ "ios/common",
17
+ "Package.swift",
18
+ "JosuelmmCapacitorBackgroundGeolocation.podspec",
19
+ "LICENSE",
20
+ "NOTICE.md"
21
+ ],
22
+ "author": "JosueLMM <josuelmm92@gmail.com>",
23
+ "license": "Apache-2.0",
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/josuelmm/capacitor-background-geolocation.git"
27
+ },
28
+ "bugs": {
29
+ "url": "https://github.com/josuelmm/capacitor-background-geolocation/issues"
30
+ },
31
+ "homepage": "https://github.com/josuelmm/capacitor-background-geolocation#readme",
32
+ "scripts": {
33
+ "verify": "npm run verify:web",
34
+ "verify:ios": "xcodebuild -scheme JosuelmmCapacitorBackgroundGeolocation -destination generic/platform=iOS",
35
+ "verify:android": "cd android && ./gradlew clean build test && cd ..",
36
+ "verify:web": "npm run build",
37
+ "lint": "eslint . --ext ts && prettier --check \"**/*.{css,html,ts,js}\"",
38
+ "fmt": "eslint . --ext ts --fix && prettier --write \"**/*.{css,html,ts,js}\"",
39
+ "docgen": "docgen --api BackgroundGeolocationPlugin --output-readme README.md --output-json dist/docs.json",
40
+ "build": "npm run clean && tsc && rollup -c rollup.config.mjs",
41
+ "clean": "rimraf ./dist",
42
+ "watch": "tsc --watch",
43
+ "prepublishOnly": "npm run build"
44
+ },
45
+ "keywords": [
46
+ "capacitor",
47
+ "plugin",
48
+ "native",
49
+ "background",
50
+ "geolocation",
51
+ "location",
52
+ "gps",
53
+ "tracking",
54
+ "background-location"
55
+ ],
56
+ "devDependencies": {
57
+ "@capacitor/android": "^8.0.0",
58
+ "@capacitor/cli": "^8.0.0",
59
+ "@capacitor/core": "^8.0.0",
60
+ "@capacitor/docgen": "^0.3.1",
61
+ "@capacitor/ios": "^8.0.0",
62
+ "@ionic/eslint-config": "^0.4.0",
63
+ "@ionic/prettier-config": "^4.0.0",
64
+ "@types/node": "^20.0.0",
65
+ "eslint": "^8.57.1",
66
+ "prettier": "^3.3.3",
67
+ "rimraf": "^6.0.1",
68
+ "rollup": "^4.22.0",
69
+ "typescript": "^5.5.4"
70
+ },
71
+ "peerDependencies": {
72
+ "@capacitor/core": ">=8.0.0"
73
+ },
74
+ "capacitor": {
75
+ "ios": {
76
+ "src": "ios"
77
+ },
78
+ "android": {
79
+ "src": "android"
80
+ }
81
+ }
82
+ }