@wayq/beekon-rn 0.0.1 → 0.0.3

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 (78) hide show
  1. package/BeekonRn.podspec +3 -3
  2. package/README.md +24 -30
  3. package/android/build.gradle +3 -3
  4. package/android/src/main/java/in/wayq/beekonrn/BeekonRnModule.kt +182 -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 +15 -25
  8. package/ios/BeekonRn.swift +96 -116
  9. package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeDirectory +0 -0
  10. package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeResources +105 -42
  11. package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeSignature +0 -0
  12. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/BeekonKit +0 -0
  13. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/Info.plist +0 -0
  14. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios.abi.json +2427 -0
  15. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  16. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios.swiftinterface +85 -0
  17. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/PrivacyInfo.xcprivacy +1 -1
  18. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64/BeekonKit.framework/_CodeSignature/CodeResources +36 -3
  19. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/BeekonKit +0 -0
  20. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Info.plist +0 -0
  21. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.abi.json +2427 -0
  22. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  23. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +85 -0
  24. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.abi.json +2427 -0
  25. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  26. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +85 -0
  27. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/PrivacyInfo.xcprivacy +1 -1
  28. package/ios/Frameworks/BeekonKit.xcframework/ios-arm64_x86_64-simulator/BeekonKit.framework/_CodeSignature/CodeResources +69 -3
  29. package/lib/module/NativeBeekonRn.js +2 -2
  30. package/lib/module/NativeBeekonRn.js.map +1 -1
  31. package/lib/module/beekon.js +50 -53
  32. package/lib/module/beekon.js.map +1 -1
  33. package/lib/module/index.js +1 -0
  34. package/lib/module/index.js.map +1 -1
  35. package/lib/module/internal/mappers.js +49 -21
  36. package/lib/module/internal/mappers.js.map +1 -1
  37. package/lib/module/types/config.js +0 -2
  38. package/lib/module/types/error.js +19 -0
  39. package/lib/module/types/error.js.map +1 -0
  40. package/lib/module/types/location.js +2 -0
  41. package/lib/module/types/{position.js.map → location.js.map} +1 -1
  42. package/lib/typescript/src/NativeBeekonRn.d.ts +22 -26
  43. package/lib/typescript/src/NativeBeekonRn.d.ts.map +1 -1
  44. package/lib/typescript/src/beekon.d.ts +29 -42
  45. package/lib/typescript/src/beekon.d.ts.map +1 -1
  46. package/lib/typescript/src/index.d.ts +3 -3
  47. package/lib/typescript/src/index.d.ts.map +1 -1
  48. package/lib/typescript/src/internal/mappers.d.ts +10 -3
  49. package/lib/typescript/src/internal/mappers.d.ts.map +1 -1
  50. package/lib/typescript/src/types/config.d.ts +23 -31
  51. package/lib/typescript/src/types/config.d.ts.map +1 -1
  52. package/lib/typescript/src/types/error.d.ts +14 -0
  53. package/lib/typescript/src/types/error.d.ts.map +1 -0
  54. package/lib/typescript/src/types/location.d.ts +26 -0
  55. package/lib/typescript/src/types/location.d.ts.map +1 -0
  56. package/lib/typescript/src/types/state.d.ts +9 -9
  57. package/lib/typescript/src/types/state.d.ts.map +1 -1
  58. package/package.json +2 -2
  59. package/scripts/fetch-beekonkit.sh +5 -2
  60. package/src/NativeBeekonRn.ts +22 -26
  61. package/src/beekon.ts +58 -56
  62. package/src/index.tsx +3 -3
  63. package/src/internal/mappers.ts +52 -18
  64. package/src/types/config.ts +23 -32
  65. package/src/types/error.ts +22 -0
  66. package/src/types/location.ts +25 -0
  67. package/src/types/state.ts +13 -7
  68. package/android/src/main/java/com/wayq/beekonrn/BeekonRnModule.kt +0 -233
  69. package/ios/Frameworks/BeekonKit.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  70. package/lib/module/types/position.js +0 -2
  71. package/lib/module/types/preset.js +0 -2
  72. package/lib/module/types/preset.js.map +0 -1
  73. package/lib/typescript/src/types/position.d.ts +0 -24
  74. package/lib/typescript/src/types/position.d.ts.map +0 -1
  75. package/lib/typescript/src/types/preset.d.ts +0 -12
  76. package/lib/typescript/src/types/preset.d.ts.map +0 -1
  77. package/src/types/position.ts +0 -23
  78. package/src/types/preset.ts +0 -11
@@ -0,0 +1,85 @@
1
+ // swift-interface-format-version: 1.0
2
+ // swift-compiler-version: Apple Swift version 6.2.3 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
3
+ // swift-module-flags: -target x86_64-apple-ios17.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 6 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -module-name BeekonKit -package-name beekon_ios
4
+ // swift-module-flags-ignorable: -no-verify-emitted-module-interface -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
5
+ import CoreLocation
6
+ import Foundation
7
+ import Foundation/*.Bundle*/
8
+ import Foundation/*.ProcessInfo*/
9
+ import Foundation/*.URL*/
10
+ import Swift
11
+ import _Concurrency
12
+ import _StringProcessing
13
+ import _SwiftConcurrencyShims
14
+ import os
15
+ @_hasMissingDesignatedInitializers public actor Beekon {
16
+ public static let shared: BeekonKit.Beekon
17
+ public func configure(_ config: BeekonKit.BeekonConfig)
18
+ public func start() async throws
19
+ public func stop() async
20
+ public func locations(from: Foundation.Date, to: Foundation.Date) async throws -> [BeekonKit.Location]
21
+ public var state: _Concurrency.AsyncStream<BeekonKit.BeekonState> {
22
+ get
23
+ }
24
+ public var locations: _Concurrency.AsyncStream<BeekonKit.Location> {
25
+ get
26
+ }
27
+ @objc deinit
28
+ @available(iOS 13.0, tvOS 13.0, watchOS 6.0, macOS 10.15, *)
29
+ @_semantics("defaultActor") nonisolated final public var unownedExecutor: _Concurrency.UnownedSerialExecutor {
30
+ get
31
+ }
32
+ }
33
+ public struct BeekonConfig : Swift.Sendable, Swift.Equatable, Swift.Hashable {
34
+ public var intervalSeconds: Foundation.TimeInterval
35
+ public var distanceMeters: Swift.Double
36
+ public static let `default`: BeekonKit.BeekonConfig
37
+ public init(intervalSeconds: Foundation.TimeInterval = 30, distanceMeters: Swift.Double = 100)
38
+ public static func == (a: BeekonKit.BeekonConfig, b: BeekonKit.BeekonConfig) -> Swift.Bool
39
+ public func hash(into hasher: inout Swift.Hasher)
40
+ public var hashValue: Swift.Int {
41
+ get
42
+ }
43
+ }
44
+ public enum BeekonError : Swift.Error, Swift.Sendable {
45
+ case permissionDenied
46
+ case locationServicesDisabled
47
+ case storageFailure(any Swift.Error)
48
+ }
49
+ public enum BeekonState : Swift.Sendable, Swift.Equatable, Swift.Hashable {
50
+ case idle
51
+ case tracking
52
+ case stopped(reason: BeekonKit.StopReason)
53
+ public static func == (a: BeekonKit.BeekonState, b: BeekonKit.BeekonState) -> Swift.Bool
54
+ public func hash(into hasher: inout Swift.Hasher)
55
+ public var hashValue: Swift.Int {
56
+ get
57
+ }
58
+ }
59
+ public enum StopReason : Swift.Sendable, Swift.Equatable, Swift.Hashable {
60
+ case user
61
+ case permissionDenied
62
+ case locationServicesDisabled
63
+ public static func == (a: BeekonKit.StopReason, b: BeekonKit.StopReason) -> Swift.Bool
64
+ public func hash(into hasher: inout Swift.Hasher)
65
+ public var hashValue: Swift.Int {
66
+ get
67
+ }
68
+ }
69
+ public struct Location : Swift.Sendable, Swift.Equatable, Swift.Hashable {
70
+ public let lat: Swift.Double
71
+ public let lng: Swift.Double
72
+ public let accuracy: Swift.Double?
73
+ public let speed: Swift.Double?
74
+ public let bearing: Swift.Double?
75
+ public let altitude: Swift.Double?
76
+ public let timestamp: Foundation.Date
77
+ #if compiler(>=5.3) && $NonescapableTypes
78
+ public init(lat: Swift.Double, lng: Swift.Double, timestamp: Foundation.Date, accuracy: Swift.Double? = nil, speed: Swift.Double? = nil, bearing: Swift.Double? = nil, altitude: Swift.Double? = nil)
79
+ #endif
80
+ public static func == (a: BeekonKit.Location, b: BeekonKit.Location) -> Swift.Bool
81
+ public func hash(into hasher: inout Swift.Hasher)
82
+ public var hashValue: Swift.Int {
83
+ get
84
+ }
85
+ }
@@ -48,7 +48,7 @@
48
48
  <!--
49
49
  Required-Reason APIs we use:
50
50
  - UserDefaults (CA92.1): StateHolder/TrackingPersistence stores the
51
- last-known tracking config in the com.wayq.beekon UserDefaults suite
51
+ last-known tracking config in the in.wayq.beekon UserDefaults suite
52
52
  so SLC-driven relaunches can auto-restore tracking.
53
53
  - File timestamp (3B52.1): GRDB queries timestamps on its own SQLite
54
54
  database file inside the host app's container.
@@ -6,20 +6,86 @@
6
6
  <dict>
7
7
  <key>Info.plist</key>
8
8
  <data>
9
- w9rsPHfS6nhyFAFD48jpWHGzYuc=
9
+ uIBZEl29bIa6BD82AJqNnqxItQ8=
10
+ </data>
11
+ <key>Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
12
+ <data>
13
+ VX3G5xWaHufjuctExyD3KxnvPKo=
14
+ </data>
15
+ <key>Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
16
+ <data>
17
+ N69rpbNFqxF9nC3LxN0wVnxXtGI=
18
+ </data>
19
+ <key>Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
20
+ <data>
21
+ OwWAJveN4oSVFdX/aWzFdGsMh5s=
22
+ </data>
23
+ <key>Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
24
+ <data>
25
+ VX3G5xWaHufjuctExyD3KxnvPKo=
26
+ </data>
27
+ <key>Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
28
+ <data>
29
+ jNcXtOMMcpL2++xWcYLei9tqS5w=
30
+ </data>
31
+ <key>Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
32
+ <data>
33
+ aX58esTNE/RvDF6suImnsEDQMTM=
10
34
  </data>
11
35
  <key>PrivacyInfo.xcprivacy</key>
12
36
  <data>
13
- +Hzj9e+o3dYoDboCDA7ofM2a0kc=
37
+ 9ZHPJ6MUYP0Ios5LKP+bfuWVxJk=
14
38
  </data>
15
39
  </dict>
16
40
  <key>files2</key>
17
41
  <dict>
42
+ <key>Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
43
+ <dict>
44
+ <key>hash2</key>
45
+ <data>
46
+ 9WWtJ/SunDN+RNh+QhuE+dUtw0x58nNbt9gYBn3XlBE=
47
+ </data>
48
+ </dict>
49
+ <key>Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
50
+ <dict>
51
+ <key>hash2</key>
52
+ <data>
53
+ kiW5NMFrXxi4aekbMu1hT1jL4NsFbUsT5gwvjIUim48=
54
+ </data>
55
+ </dict>
56
+ <key>Modules/BeekonKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
57
+ <dict>
58
+ <key>hash2</key>
59
+ <data>
60
+ v/Cfl3tF13LG5nhjGFypVGQvacvwZ+VAdyy0Iy6c994=
61
+ </data>
62
+ </dict>
63
+ <key>Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
64
+ <dict>
65
+ <key>hash2</key>
66
+ <data>
67
+ 9WWtJ/SunDN+RNh+QhuE+dUtw0x58nNbt9gYBn3XlBE=
68
+ </data>
69
+ </dict>
70
+ <key>Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
71
+ <dict>
72
+ <key>hash2</key>
73
+ <data>
74
+ GMOMoBM3ikrulB6x4+R3kPTTGUXqZ5eueJPYsJ4NkaU=
75
+ </data>
76
+ </dict>
77
+ <key>Modules/BeekonKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
78
+ <dict>
79
+ <key>hash2</key>
80
+ <data>
81
+ cP2NWEZSOyc/7TF6zwN7la0671FBm2P9UHwb1WLWAog=
82
+ </data>
83
+ </dict>
18
84
  <key>PrivacyInfo.xcprivacy</key>
19
85
  <dict>
20
86
  <key>hash2</key>
21
87
  <data>
22
- E3plr2RiT1CPWdLg5VfDUw1k7yShykpszuDqfKG4YYw=
88
+ KNi008FJ9ZF/nLOH4DadbEUqysKXh/HjMAmdLdidn4c=
23
89
  </data>
24
90
  </dict>
25
91
  </dict>
@@ -7,8 +7,8 @@
7
7
  *
8
8
  * Wire types are flat (primitives + nested flat objects) because Codegen's
9
9
  * TS-to-Kotlin/ObjC type derivation has limited support for unions and
10
- * recursive structures. State variants are encoded as a `type` discriminator
11
- * string with sibling fields nullable per variant.
10
+ * recursive structures. The state variants are encoded as a `type`
11
+ * discriminator string with sibling fields nullable per variant.
12
12
  */
13
13
 
14
14
  import { TurboModuleRegistry } from 'react-native';
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeBeekonRn.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,mBAAmB,QAAQ,cAAc;AAoDlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,UAAU,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeBeekonRn.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,mBAAmB,QAAQ,cAAc;AAgDlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,UAAU,CAAC","ignoreList":[]}
@@ -1,92 +1,89 @@
1
1
  "use strict";
2
2
 
3
3
  import NativeBeekon from "./NativeBeekonRn.js";
4
- import { configToWire, wireToPosition, wireToState } from "./internal/mappers.js";
4
+ import { configToWire, wireToLocation, wireToState, rethrowAsBeekonError } from "./internal/mappers.js";
5
5
 
6
6
  /**
7
7
  * Public facade for the Beekon SDK. Mirrors the native APIs:
8
8
  *
9
- * - Android: `com.wayq.beekon.Beekon` (object)
10
- * - iOS: `Beekon.shared` (actor)
9
+ * - Android: `in.wayq.beekon.Beekon` (object)
10
+ * - iOS: `BeekonKit.Beekon.shared` (actor)
11
11
  *
12
- * Lifecycle: `init()` once → `configure(config)` → `start()` → ... →
13
- * `stop()` (idempotent) or `shutdown()` (final teardown). Subscribe to
14
- * `onState` / `onPosition` for live updates; query `history(from, to)` for
15
- * persisted points.
12
+ * Lifecycle: `configure(config)` → `start()` → ... → `stop()` (idempotent).
13
+ * Subscribe to `onState` / `onLocation` for live updates; query
14
+ * `history(from, to)` for persisted fixes.
16
15
  *
17
16
  * **Threading:** Methods are safe to call from any JS context. Subscribers'
18
17
  * callbacks fire on the JS thread.
19
18
  *
20
- * **Persistence invariant:** the SDK persists every gated position natively;
21
- * JS is a passive observer. In background, the JS engine is not guaranteed to
22
- * be alive — for past points, use `history()`.
19
+ * **Persistence invariant:** the SDK persists every gated fix natively; JS is
20
+ * a passive observer. In background, the JS engine is not guaranteed to be
21
+ * alive — for past fixes, use `history()`.
23
22
  */
24
23
  class BeekonImpl {
25
24
  /**
26
- * Initialize the SDK. Idempotent; safe to call more than once. Must be
27
- * called once before `configure()`.
25
+ * Set tracking parameters. Optional `start()` falls back to the previously
26
+ * persisted config or the SDK default (30s / 100m) if never configured.
28
27
  *
29
- * Errors:
30
- * - `NO_GMS_AVAILABLE` (Android) Google Play Services missing.
31
- */
32
- async init() {
33
- return NativeBeekon.initialize();
34
- }
35
-
36
- /**
37
- * Set sampling and platform-specific config. Replaces any previous config.
38
- * Must be called before `start()`.
39
- *
40
- * Errors:
41
- * - `NOT_INITIALISED` — `init()` was not called first.
42
- * - `NOT_CONFIGURED` — Android only, `androidNotification` was missing.
28
+ * While tracking, the new gate values take effect on the next admitted fix
29
+ * without restarting the underlying location subscription.
43
30
  */
44
31
  async configure(config) {
45
- return NativeBeekon.configure(configToWire(config));
32
+ try {
33
+ await NativeBeekon.configure(configToWire(config));
34
+ } catch (e) {
35
+ rethrowAsBeekonError(e);
36
+ }
46
37
  }
47
38
 
48
39
  /**
49
- * Begin tracking. Transitions state from `idle` → `starting` → `tracking`.
40
+ * Begin tracking. State transitions to `tracking`.
50
41
  *
51
- * Errors:
52
- * - `PERMISSION_DENIED` — location permission not granted.
53
- * - `LOCATION_SERVICES_DISABLED` (iOS) — system location services off.
54
- * - `SERVICE_FAILED` — native service couldn't start.
42
+ * Throws a `BeekonError` with kind:
43
+ * - `'permissionDenied'` — location permission not granted.
44
+ * - `'locationServicesDisabled'` — system location services off (or GMS
45
+ * unavailable on Android).
55
46
  */
56
47
  async start() {
57
- return NativeBeekon.start();
48
+ try {
49
+ await NativeBeekon.start();
50
+ } catch (e) {
51
+ rethrowAsBeekonError(e);
52
+ }
58
53
  }
59
54
 
60
- /** Stop tracking. Idempotent. State `stopped`. */
55
+ /** Stop tracking. Idempotent. State transitions to `stopped(user)`. */
61
56
  async stop() {
62
- return NativeBeekon.stop();
57
+ try {
58
+ await NativeBeekon.stop();
59
+ } catch (e) {
60
+ rethrowAsBeekonError(e);
61
+ }
63
62
  }
64
63
 
65
64
  /**
66
- * Final teardown releases native resources. Most apps don't need this;
67
- * `stop()` is sufficient between sessions.
68
- */
69
- async shutdown() {
70
- return NativeBeekon.shutdown();
71
- }
72
-
73
- /**
74
- * Read persisted positions in the time range [from, to]. Returns positions
75
- * in chronological order. Reads come from the SDK's local storage (Room on
65
+ * Read persisted fixes in the time range [from, to]. Returns fixes in
66
+ * chronological order. Reads come from the SDK's local storage (Room on
76
67
  * Android, GRDB on iOS) — the source of truth even when JS was asleep.
77
68
  *
78
- * Retention: positions older than 7 days OR beyond the most recent 100K are
69
+ * Retention: fixes older than 7 days OR beyond the most recent 100K are
79
70
  * pruned automatically.
71
+ *
72
+ * Throws `BeekonError` with kind `'storageFailure'` on database read failure.
80
73
  */
81
74
  async history(from, to) {
82
- const wires = await NativeBeekon.history(from.getTime(), to.getTime());
83
- return wires.map(wireToPosition);
75
+ try {
76
+ const wires = await NativeBeekon.history(from.getTime(), to.getTime());
77
+ return wires.map(wireToLocation);
78
+ } catch (e) {
79
+ rethrowAsBeekonError(e);
80
+ }
84
81
  }
85
82
 
86
83
  /**
87
84
  * Subscribe to state transitions. Returns an unsubscribe function. The
88
85
  * current state is delivered to new subscribers immediately (replay-1
89
- * semantics, matching the native `state` flow).
86
+ * semantics, matching the native `state` flow / AsyncStream).
90
87
  */
91
88
  onState(cb) {
92
89
  const subscription = NativeBeekon.onState(wire => cb(wireToState(wire)));
@@ -94,12 +91,12 @@ class BeekonImpl {
94
91
  }
95
92
 
96
93
  /**
97
- * Subscribe to gated positions as they arrive. Returns an unsubscribe
94
+ * Subscribe to gated locations as they arrive. Returns an unsubscribe
98
95
  * function. Broadcast (no replay) — only delivers while the JS engine is
99
- * alive. For points emitted while JS was asleep, use `history()`.
96
+ * alive. For fixes emitted while JS was asleep, use `history()`.
100
97
  */
101
- onPosition(cb) {
102
- const subscription = NativeBeekon.onPosition(wire => cb(wireToPosition(wire)));
98
+ onLocation(cb) {
99
+ const subscription = NativeBeekon.onLocation(wire => cb(wireToLocation(wire)));
103
100
  return () => subscription.remove();
104
101
  }
105
102
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NativeBeekon","configToWire","wireToPosition","wireToState","BeekonImpl","init","initialize","configure","config","start","stop","shutdown","history","from","to","wires","getTime","map","onState","cb","subscription","wire","remove","onPosition","Beekon"],"sourceRoot":"../../src","sources":["beekon.ts"],"mappings":";;AAAA,OAAOA,YAAY,MAAM,qBAAkB;AAI3C,SAASC,YAAY,EAAEC,cAAc,EAAEC,WAAW,QAAQ,uBAAoB;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,UAAU,CAAC;EACf;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,IAAIA,CAAA,EAAkB;IAC1B,OAAOL,YAAY,CAACM,UAAU,CAAC,CAAC;EAClC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,SAASA,CAACC,MAAoB,EAAiB;IACnD,OAAOR,YAAY,CAACO,SAAS,CAACN,YAAY,CAACO,MAAM,CAAC,CAAC;EACrD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,KAAKA,CAAA,EAAkB;IAC3B,OAAOT,YAAY,CAACS,KAAK,CAAC,CAAC;EAC7B;;EAEA;EACA,MAAMC,IAAIA,CAAA,EAAkB;IAC1B,OAAOV,YAAY,CAACU,IAAI,CAAC,CAAC;EAC5B;;EAEA;AACF;AACA;AACA;EACE,MAAMC,QAAQA,CAAA,EAAkB;IAC9B,OAAOX,YAAY,CAACW,QAAQ,CAAC,CAAC;EAChC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,OAAOA,CAACC,IAAU,EAAEC,EAAQ,EAAuB;IACvD,MAAMC,KAAK,GAAG,MAAMf,YAAY,CAACY,OAAO,CAACC,IAAI,CAACG,OAAO,CAAC,CAAC,EAAEF,EAAE,CAACE,OAAO,CAAC,CAAC,CAAC;IACtE,OAAOD,KAAK,CAACE,GAAG,CAACf,cAAc,CAAC;EAClC;;EAEA;AACF;AACA;AACA;AACA;EACEgB,OAAOA,CAACC,EAA4B,EAAc;IAChD,MAAMC,YAAY,GAAGpB,YAAY,CAACkB,OAAO,CAAEG,IAAI,IAAKF,EAAE,CAAChB,WAAW,CAACkB,IAAI,CAAC,CAAC,CAAC;IAC1E,OAAO,MAAMD,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;;EAEA;AACF;AACA;AACA;AACA;EACEC,UAAUA,CAACJ,EAAyB,EAAc;IAChD,MAAMC,YAAY,GAAGpB,YAAY,CAACuB,UAAU,CAAEF,IAAI,IAChDF,EAAE,CAACjB,cAAc,CAACmB,IAAI,CAAC,CACzB,CAAC;IACD,OAAO,MAAMD,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;AACF;AAEA,OAAO,MAAME,MAAM,GAAG,IAAIpB,UAAU,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NativeBeekon","configToWire","wireToLocation","wireToState","rethrowAsBeekonError","BeekonImpl","configure","config","e","start","stop","history","from","to","wires","getTime","map","onState","cb","subscription","wire","remove","onLocation","Beekon"],"sourceRoot":"../../src","sources":["beekon.ts"],"mappings":";;AAAA,OAAOA,YAAY,MAAM,qBAAkB;AAI3C,SACEC,YAAY,EACZC,cAAc,EACdC,WAAW,EACXC,oBAAoB,QACf,uBAAoB;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,UAAU,CAAC;EACf;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,SAASA,CAACC,MAAoB,EAAiB;IACnD,IAAI;MACF,MAAMP,YAAY,CAACM,SAAS,CAACL,YAAY,CAACM,MAAM,CAAC,CAAC;IACpD,CAAC,CAAC,OAAOC,CAAC,EAAE;MACVJ,oBAAoB,CAACI,CAAC,CAAC;IACzB;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,KAAKA,CAAA,EAAkB;IAC3B,IAAI;MACF,MAAMT,YAAY,CAACS,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC,OAAOD,CAAC,EAAE;MACVJ,oBAAoB,CAACI,CAAC,CAAC;IACzB;EACF;;EAEA;EACA,MAAME,IAAIA,CAAA,EAAkB;IAC1B,IAAI;MACF,MAAMV,YAAY,CAACU,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,OAAOF,CAAC,EAAE;MACVJ,oBAAoB,CAACI,CAAC,CAAC;IACzB;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMG,OAAOA,CAACC,IAAU,EAAEC,EAAQ,EAAuB;IACvD,IAAI;MACF,MAAMC,KAAK,GAAG,MAAMd,YAAY,CAACW,OAAO,CAACC,IAAI,CAACG,OAAO,CAAC,CAAC,EAAEF,EAAE,CAACE,OAAO,CAAC,CAAC,CAAC;MACtE,OAAOD,KAAK,CAACE,GAAG,CAACd,cAAc,CAAC;IAClC,CAAC,CAAC,OAAOM,CAAC,EAAE;MACVJ,oBAAoB,CAACI,CAAC,CAAC;IACzB;EACF;;EAEA;AACF;AACA;AACA;AACA;EACES,OAAOA,CAACC,EAA4B,EAAc;IAChD,MAAMC,YAAY,GAAGnB,YAAY,CAACiB,OAAO,CAAEG,IAAI,IAAKF,EAAE,CAACf,WAAW,CAACiB,IAAI,CAAC,CAAC,CAAC;IAC1E,OAAO,MAAMD,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;;EAEA;AACF;AACA;AACA;AACA;EACEC,UAAUA,CAACJ,EAAyB,EAAc;IAChD,MAAMC,YAAY,GAAGnB,YAAY,CAACsB,UAAU,CAAEF,IAAI,IAChDF,EAAE,CAAChB,cAAc,CAACkB,IAAI,CAAC,CACzB,CAAC;IACD,OAAO,MAAMD,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;AACF;AAEA,OAAO,MAAME,MAAM,GAAG,IAAIlB,UAAU,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
2
 
3
3
  export { Beekon } from "./beekon.js";
4
+ export { BeekonError } from "./types/error.js";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Beekon"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,aAAU","ignoreList":[]}
1
+ {"version":3,"names":["Beekon","BeekonError"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,aAAU;AAIjC,SAASC,WAAW,QAA8B,kBAAe","ignoreList":[]}
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
2
 
3
+ import { BeekonError } from "../types/error.js";
4
+ const DEFAULT_INTERVAL_SECONDS = 30;
5
+ const DEFAULT_DISTANCE_METERS = 100;
3
6
  export function configToWire(config) {
4
7
  return {
5
- preset: config.preset ?? 'balanced',
6
- distanceFilterMeters: config.distanceFilterMeters,
7
- intervalMillis: config.intervalMillis,
8
- androidNotification: config.androidNotification,
9
- licenseKey: config.licenseKey
8
+ intervalSeconds: config.intervalSeconds ?? DEFAULT_INTERVAL_SECONDS,
9
+ distanceMeters: config.distanceMeters ?? DEFAULT_DISTANCE_METERS,
10
+ androidNotification: config.androidNotification
10
11
  };
11
12
  }
12
- export function wireToPosition(w) {
13
+ export function wireToLocation(w) {
13
14
  return {
14
15
  lat: w.lat,
15
16
  lng: w.lng,
@@ -20,9 +21,17 @@ export function wireToPosition(w) {
20
21
  timestamp: new Date(w.timestampMs)
21
22
  };
22
23
  }
23
- function toPauseReason(s) {
24
- if (s === 'permissionRevoked' || s === 'locationDisabled') return s;
25
- return 'unknown';
24
+ function toStopReason(s) {
25
+ switch (s) {
26
+ case 'user':
27
+ case 'permissionDenied':
28
+ case 'locationServicesDisabled':
29
+ case 'system':
30
+ return s;
31
+ default:
32
+ // Defensive — native should never emit an unknown reason.
33
+ return 'user';
34
+ }
26
35
  }
27
36
  export function wireToState(w) {
28
37
  switch (w.type) {
@@ -30,29 +39,48 @@ export function wireToState(w) {
30
39
  return {
31
40
  kind: 'idle'
32
41
  };
33
- case 'starting':
34
- return {
35
- kind: 'starting'
36
- };
37
42
  case 'tracking':
38
43
  return {
39
44
  kind: 'tracking'
40
45
  };
41
- case 'paused':
42
- return {
43
- kind: 'paused',
44
- reason: toPauseReason(w.pauseReason)
45
- };
46
46
  case 'stopped':
47
47
  return {
48
- kind: 'stopped'
48
+ kind: 'stopped',
49
+ reason: toStopReason(w.stopReason)
49
50
  };
50
51
  default:
51
- // Defensive fallback. Native should never emit an unknown state, but
52
- // forward-compat: treat as idle rather than throwing.
52
+ // Forward-compat: treat unknown as idle rather than throwing.
53
53
  return {
54
54
  kind: 'idle'
55
55
  };
56
56
  }
57
57
  }
58
+
59
+ /**
60
+ * Re-throw a native promise rejection as a typed `BeekonError`. Native modules
61
+ * encode the kind in the error code string (`PERMISSION_DENIED`,
62
+ * `LOCATION_SERVICES_DISABLED`, `STORAGE_FAILURE`); anything else falls
63
+ * through as the original error.
64
+ */
65
+ export function rethrowAsBeekonError(e) {
66
+ const code = e?.code;
67
+ const message = e?.message ?? String(e);
68
+ const kind = codeToKind(code);
69
+ if (kind) {
70
+ throw new BeekonError(kind, message);
71
+ }
72
+ throw e;
73
+ }
74
+ function codeToKind(code) {
75
+ switch (code) {
76
+ case 'PERMISSION_DENIED':
77
+ return 'permissionDenied';
78
+ case 'LOCATION_SERVICES_DISABLED':
79
+ return 'locationServicesDisabled';
80
+ case 'STORAGE_FAILURE':
81
+ return 'storageFailure';
82
+ default:
83
+ return undefined;
84
+ }
85
+ }
58
86
  //# sourceMappingURL=mappers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["configToWire","config","preset","distanceFilterMeters","intervalMillis","androidNotification","licenseKey","wireToPosition","w","lat","lng","accuracy","speed","bearing","altitude","timestamp","Date","timestampMs","toPauseReason","s","wireToState","type","kind","reason","pauseReason"],"sourceRoot":"../../../src","sources":["internal/mappers.ts"],"mappings":";;AAKA,OAAO,SAASA,YAAYA,CAACC,MAAoB,EAAc;EAC7D,OAAO;IACLC,MAAM,EAAED,MAAM,CAACC,MAAM,IAAI,UAAU;IACnCC,oBAAoB,EAAEF,MAAM,CAACE,oBAAoB;IACjDC,cAAc,EAAEH,MAAM,CAACG,cAAc;IACrCC,mBAAmB,EAAEJ,MAAM,CAACI,mBAAmB;IAC/CC,UAAU,EAAEL,MAAM,CAACK;EACrB,CAAC;AACH;AAEA,OAAO,SAASC,cAAcA,CAACC,CAAe,EAAY;EACxD,OAAO;IACLC,GAAG,EAAED,CAAC,CAACC,GAAG;IACVC,GAAG,EAAEF,CAAC,CAACE,GAAG;IACVC,QAAQ,EAAEH,CAAC,CAACG,QAAQ;IACpBC,KAAK,EAAEJ,CAAC,CAACI,KAAK;IACdC,OAAO,EAAEL,CAAC,CAACK,OAAO;IAClBC,QAAQ,EAAEN,CAAC,CAACM,QAAQ;IACpBC,SAAS,EAAE,IAAIC,IAAI,CAACR,CAAC,CAACS,WAAW;EACnC,CAAC;AACH;AAEA,SAASC,aAAaA,CAACC,CAAqB,EAAe;EACzD,IAAIA,CAAC,KAAK,mBAAmB,IAAIA,CAAC,KAAK,kBAAkB,EAAE,OAAOA,CAAC;EACnE,OAAO,SAAS;AAClB;AAEA,OAAO,SAASC,WAAWA,CAACZ,CAAY,EAAe;EACrD,QAAQA,CAAC,CAACa,IAAI;IACZ,KAAK,MAAM;MACT,OAAO;QAAEC,IAAI,EAAE;MAAO,CAAC;IACzB,KAAK,UAAU;MACb,OAAO;QAAEA,IAAI,EAAE;MAAW,CAAC;IAC7B,KAAK,UAAU;MACb,OAAO;QAAEA,IAAI,EAAE;MAAW,CAAC;IAC7B,KAAK,QAAQ;MACX,OAAO;QAAEA,IAAI,EAAE,QAAQ;QAAEC,MAAM,EAAEL,aAAa,CAACV,CAAC,CAACgB,WAAW;MAAE,CAAC;IACjE,KAAK,SAAS;MACZ,OAAO;QAAEF,IAAI,EAAE;MAAU,CAAC;IAC5B;MACE;MACA;MACA,OAAO;QAAEA,IAAI,EAAE;MAAO,CAAC;EAC3B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["BeekonError","DEFAULT_INTERVAL_SECONDS","DEFAULT_DISTANCE_METERS","configToWire","config","intervalSeconds","distanceMeters","androidNotification","wireToLocation","w","lat","lng","accuracy","speed","bearing","altitude","timestamp","Date","timestampMs","toStopReason","s","wireToState","type","kind","reason","stopReason","rethrowAsBeekonError","e","code","message","String","codeToKind","undefined"],"sourceRoot":"../../../src","sources":["internal/mappers.ts"],"mappings":";;AAGA,SAASA,WAAW,QAA8B,mBAAgB;AAGlE,MAAMC,wBAAwB,GAAG,EAAE;AACnC,MAAMC,uBAAuB,GAAG,GAAG;AAEnC,OAAO,SAASC,YAAYA,CAACC,MAAoB,EAAc;EAC7D,OAAO;IACLC,eAAe,EAAED,MAAM,CAACC,eAAe,IAAIJ,wBAAwB;IACnEK,cAAc,EAAEF,MAAM,CAACE,cAAc,IAAIJ,uBAAuB;IAChEK,mBAAmB,EAAEH,MAAM,CAACG;EAC9B,CAAC;AACH;AAEA,OAAO,SAASC,cAAcA,CAACC,CAAe,EAAY;EACxD,OAAO;IACLC,GAAG,EAAED,CAAC,CAACC,GAAG;IACVC,GAAG,EAAEF,CAAC,CAACE,GAAG;IACVC,QAAQ,EAAEH,CAAC,CAACG,QAAQ;IACpBC,KAAK,EAAEJ,CAAC,CAACI,KAAK;IACdC,OAAO,EAAEL,CAAC,CAACK,OAAO;IAClBC,QAAQ,EAAEN,CAAC,CAACM,QAAQ;IACpBC,SAAS,EAAE,IAAIC,IAAI,CAACR,CAAC,CAACS,WAAW;EACnC,CAAC;AACH;AAEA,SAASC,YAAYA,CAACC,CAAqB,EAAc;EACvD,QAAQA,CAAC;IACP,KAAK,MAAM;IACX,KAAK,kBAAkB;IACvB,KAAK,0BAA0B;IAC/B,KAAK,QAAQ;MACX,OAAOA,CAAC;IACV;MACE;MACA,OAAO,MAAM;EACjB;AACF;AAEA,OAAO,SAASC,WAAWA,CAACZ,CAAY,EAAe;EACrD,QAAQA,CAAC,CAACa,IAAI;IACZ,KAAK,MAAM;MACT,OAAO;QAAEC,IAAI,EAAE;MAAO,CAAC;IACzB,KAAK,UAAU;MACb,OAAO;QAAEA,IAAI,EAAE;MAAW,CAAC;IAC7B,KAAK,SAAS;MACZ,OAAO;QAAEA,IAAI,EAAE,SAAS;QAAEC,MAAM,EAAEL,YAAY,CAACV,CAAC,CAACgB,UAAU;MAAE,CAAC;IAChE;MACE;MACA,OAAO;QAAEF,IAAI,EAAE;MAAO,CAAC;EAC3B;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,oBAAoBA,CAACC,CAAU,EAAS;EACtD,MAAMC,IAAI,GAAID,CAAC,EAAoCC,IAAI;EACvD,MAAMC,OAAO,GAAIF,CAAC,EAAuCE,OAAO,IAAIC,MAAM,CAACH,CAAC,CAAC;EAC7E,MAAMJ,IAAI,GAAGQ,UAAU,CAACH,IAAI,CAAC;EAC7B,IAAIL,IAAI,EAAE;IACR,MAAM,IAAIvB,WAAW,CAACuB,IAAI,EAAEM,OAAO,CAAC;EACtC;EACA,MAAMF,CAAC;AACT;AAEA,SAASI,UAAUA,CAACH,IAAwB,EAA+B;EACzE,QAAQA,IAAI;IACV,KAAK,mBAAmB;MACtB,OAAO,kBAAkB;IAC3B,KAAK,4BAA4B;MAC/B,OAAO,0BAA0B;IACnC,KAAK,iBAAiB;MACpB,OAAO,gBAAgB;IACzB;MACE,OAAOI,SAAS;EACpB;AACF","ignoreList":[]}
@@ -1,4 +1,2 @@
1
1
  "use strict";
2
-
3
- export {};
4
2
  //# sourceMappingURL=config.js.map
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Error kinds thrown from `Beekon.start()` / `Beekon.history()`. Match the
5
+ * native `BeekonError` cases byte-for-byte.
6
+ */
7
+
8
+ /**
9
+ * Typed error surfaced from the bridge. The native module rejects promises
10
+ * with the kind encoded as the error code; the facade re-wraps into this.
11
+ */
12
+ export class BeekonError extends Error {
13
+ constructor(kind, message) {
14
+ super(message);
15
+ this.name = 'BeekonError';
16
+ this.kind = kind;
17
+ }
18
+ }
19
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BeekonError","Error","constructor","kind","message","name"],"sourceRoot":"../../../src","sources":["types/error.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA,OAAO,MAAMA,WAAW,SAASC,KAAK,CAAC;EAGrCC,WAAWA,CAACC,IAAqB,EAAEC,OAAe,EAAE;IAClD,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,aAAa;IACzB,IAAI,CAACF,IAAI,GAAGA,IAAI;EAClB;AACF","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=location.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/position.ts"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/location.ts"],"mappings":"","ignoreList":[]}
@@ -5,53 +5,49 @@
5
5
  *
6
6
  * Wire types are flat (primitives + nested flat objects) because Codegen's
7
7
  * TS-to-Kotlin/ObjC type derivation has limited support for unions and
8
- * recursive structures. State variants are encoded as a `type` discriminator
9
- * string with sibling fields nullable per variant.
8
+ * recursive structures. The state variants are encoded as a `type`
9
+ * discriminator string with sibling fields nullable per variant.
10
10
  */
11
11
  import type { CodegenTypes, TurboModule } from 'react-native';
12
12
  export type WireAndroidNotification = {
13
- channelId: string;
14
- channelName: string;
15
- notificationId: number;
16
- title: string;
17
- text: string;
18
- smallIconResName: string;
13
+ title?: string;
14
+ text?: string;
15
+ smallIconResName?: string;
19
16
  };
20
17
  export type WireConfig = {
21
- /** One of: 'saver' | 'balanced' | 'precision'. */
22
- preset: string;
23
- distanceFilterMeters?: number;
24
- intervalMillis?: number;
18
+ /** Required at the wire level the TS facade applies defaults (30 / 100). */
19
+ intervalSeconds: number;
20
+ /** Required at the wire level — the TS facade applies defaults (30 / 100). */
21
+ distanceMeters: number;
22
+ /** Android-only. iOS native module ignores. */
25
23
  androidNotification?: WireAndroidNotification;
26
- licenseKey?: string;
27
24
  };
28
- export type WirePosition = {
25
+ export type WireLocation = {
29
26
  lat: number;
30
27
  lng: number;
31
- accuracy: number;
32
- speed: number;
33
- bearing: number;
34
- altitude: number;
35
28
  timestampMs: number;
29
+ /** `null` when the OS did not report a value (e.g. low-confidence fix). */
30
+ accuracy: number | null;
31
+ speed: number | null;
32
+ bearing: number | null;
33
+ altitude: number | null;
36
34
  };
37
35
  export type WireState = {
38
- /** One of: 'idle' | 'starting' | 'tracking' | 'paused' | 'stopped'. */
36
+ /** One of: 'idle' | 'tracking' | 'stopped'. */
39
37
  type: string;
40
38
  /**
41
- * Only populated when `type === 'paused'`. One of:
42
- * 'permissionRevoked' | 'locationDisabled' | 'unknown'.
39
+ * Only populated when `type === 'stopped'`. One of:
40
+ * 'user' | 'permissionDenied' | 'locationServicesDisabled' | 'system'.
43
41
  */
44
- pauseReason?: string;
42
+ stopReason?: string;
45
43
  };
46
44
  export interface Spec extends TurboModule {
47
- initialize(): Promise<void>;
48
45
  configure(config: WireConfig): Promise<void>;
49
46
  start(): Promise<void>;
50
47
  stop(): Promise<void>;
51
- shutdown(): Promise<void>;
52
- history(fromMs: number, toMs: number): Promise<WirePosition[]>;
48
+ history(fromMs: number, toMs: number): Promise<WireLocation[]>;
53
49
  readonly onState: CodegenTypes.EventEmitter<WireState>;
54
- readonly onPosition: CodegenTypes.EventEmitter<WirePosition>;
50
+ readonly onLocation: CodegenTypes.EventEmitter<WireLocation>;
55
51
  }
56
52
  declare const _default: Spec;
57
53
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeBeekonRn.d.ts","sourceRoot":"","sources":["../../../src/NativeBeekonRn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE/D,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;CAC9D;;AAED,wBAAkE"}
1
+ {"version":3,"file":"NativeBeekonRn.d.ts","sourceRoot":"","sources":["../../../src/NativeBeekonRn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,8EAA8E;IAC9E,eAAe,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE/D,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;CAC9D;;AAED,wBAAkE"}