@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.
- package/BeekonRn.podspec +4 -4
- package/README.md +94 -48
- package/android/build.gradle +11 -6
- package/android/src/main/java/in/wayq/beekonrn/BeekonRnModule.kt +428 -0
- package/android/src/main/java/{com → in}/wayq/beekonrn/BeekonRnPackage.kt +1 -1
- package/ios/BeekonRn.h +5 -1
- package/ios/BeekonRn.mm +90 -34
- package/ios/BeekonRn.swift +396 -116
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/BeekonKit +0 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/Info.plist +0 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios.abi.json +8636 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios.swiftinterface +236 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/PrivacyInfo.xcprivacy +1 -1
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/BeekonKit +0 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Info.plist +0 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.abi.json +8636 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +236 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.abi.json +8636 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +236 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/PrivacyInfo.xcprivacy +1 -1
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/_CodeSignature/CodeResources +2 -14
- package/lib/module/NativeBeekonRn.js +22 -7
- package/lib/module/NativeBeekonRn.js.map +1 -1
- package/lib/module/beekon.js +209 -60
- package/lib/module/beekon.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/internal/mappers.js +145 -23
- package/lib/module/internal/mappers.js.map +1 -1
- package/lib/module/types/enums.js +2 -0
- package/lib/module/types/{preset.js.map → enums.js.map} +1 -1
- package/lib/module/types/error.js +25 -0
- package/lib/module/types/error.js.map +1 -0
- package/lib/module/types/geofence.js +2 -0
- package/lib/module/types/{position.js.map → geofence.js.map} +1 -1
- package/lib/module/types/location.js +4 -0
- package/lib/module/types/location.js.map +1 -0
- package/lib/module/types/sync.js +2 -0
- package/lib/module/types/sync.js.map +1 -0
- package/lib/typescript/src/NativeBeekonRn.d.ts +113 -35
- package/lib/typescript/src/NativeBeekonRn.d.ts.map +1 -1
- package/lib/typescript/src/beekon.d.ts +84 -49
- package/lib/typescript/src/beekon.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +7 -4
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/internal/mappers.d.ts +16 -3
- package/lib/typescript/src/internal/mappers.d.ts.map +1 -1
- package/lib/typescript/src/types/config.d.ts +53 -31
- package/lib/typescript/src/types/config.d.ts.map +1 -1
- package/lib/typescript/src/types/enums.d.ts +48 -0
- package/lib/typescript/src/types/enums.d.ts.map +1 -0
- package/lib/typescript/src/types/error.d.ts +20 -0
- package/lib/typescript/src/types/error.d.ts.map +1 -0
- package/lib/typescript/src/types/geofence.d.ts +36 -0
- package/lib/typescript/src/types/geofence.d.ts.map +1 -0
- package/lib/typescript/src/types/location.d.ts +40 -0
- package/lib/typescript/src/types/location.d.ts.map +1 -0
- package/lib/typescript/src/types/state.d.ts +18 -9
- package/lib/typescript/src/types/state.d.ts.map +1 -1
- package/lib/typescript/src/types/sync.d.ts +27 -0
- package/lib/typescript/src/types/sync.d.ts.map +1 -0
- package/package.json +5 -6
- package/scripts/fetch-beekonkit.sh +5 -2
- package/src/NativeBeekonRn.ts +120 -34
- package/src/beekon.ts +235 -63
- package/src/index.tsx +23 -4
- package/src/internal/mappers.ts +213 -22
- package/src/types/config.ts +54 -31
- package/src/types/enums.ts +64 -0
- package/src/types/error.ts +25 -0
- package/src/types/geofence.ts +37 -0
- package/src/types/location.ts +45 -0
- package/src/types/state.ts +23 -7
- package/src/types/sync.ts +23 -0
- package/android/src/main/java/com/wayq/beekonrn/BeekonRnModule.kt +0 -233
- package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeDirectory +0 -0
- package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeRequirements +0 -0
- package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
- package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeResources +0 -233
- package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeSignature +0 -0
- package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/_CodeSignature/CodeResources +0 -113
- package/lib/module/types/position.js +0 -2
- package/lib/module/types/preset.js +0 -2
- package/lib/typescript/src/types/position.d.ts +0 -24
- package/lib/typescript/src/types/position.d.ts.map +0 -1
- package/lib/typescript/src/types/preset.d.ts +0 -12
- package/lib/typescript/src/types/preset.d.ts.map +0 -1
- package/src/types/position.ts +0 -23
- 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
|
-
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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>
|
|
Binary file
|
|
@@ -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,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"}
|
package/src/types/position.ts
DELETED
|
@@ -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
|
-
};
|
package/src/types/preset.ts
DELETED
|
@@ -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';
|