@wayq/beekon-rn 0.0.1 → 0.0.5

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 (92) hide show
  1. package/BeekonRn.podspec +4 -4
  2. package/README.md +94 -48
  3. package/android/build.gradle +11 -6
  4. package/android/src/main/java/in/wayq/beekonrn/BeekonRnModule.kt +428 -0
  5. package/android/src/main/java/{com → in}/wayq/beekonrn/BeekonRnPackage.kt +1 -1
  6. package/ios/BeekonRn.h +5 -1
  7. package/ios/BeekonRn.mm +90 -34
  8. package/ios/BeekonRn.swift +396 -116
  9. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/BeekonKit +0 -0
  10. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/Info.plist +0 -0
  11. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios.abi.json +8636 -0
  12. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  13. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios.swiftinterface +236 -0
  14. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/PrivacyInfo.xcprivacy +1 -1
  15. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/BeekonKit +0 -0
  16. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Info.plist +0 -0
  17. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.abi.json +8636 -0
  18. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  19. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +236 -0
  20. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.abi.json +8636 -0
  21. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  22. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +236 -0
  23. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/PrivacyInfo.xcprivacy +1 -1
  24. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/_CodeSignature/CodeResources +2 -14
  25. package/lib/module/NativeBeekonRn.js +22 -7
  26. package/lib/module/NativeBeekonRn.js.map +1 -1
  27. package/lib/module/beekon.js +209 -60
  28. package/lib/module/beekon.js.map +1 -1
  29. package/lib/module/index.js +1 -0
  30. package/lib/module/index.js.map +1 -1
  31. package/lib/module/internal/mappers.js +145 -23
  32. package/lib/module/internal/mappers.js.map +1 -1
  33. package/lib/module/types/enums.js +2 -0
  34. package/lib/module/types/{preset.js.map → enums.js.map} +1 -1
  35. package/lib/module/types/error.js +25 -0
  36. package/lib/module/types/error.js.map +1 -0
  37. package/lib/module/types/geofence.js +2 -0
  38. package/lib/module/types/{position.js.map → geofence.js.map} +1 -1
  39. package/lib/module/types/location.js +4 -0
  40. package/lib/module/types/location.js.map +1 -0
  41. package/lib/module/types/sync.js +2 -0
  42. package/lib/module/types/sync.js.map +1 -0
  43. package/lib/typescript/src/NativeBeekonRn.d.ts +113 -35
  44. package/lib/typescript/src/NativeBeekonRn.d.ts.map +1 -1
  45. package/lib/typescript/src/beekon.d.ts +84 -49
  46. package/lib/typescript/src/beekon.d.ts.map +1 -1
  47. package/lib/typescript/src/index.d.ts +7 -4
  48. package/lib/typescript/src/index.d.ts.map +1 -1
  49. package/lib/typescript/src/internal/mappers.d.ts +16 -3
  50. package/lib/typescript/src/internal/mappers.d.ts.map +1 -1
  51. package/lib/typescript/src/types/config.d.ts +53 -31
  52. package/lib/typescript/src/types/config.d.ts.map +1 -1
  53. package/lib/typescript/src/types/enums.d.ts +48 -0
  54. package/lib/typescript/src/types/enums.d.ts.map +1 -0
  55. package/lib/typescript/src/types/error.d.ts +20 -0
  56. package/lib/typescript/src/types/error.d.ts.map +1 -0
  57. package/lib/typescript/src/types/geofence.d.ts +36 -0
  58. package/lib/typescript/src/types/geofence.d.ts.map +1 -0
  59. package/lib/typescript/src/types/location.d.ts +40 -0
  60. package/lib/typescript/src/types/location.d.ts.map +1 -0
  61. package/lib/typescript/src/types/state.d.ts +18 -9
  62. package/lib/typescript/src/types/state.d.ts.map +1 -1
  63. package/lib/typescript/src/types/sync.d.ts +27 -0
  64. package/lib/typescript/src/types/sync.d.ts.map +1 -0
  65. package/package.json +5 -6
  66. package/scripts/fetch-beekonkit.sh +5 -2
  67. package/src/NativeBeekonRn.ts +120 -34
  68. package/src/beekon.ts +235 -63
  69. package/src/index.tsx +23 -4
  70. package/src/internal/mappers.ts +213 -22
  71. package/src/types/config.ts +54 -31
  72. package/src/types/enums.ts +64 -0
  73. package/src/types/error.ts +25 -0
  74. package/src/types/geofence.ts +37 -0
  75. package/src/types/location.ts +45 -0
  76. package/src/types/state.ts +23 -7
  77. package/src/types/sync.ts +23 -0
  78. package/android/src/main/java/com/wayq/beekonrn/BeekonRnModule.kt +0 -233
  79. package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeDirectory +0 -0
  80. package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeRequirements +0 -0
  81. package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  82. package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeResources +0 -233
  83. package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeSignature +0 -0
  84. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/_CodeSignature/CodeResources +0 -113
  85. package/lib/module/types/position.js +0 -2
  86. package/lib/module/types/preset.js +0 -2
  87. package/lib/typescript/src/types/position.d.ts +0 -24
  88. package/lib/typescript/src/types/position.d.ts.map +0 -1
  89. package/lib/typescript/src/types/preset.d.ts +0 -12
  90. package/lib/typescript/src/types/preset.d.ts.map +0 -1
  91. package/src/types/position.ts +0 -23
  92. package/src/types/preset.ts +0 -11
@@ -1,233 +0,0 @@
1
- package com.wayq.beekonrn
2
-
3
- import com.facebook.react.bridge.Arguments
4
- import com.facebook.react.bridge.Promise
5
- import com.facebook.react.bridge.ReactApplicationContext
6
- import com.facebook.react.bridge.ReadableMap
7
- import com.facebook.react.bridge.WritableArray
8
- import com.facebook.react.bridge.WritableMap
9
- import com.wayq.beekon.Beekon
10
- import com.wayq.beekon.BeekonConfig
11
- import com.wayq.beekon.BeekonError
12
- import com.wayq.beekon.BeekonState
13
- import com.wayq.beekon.NotificationConfig
14
- import com.wayq.beekon.PauseReason
15
- import com.wayq.beekon.Position
16
- import com.wayq.beekon.Preset
17
- import java.time.Instant
18
- import kotlinx.coroutines.CoroutineScope
19
- import kotlinx.coroutines.Dispatchers
20
- import kotlinx.coroutines.Job
21
- import kotlinx.coroutines.SupervisorJob
22
- import kotlinx.coroutines.cancel
23
- import kotlinx.coroutines.flow.collect
24
- import kotlinx.coroutines.launch
25
-
26
- class BeekonRnModule(private val reactContext: ReactApplicationContext) :
27
- NativeBeekonRnSpec(reactContext) {
28
-
29
- // Default dispatcher (not Main.immediate) — Codegen's emitOnX is thread-safe
30
- // and marshals to JS internally, so collecting on Main buys nothing and
31
- // risks jank if any mapper does work. SupervisorJob so a single failure
32
- // doesn't tear down siblings.
33
- private val scope = CoroutineScope(SupervisorJob() + Dispatchers.Default)
34
- private var stateJob: Job? = null
35
- private var positionsJob: Job? = null
36
-
37
- override fun initialize(promise: Promise) {
38
- scope.launch {
39
- try {
40
- Beekon.initialize(reactContext.applicationContext)
41
-
42
- // Idempotent: re-init replaces collectors. Native flows are hot
43
- // (StateFlow / SharedFlow) so resubscription replays the latest value.
44
- stateJob?.cancel()
45
- positionsJob?.cancel()
46
- stateJob = scope.launch {
47
- Beekon.state.collect { s -> emitOnState(stateToWire(s)) }
48
- }
49
- positionsJob = scope.launch {
50
- Beekon.positions.collect { p -> emitOnPosition(positionToWire(p)) }
51
- }
52
- promise.resolve(null)
53
- } catch (t: Throwable) {
54
- promise.reject(errorCode(t), t.message ?: "init failed", t)
55
- }
56
- }
57
- }
58
-
59
- override fun configure(config: ReadableMap, promise: Promise) {
60
- scope.launch {
61
- try {
62
- Beekon.configure(wireToConfig(config))
63
- promise.resolve(null)
64
- } catch (t: Throwable) {
65
- promise.reject(errorCode(t), t.message ?: "configure failed", t)
66
- }
67
- }
68
- }
69
-
70
- override fun start(promise: Promise) {
71
- scope.launch {
72
- try {
73
- Beekon.start()
74
- promise.resolve(null)
75
- } catch (t: Throwable) {
76
- promise.reject(errorCode(t), t.message ?: "start failed", t)
77
- }
78
- }
79
- }
80
-
81
- override fun stop(promise: Promise) {
82
- scope.launch {
83
- try {
84
- Beekon.stop()
85
- promise.resolve(null)
86
- } catch (t: Throwable) {
87
- promise.reject(errorCode(t), t.message ?: "stop failed", t)
88
- }
89
- }
90
- }
91
-
92
- override fun shutdown(promise: Promise) {
93
- scope.launch {
94
- try {
95
- stateJob?.cancel()
96
- positionsJob?.cancel()
97
- Beekon.shutdown()
98
- promise.resolve(null)
99
- } catch (t: Throwable) {
100
- promise.reject(errorCode(t), t.message ?: "shutdown failed", t)
101
- }
102
- }
103
- }
104
-
105
- override fun history(fromMs: Double, toMs: Double, promise: Promise) {
106
- scope.launch {
107
- try {
108
- val from = Instant.ofEpochMilli(fromMs.toLong())
109
- val to = Instant.ofEpochMilli(toMs.toLong())
110
- val positions = Beekon.history(from, to)
111
- val arr: WritableArray = Arguments.createArray()
112
- for (p in positions) arr.pushMap(positionToWire(p))
113
- promise.resolve(arr)
114
- } catch (t: Throwable) {
115
- promise.reject(errorCode(t), t.message ?: "history failed", t)
116
- }
117
- }
118
- }
119
-
120
- override fun invalidate() {
121
- super.invalidate()
122
- scope.cancel()
123
- }
124
-
125
- // ---------------------------------------------------------------------------
126
- // Mappers (Wire ↔ Kotlin types)
127
- // ---------------------------------------------------------------------------
128
-
129
- private fun wireToConfig(map: ReadableMap): BeekonConfig {
130
- val preset = when (map.getString("preset")) {
131
- "saver" -> Preset.Saver
132
- "precision" -> Preset.Precision
133
- else -> Preset.Balanced
134
- }
135
- val distanceFilterMeters =
136
- if (map.hasKey("distanceFilterMeters") && !map.isNull("distanceFilterMeters"))
137
- map.getDouble("distanceFilterMeters").toFloat()
138
- else null
139
- val intervalMillis =
140
- if (map.hasKey("intervalMillis") && !map.isNull("intervalMillis"))
141
- map.getDouble("intervalMillis").toLong()
142
- else null
143
- val notifMap = map.getMap("androidNotification")
144
- ?: throw IllegalArgumentException(
145
- "androidNotification is required when running on Android"
146
- )
147
- val licenseKey =
148
- if (map.hasKey("licenseKey") && !map.isNull("licenseKey"))
149
- map.getString("licenseKey")
150
- else null
151
-
152
- return BeekonConfig(
153
- preset = preset,
154
- distanceFilterMeters = distanceFilterMeters,
155
- intervalMillis = intervalMillis,
156
- notification = wireToNotificationConfig(notifMap),
157
- licenseKey = licenseKey,
158
- )
159
- }
160
-
161
- private fun wireToNotificationConfig(map: ReadableMap): NotificationConfig {
162
- val resName = map.getString("smallIconResName")
163
- ?: throw IllegalArgumentException("smallIconResName is required")
164
- val pkg = reactContext.packageName
165
- val iconId = reactContext.resources.getIdentifier(resName, "drawable", pkg)
166
- if (iconId == 0) {
167
- throw IllegalArgumentException(
168
- "drawable resource '$resName' not found in package '$pkg'"
169
- )
170
- }
171
- return NotificationConfig(
172
- channelId = map.getString("channelId")
173
- ?: throw IllegalArgumentException("channelId is required"),
174
- channelName = map.getString("channelName")
175
- ?: throw IllegalArgumentException("channelName is required"),
176
- notificationId = map.getInt("notificationId"),
177
- title = map.getString("title")
178
- ?: throw IllegalArgumentException("title is required"),
179
- text = map.getString("text")
180
- ?: throw IllegalArgumentException("text is required"),
181
- smallIcon = iconId,
182
- )
183
- }
184
-
185
- private fun positionToWire(p: Position): WritableMap {
186
- val m = Arguments.createMap()
187
- m.putDouble("lat", p.lat)
188
- m.putDouble("lng", p.lng)
189
- m.putDouble("accuracy", p.accuracy.toDouble())
190
- m.putDouble("speed", p.speed.toDouble())
191
- m.putDouble("bearing", p.bearing.toDouble())
192
- m.putDouble("altitude", p.altitude)
193
- m.putDouble("timestampMs", p.timestamp.toEpochMilli().toDouble())
194
- return m
195
- }
196
-
197
- private fun stateToWire(s: BeekonState): WritableMap {
198
- val m = Arguments.createMap()
199
- when (s) {
200
- BeekonState.Idle -> m.putString("type", "idle")
201
- BeekonState.Starting -> m.putString("type", "starting")
202
- BeekonState.Tracking -> m.putString("type", "tracking")
203
- is BeekonState.Paused -> {
204
- m.putString("type", "paused")
205
- m.putString("pauseReason", pauseReasonToWire(s.reason))
206
- }
207
- BeekonState.Stopped -> m.putString("type", "stopped")
208
- }
209
- return m
210
- }
211
-
212
- private fun pauseReasonToWire(r: PauseReason): String = when (r) {
213
- PauseReason.PermissionRevoked -> "permissionRevoked"
214
- PauseReason.LocationDisabled -> "locationDisabled"
215
- PauseReason.Unknown -> "unknown"
216
- }
217
-
218
- // Maps native error sealed types to stable JS-side codes. Same code strings
219
- // on iOS so JS can switch on them platform-agnostically.
220
- private fun errorCode(t: Throwable): String = when (t) {
221
- is BeekonError.NotInitialised -> "NOT_INITIALISED"
222
- is BeekonError.NotConfigured -> "NOT_CONFIGURED"
223
- is BeekonError.PermissionDenied -> "PERMISSION_DENIED"
224
- is BeekonError.NoGmsAvailable -> "NO_GMS_AVAILABLE"
225
- is BeekonError.ServiceFailed -> "SERVICE_FAILED"
226
- is BeekonError.InternalError -> "INTERNAL_ERROR"
227
- else -> "INTERNAL_ERROR"
228
- }
229
-
230
- companion object {
231
- const val NAME = NativeBeekonRnSpec.NAME
232
- }
233
- }
@@ -1,233 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>files</key>
6
- <dict>
7
- <key>LICENSE.txt</key>
8
- <data>
9
- Cd50llceWtwBPWNSIAJRdTfQQiE=
10
- </data>
11
- <key>ios-arm64/BeekonKit.framework/BeekonKit</key>
12
- <data>
13
- SyrIBjwS5o/8csiCfKIXmBtvzio=
14
- </data>
15
- <key>ios-arm64/BeekonKit.framework/Info.plist</key>
16
- <data>
17
- 3d/2OPEwv55L8dW+0woT9NRCNi0=
18
- </data>
19
- <key>ios-arm64/BeekonKit.framework/PrivacyInfo.xcprivacy</key>
20
- <data>
21
- +Hzj9e+o3dYoDboCDA7ofM2a0kc=
22
- </data>
23
- <key>ios-arm64/BeekonKit.framework/_CodeSignature/CodeResources</key>
24
- <data>
25
- iZuijJG0soEo1jfi0V3NeqZXX4s=
26
- </data>
27
- <key>ios-arm64_x86_64-simulator/BeekonKit.framework/BeekonKit</key>
28
- <data>
29
- cEmeEm6qJLQueaJja0nxBKt+nEA=
30
- </data>
31
- <key>ios-arm64_x86_64-simulator/BeekonKit.framework/Info.plist</key>
32
- <data>
33
- w9rsPHfS6nhyFAFD48jpWHGzYuc=
34
- </data>
35
- <key>ios-arm64_x86_64-simulator/BeekonKit.framework/PrivacyInfo.xcprivacy</key>
36
- <data>
37
- +Hzj9e+o3dYoDboCDA7ofM2a0kc=
38
- </data>
39
- <key>ios-arm64_x86_64-simulator/BeekonKit.framework/_CodeSignature/CodeResources</key>
40
- <data>
41
- hbmbyZ85ag/7tawlrdWmUyumzVo=
42
- </data>
43
- </dict>
44
- <key>files2</key>
45
- <dict>
46
- <key>LICENSE.txt</key>
47
- <dict>
48
- <key>hash</key>
49
- <data>
50
- Cd50llceWtwBPWNSIAJRdTfQQiE=
51
- </data>
52
- <key>hash2</key>
53
- <data>
54
- PDylgJZfZxoKTHUmgv6aK1hRYtMtH4titPlIb7e5iRY=
55
- </data>
56
- </dict>
57
- <key>ios-arm64/BeekonKit.framework/BeekonKit</key>
58
- <dict>
59
- <key>hash</key>
60
- <data>
61
- SyrIBjwS5o/8csiCfKIXmBtvzio=
62
- </data>
63
- <key>hash2</key>
64
- <data>
65
- sJNDsLwayhdCOxwHz2nvh5hWAy7aH+1xYTklkXYLTVo=
66
- </data>
67
- </dict>
68
- <key>ios-arm64/BeekonKit.framework/Info.plist</key>
69
- <dict>
70
- <key>hash</key>
71
- <data>
72
- 3d/2OPEwv55L8dW+0woT9NRCNi0=
73
- </data>
74
- <key>hash2</key>
75
- <data>
76
- pwRHyHj1JmPCiUn+GAAwVdCWQOj+rrrs7WDjyfqTwcE=
77
- </data>
78
- </dict>
79
- <key>ios-arm64/BeekonKit.framework/PrivacyInfo.xcprivacy</key>
80
- <dict>
81
- <key>hash</key>
82
- <data>
83
- +Hzj9e+o3dYoDboCDA7ofM2a0kc=
84
- </data>
85
- <key>hash2</key>
86
- <data>
87
- E3plr2RiT1CPWdLg5VfDUw1k7yShykpszuDqfKG4YYw=
88
- </data>
89
- </dict>
90
- <key>ios-arm64/BeekonKit.framework/_CodeSignature/CodeResources</key>
91
- <dict>
92
- <key>hash</key>
93
- <data>
94
- iZuijJG0soEo1jfi0V3NeqZXX4s=
95
- </data>
96
- <key>hash2</key>
97
- <data>
98
- qgFb+LKTIRzW2w+dr7F9VFD6m1FpP0HSjHBtgwKpkxk=
99
- </data>
100
- </dict>
101
- <key>ios-arm64_x86_64-simulator/BeekonKit.framework/BeekonKit</key>
102
- <dict>
103
- <key>hash</key>
104
- <data>
105
- cEmeEm6qJLQueaJja0nxBKt+nEA=
106
- </data>
107
- <key>hash2</key>
108
- <data>
109
- 1OteRVaQF1w/938f/tCgu7XydD6pJkclY8MQ8rUpc4c=
110
- </data>
111
- </dict>
112
- <key>ios-arm64_x86_64-simulator/BeekonKit.framework/Info.plist</key>
113
- <dict>
114
- <key>hash</key>
115
- <data>
116
- w9rsPHfS6nhyFAFD48jpWHGzYuc=
117
- </data>
118
- <key>hash2</key>
119
- <data>
120
- Yr1G0VwEkAQ7fULqXaAcgXxuiXyV2ANn7hepvYQTcDo=
121
- </data>
122
- </dict>
123
- <key>ios-arm64_x86_64-simulator/BeekonKit.framework/PrivacyInfo.xcprivacy</key>
124
- <dict>
125
- <key>hash</key>
126
- <data>
127
- +Hzj9e+o3dYoDboCDA7ofM2a0kc=
128
- </data>
129
- <key>hash2</key>
130
- <data>
131
- E3plr2RiT1CPWdLg5VfDUw1k7yShykpszuDqfKG4YYw=
132
- </data>
133
- </dict>
134
- <key>ios-arm64_x86_64-simulator/BeekonKit.framework/_CodeSignature/CodeResources</key>
135
- <dict>
136
- <key>hash</key>
137
- <data>
138
- hbmbyZ85ag/7tawlrdWmUyumzVo=
139
- </data>
140
- <key>hash2</key>
141
- <data>
142
- wi0JVImM9cRW0rzNqoJGY96gS/irH4VrWsZvyoVDhZE=
143
- </data>
144
- </dict>
145
- </dict>
146
- <key>rules</key>
147
- <dict>
148
- <key>^.*</key>
149
- <true/>
150
- <key>^.*\.lproj/</key>
151
- <dict>
152
- <key>optional</key>
153
- <true/>
154
- <key>weight</key>
155
- <real>1000</real>
156
- </dict>
157
- <key>^.*\.lproj/locversion.plist$</key>
158
- <dict>
159
- <key>omit</key>
160
- <true/>
161
- <key>weight</key>
162
- <real>1100</real>
163
- </dict>
164
- <key>^Base\.lproj/</key>
165
- <dict>
166
- <key>weight</key>
167
- <real>1010</real>
168
- </dict>
169
- <key>^version.plist$</key>
170
- <true/>
171
- </dict>
172
- <key>rules2</key>
173
- <dict>
174
- <key>.*\.dSYM($|/)</key>
175
- <dict>
176
- <key>weight</key>
177
- <real>11</real>
178
- </dict>
179
- <key>^(.*/)?\.DS_Store$</key>
180
- <dict>
181
- <key>omit</key>
182
- <true/>
183
- <key>weight</key>
184
- <real>2000</real>
185
- </dict>
186
- <key>^.*</key>
187
- <true/>
188
- <key>^.*\.lproj/</key>
189
- <dict>
190
- <key>optional</key>
191
- <true/>
192
- <key>weight</key>
193
- <real>1000</real>
194
- </dict>
195
- <key>^.*\.lproj/locversion.plist$</key>
196
- <dict>
197
- <key>omit</key>
198
- <true/>
199
- <key>weight</key>
200
- <real>1100</real>
201
- </dict>
202
- <key>^Base\.lproj/</key>
203
- <dict>
204
- <key>weight</key>
205
- <real>1010</real>
206
- </dict>
207
- <key>^Info\.plist$</key>
208
- <dict>
209
- <key>omit</key>
210
- <true/>
211
- <key>weight</key>
212
- <real>20</real>
213
- </dict>
214
- <key>^PkgInfo$</key>
215
- <dict>
216
- <key>omit</key>
217
- <true/>
218
- <key>weight</key>
219
- <real>20</real>
220
- </dict>
221
- <key>^embedded\.provisionprofile$</key>
222
- <dict>
223
- <key>weight</key>
224
- <real>20</real>
225
- </dict>
226
- <key>^version\.plist$</key>
227
- <dict>
228
- <key>weight</key>
229
- <real>20</real>
230
- </dict>
231
- </dict>
232
- </dict>
233
- </plist>
@@ -1,113 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>files</key>
6
- <dict>
7
- <key>Info.plist</key>
8
- <data>
9
- 3d/2OPEwv55L8dW+0woT9NRCNi0=
10
- </data>
11
- <key>PrivacyInfo.xcprivacy</key>
12
- <data>
13
- +Hzj9e+o3dYoDboCDA7ofM2a0kc=
14
- </data>
15
- </dict>
16
- <key>files2</key>
17
- <dict>
18
- <key>PrivacyInfo.xcprivacy</key>
19
- <dict>
20
- <key>hash2</key>
21
- <data>
22
- E3plr2RiT1CPWdLg5VfDUw1k7yShykpszuDqfKG4YYw=
23
- </data>
24
- </dict>
25
- </dict>
26
- <key>rules</key>
27
- <dict>
28
- <key>^.*</key>
29
- <true/>
30
- <key>^.*\.lproj/</key>
31
- <dict>
32
- <key>optional</key>
33
- <true/>
34
- <key>weight</key>
35
- <real>1000</real>
36
- </dict>
37
- <key>^.*\.lproj/locversion.plist$</key>
38
- <dict>
39
- <key>omit</key>
40
- <true/>
41
- <key>weight</key>
42
- <real>1100</real>
43
- </dict>
44
- <key>^Base\.lproj/</key>
45
- <dict>
46
- <key>weight</key>
47
- <real>1010</real>
48
- </dict>
49
- <key>^version.plist$</key>
50
- <true/>
51
- </dict>
52
- <key>rules2</key>
53
- <dict>
54
- <key>.*\.dSYM($|/)</key>
55
- <dict>
56
- <key>weight</key>
57
- <real>11</real>
58
- </dict>
59
- <key>^(.*/)?\.DS_Store$</key>
60
- <dict>
61
- <key>omit</key>
62
- <true/>
63
- <key>weight</key>
64
- <real>2000</real>
65
- </dict>
66
- <key>^.*</key>
67
- <true/>
68
- <key>^.*\.lproj/</key>
69
- <dict>
70
- <key>optional</key>
71
- <true/>
72
- <key>weight</key>
73
- <real>1000</real>
74
- </dict>
75
- <key>^.*\.lproj/locversion.plist$</key>
76
- <dict>
77
- <key>omit</key>
78
- <true/>
79
- <key>weight</key>
80
- <real>1100</real>
81
- </dict>
82
- <key>^Base\.lproj/</key>
83
- <dict>
84
- <key>weight</key>
85
- <real>1010</real>
86
- </dict>
87
- <key>^Info\.plist$</key>
88
- <dict>
89
- <key>omit</key>
90
- <true/>
91
- <key>weight</key>
92
- <real>20</real>
93
- </dict>
94
- <key>^PkgInfo$</key>
95
- <dict>
96
- <key>omit</key>
97
- <true/>
98
- <key>weight</key>
99
- <real>20</real>
100
- </dict>
101
- <key>^embedded\.provisionprofile$</key>
102
- <dict>
103
- <key>weight</key>
104
- <real>20</real>
105
- </dict>
106
- <key>^version\.plist$</key>
107
- <dict>
108
- <key>weight</key>
109
- <real>20</real>
110
- </dict>
111
- </dict>
112
- </dict>
113
- </plist>
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=position.js.map
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=preset.js.map
@@ -1,24 +0,0 @@
1
- /**
2
- * A single location fix as emitted by the native SDK after gating. Fields map
3
- * 1:1 to `com.wayq.beekon.Position` on Android and `Beekon.Position` on iOS.
4
- *
5
- * The SDK does NOT smooth or filter positions beyond the gate — values are
6
- * forwarded as the OS provider reported them (raw passthrough).
7
- */
8
- export type Position = {
9
- /** Latitude in degrees, WGS-84. */
10
- lat: number;
11
- /** Longitude in degrees, WGS-84. */
12
- lng: number;
13
- /** Horizontal accuracy in meters (1-sigma). */
14
- accuracy: number;
15
- /** Speed in m/s. May be 0 if the OS provider doesn't supply it. */
16
- speed: number;
17
- /** Bearing in degrees clockwise from true north. */
18
- bearing: number;
19
- /** Altitude in meters above the WGS-84 ellipsoid. */
20
- altitude: number;
21
- /** Time the OS provider reported this fix (not when JS received it). */
22
- timestamp: Date;
23
- };
24
- //# sourceMappingURL=position.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../../src/types/position.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Sampling preset. Determines the gating interval and distance threshold the
3
- * native SDK uses before emitting a position. Per `docs/REQUIREMENTS.md`:
4
- *
5
- * | Preset | Interval | Distance | Battery (typical) |
6
- * |-----------|----------|----------|-------------------|
7
- * | saver | 60_000ms | 150 m | 3–8% |
8
- * | balanced | 30_000ms | 100 m | 5–10% |
9
- * | precision | 10_000ms | 30 m | 15–25% |
10
- */
11
- export type Preset = 'saver' | 'balanced' | 'precision';
12
- //# sourceMappingURL=preset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../../../src/types/preset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * A single location fix as emitted by the native SDK after gating. Fields map
3
- * 1:1 to `com.wayq.beekon.Position` on Android and `Beekon.Position` on iOS.
4
- *
5
- * The SDK does NOT smooth or filter positions beyond the gate — values are
6
- * forwarded as the OS provider reported them (raw passthrough).
7
- */
8
- export type Position = {
9
- /** Latitude in degrees, WGS-84. */
10
- lat: number;
11
- /** Longitude in degrees, WGS-84. */
12
- lng: number;
13
- /** Horizontal accuracy in meters (1-sigma). */
14
- accuracy: number;
15
- /** Speed in m/s. May be 0 if the OS provider doesn't supply it. */
16
- speed: number;
17
- /** Bearing in degrees clockwise from true north. */
18
- bearing: number;
19
- /** Altitude in meters above the WGS-84 ellipsoid. */
20
- altitude: number;
21
- /** Time the OS provider reported this fix (not when JS received it). */
22
- timestamp: Date;
23
- };
@@ -1,11 +0,0 @@
1
- /**
2
- * Sampling preset. Determines the gating interval and distance threshold the
3
- * native SDK uses before emitting a position. Per `docs/REQUIREMENTS.md`:
4
- *
5
- * | Preset | Interval | Distance | Battery (typical) |
6
- * |-----------|----------|----------|-------------------|
7
- * | saver | 60_000ms | 150 m | 3–8% |
8
- * | balanced | 30_000ms | 100 m | 5–10% |
9
- * | precision | 10_000ms | 30 m | 15–25% |
10
- */
11
- export type Preset = 'saver' | 'balanced' | 'precision';