@tryterra/react-native 0.0.0-stage → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +111 -2
- package/TerraReactNative.podspec +48 -0
- package/android/build.gradle +87 -0
- package/android/src/bridgeCore/kotlin/README.md +1 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/BridgeBootstrap.kt +133 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/BridgeHost.kt +32 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/Conversions.kt +468 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/LauncherSlots.kt +41 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/Rejections.kt +150 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/StreamRegistry.kt +77 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/TerraBridge.kt +86 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/TerraBridgeOpsImpl.kt +258 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/TerraBridgeStreamsImpl.kt +52 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/TokenBroker.kt +198 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/generated/BridgeErrors.kt +217 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/generated/BridgeOps.kt +493 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/generated/BridgeTypes.kt +897 -0
- package/android/src/healthConnectOnly/kotlin/co/tryterra/sdk/reactnative/TerraStores.kt +11 -0
- package/android/src/main/AndroidManifest.xml +24 -0
- package/android/src/main/java/co/tryterra/sdk/reactnative/TerraBridgeModule.kt +96 -0
- package/android/src/main/java/co/tryterra/sdk/reactnative/TerraReactNativePackage.kt +26 -0
- package/android/src/main/java/co/tryterra/sdk/reactnative/TerraStartup.kt +46 -0
- package/android/src/samsung/kotlin/co/tryterra/sdk/reactnative/TerraStores.kt +13 -0
- package/docs/availability.md +246 -0
- package/frameworks/TerraSDK.xcframework/Info.plist +48 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Info.plist +0 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.abi.json +81513 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.package.swiftinterface +2150 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +2150 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.swiftinterface +2127 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/PrivacyInfo.xcprivacy +96 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/TerraSDK +0 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64/dSYMs/TerraSDK.framework.dSYM/Contents/Info.plist +20 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/DWARF/TerraSDK +0 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/TerraSDK.yml +6473 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Info.plist +0 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +81513 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +2150 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +2150 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +2127 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +81513 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +2150 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +2150 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +2127 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/PrivacyInfo.xcprivacy +96 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/TerraSDK +0 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/_CodeSignature/CodeResources +223 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Info.plist +20 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/DWARF/TerraSDK +0 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/TerraSDK.yml +6474 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/Relocations/x86_64/TerraSDK.yml +6392 -0
- package/ios/TerraBridgeCore/BridgeBootstrap.swift +89 -0
- package/ios/TerraBridgeCore/BridgeHost.swift +13 -0
- package/ios/TerraBridgeCore/Conversions.swift +467 -0
- package/ios/TerraBridgeCore/Generated/BridgeErrors.swift +179 -0
- package/ios/TerraBridgeCore/Generated/BridgeOps.swift +795 -0
- package/ios/TerraBridgeCore/Generated/BridgeTypes.swift +1317 -0
- package/ios/TerraBridgeCore/Locked.swift +15 -0
- package/ios/TerraBridgeCore/README.md +1 -0
- package/ios/TerraBridgeCore/Rejections.swift +130 -0
- package/ios/TerraBridgeCore/RuntimeAttachment.swift +60 -0
- package/ios/TerraBridgeCore/StreamRegistry.swift +59 -0
- package/ios/TerraBridgeCore/TerraBridge.swift +122 -0
- package/ios/TerraBridgeCore/TerraBridgeOpsImpl.swift +254 -0
- package/ios/TerraBridgeCore/TerraBridgeStreamsImpl.swift +60 -0
- package/ios/TerraBridgeCore/TokenBroker.swift +147 -0
- package/ios/TerraBridgeModule.mm +79 -0
- package/ios/TerraBridgeModuleImpl.swift +49 -0
- package/ios/TerraReactNative.swift +19 -0
- package/lib/EndUser.d.ts +12 -0
- package/lib/EndUser.js +13 -0
- package/lib/NativeTerraBridge.d.ts +23 -0
- package/lib/NativeTerraBridge.js +13 -0
- package/lib/Terra.d.ts +154 -0
- package/lib/Terra.js +280 -0
- package/lib/TerraError.d.ts +42 -0
- package/lib/TerraError.js +95 -0
- package/lib/createTerra.d.ts +8 -0
- package/lib/createTerra.js +19 -0
- package/lib/generated/client.d.ts +92 -0
- package/lib/generated/client.js +196 -0
- package/lib/generated/codecs.d.ts +135 -0
- package/lib/generated/codecs.js +1358 -0
- package/lib/generated/errors.d.ts +13 -0
- package/lib/generated/errors.js +68 -0
- package/lib/generated/ops.d.ts +13 -0
- package/lib/generated/ops.js +137 -0
- package/lib/generated/streams.d.ts +23 -0
- package/lib/generated/streams.js +58 -0
- package/lib/generated/types.d.ts +481 -0
- package/lib/generated/types.js +92 -0
- package/lib/index.d.ts +29 -0
- package/lib/index.js +55 -0
- package/package.json +71 -4
- package/src/EndUser.ts +15 -0
- package/src/NativeTerraBridge.ts +27 -0
- package/src/Terra.ts +462 -0
- package/src/TerraError.ts +116 -0
- package/src/createTerra.ts +18 -0
- package/src/generated/client.ts +243 -0
- package/src/generated/codecs.ts +1287 -0
- package/src/generated/errors.ts +113 -0
- package/src/generated/ops.ts +197 -0
- package/src/generated/streams.ts +74 -0
- package/src/generated/types.ts +667 -0
- package/src/index.ts +52 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
// Generated from surface/terra-surface.json by surface/gen. Do not edit by hand.
|
|
2
|
+
// Regenerate with: node surface/gen/src/cli.ts generate
|
|
3
|
+
|
|
4
|
+
import Foundation
|
|
5
|
+
|
|
6
|
+
/// The codes the bridge itself raises, as opposed to the ones it forwards from the SDK.
|
|
7
|
+
///
|
|
8
|
+
/// Namespaced under `bridge.` so that they can never collide with a code the SDK grows later.
|
|
9
|
+
public enum BridgeError: Error, Equatable, Sendable {
|
|
10
|
+
/// The native bootstrap did not run, so there is no client to attach to. On iOS the host is
|
|
11
|
+
/// missing TerraReactNative.bootstrap() in its app delegate; details.line carries the exact
|
|
12
|
+
/// line to add.
|
|
13
|
+
case notBootstrapped(line: String)
|
|
14
|
+
/// The op exists in the surface and this platform's SDK has no entry point for it. A temporary
|
|
15
|
+
/// gap, unlike a structurally absent member, which is typed optional instead.
|
|
16
|
+
case unsupportedOnPlatform(op: String)
|
|
17
|
+
/// The JS token provider did not answer inside its budget. Distinct from token_provider_failed,
|
|
18
|
+
/// which is the provider answering with an error.
|
|
19
|
+
case tokenTimeout(timeoutMs: Int)
|
|
20
|
+
/// A request did not decode against its declared type. `path` identifies the malformed field
|
|
21
|
+
/// (for example, `$.field[index]`); values are omitted because they may be health samples.
|
|
22
|
+
case invalidPayload(path: String)
|
|
23
|
+
|
|
24
|
+
public var code: String {
|
|
25
|
+
switch self {
|
|
26
|
+
case .notBootstrapped: return "bridge.not_bootstrapped"
|
|
27
|
+
case .unsupportedOnPlatform: return "bridge.unsupported_on_platform"
|
|
28
|
+
case .tokenTimeout: return "bridge.token_timeout"
|
|
29
|
+
case .invalidPayload: return "bridge.invalid_payload"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public var isRetryable: Bool {
|
|
34
|
+
switch self {
|
|
35
|
+
case .notBootstrapped: return false
|
|
36
|
+
case .unsupportedOnPlatform: return false
|
|
37
|
+
case .tokenTimeout: return false
|
|
38
|
+
case .invalidPayload: return false
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/// Every code in the surface, for the parity test that reads the same list out of the schema.
|
|
44
|
+
public enum BridgeErrorCodes {
|
|
45
|
+
public static let all: [String] = [
|
|
46
|
+
"health_data_unavailable",
|
|
47
|
+
"not_connected",
|
|
48
|
+
"route_awaiting_converter",
|
|
49
|
+
"token_unavailable",
|
|
50
|
+
"token_rejected",
|
|
51
|
+
"token_provider_failed",
|
|
52
|
+
"user_limit_reached",
|
|
53
|
+
"upgrade_required",
|
|
54
|
+
"platform",
|
|
55
|
+
"device_key_unavailable",
|
|
56
|
+
"signature_rejected",
|
|
57
|
+
"clock_skewed",
|
|
58
|
+
"link_revoked",
|
|
59
|
+
"dev_id_mismatch",
|
|
60
|
+
"link_conflict",
|
|
61
|
+
"sync_already_running",
|
|
62
|
+
"link_already_running",
|
|
63
|
+
"store_locked",
|
|
64
|
+
"store_unreadable",
|
|
65
|
+
"deadline_exceeded",
|
|
66
|
+
"read_quota_exceeded",
|
|
67
|
+
"permission_denied",
|
|
68
|
+
"authorization_not_determined",
|
|
69
|
+
"sample_not_found",
|
|
70
|
+
"rollback_incomplete",
|
|
71
|
+
"distance_not_attributable",
|
|
72
|
+
"blood_pressure_incomplete",
|
|
73
|
+
"authorization_unavailable_in_extension",
|
|
74
|
+
"planned_workout_unnamed",
|
|
75
|
+
"network.transport",
|
|
76
|
+
"network.throttled",
|
|
77
|
+
"network.server_error",
|
|
78
|
+
"network.malformed_response",
|
|
79
|
+
"network.offline",
|
|
80
|
+
"network.timed_out",
|
|
81
|
+
"bridge.not_bootstrapped",
|
|
82
|
+
"bridge.unsupported_on_platform",
|
|
83
|
+
"bridge.no_activity",
|
|
84
|
+
"bridge.permission_sheet_unavailable",
|
|
85
|
+
"bridge.token_timeout",
|
|
86
|
+
"bridge.invalid_payload",
|
|
87
|
+
]
|
|
88
|
+
|
|
89
|
+
/// Codes this platform can produce. A code the other platform owns must never be raised here.
|
|
90
|
+
public static let onThisPlatform: [String] = [
|
|
91
|
+
"health_data_unavailable",
|
|
92
|
+
"not_connected",
|
|
93
|
+
"route_awaiting_converter",
|
|
94
|
+
"token_unavailable",
|
|
95
|
+
"token_rejected",
|
|
96
|
+
"token_provider_failed",
|
|
97
|
+
"user_limit_reached",
|
|
98
|
+
"upgrade_required",
|
|
99
|
+
"platform",
|
|
100
|
+
"device_key_unavailable",
|
|
101
|
+
"signature_rejected",
|
|
102
|
+
"clock_skewed",
|
|
103
|
+
"link_revoked",
|
|
104
|
+
"dev_id_mismatch",
|
|
105
|
+
"link_conflict",
|
|
106
|
+
"sync_already_running",
|
|
107
|
+
"link_already_running",
|
|
108
|
+
"store_locked",
|
|
109
|
+
"store_unreadable",
|
|
110
|
+
"deadline_exceeded",
|
|
111
|
+
"permission_denied",
|
|
112
|
+
"authorization_not_determined",
|
|
113
|
+
"sample_not_found",
|
|
114
|
+
"rollback_incomplete",
|
|
115
|
+
"distance_not_attributable",
|
|
116
|
+
"blood_pressure_incomplete",
|
|
117
|
+
"authorization_unavailable_in_extension",
|
|
118
|
+
"planned_workout_unnamed",
|
|
119
|
+
"network.transport",
|
|
120
|
+
"network.throttled",
|
|
121
|
+
"network.server_error",
|
|
122
|
+
"network.malformed_response",
|
|
123
|
+
"network.offline",
|
|
124
|
+
"network.timed_out",
|
|
125
|
+
"bridge.not_bootstrapped",
|
|
126
|
+
"bridge.unsupported_on_platform",
|
|
127
|
+
"bridge.token_timeout",
|
|
128
|
+
"bridge.invalid_payload",
|
|
129
|
+
]
|
|
130
|
+
|
|
131
|
+
public static let retryable: [String: Bool] = [
|
|
132
|
+
"health_data_unavailable": false,
|
|
133
|
+
"not_connected": false,
|
|
134
|
+
"route_awaiting_converter": false,
|
|
135
|
+
"token_unavailable": false,
|
|
136
|
+
"token_rejected": false,
|
|
137
|
+
"token_provider_failed": false,
|
|
138
|
+
"user_limit_reached": false,
|
|
139
|
+
"upgrade_required": false,
|
|
140
|
+
"platform": false,
|
|
141
|
+
"device_key_unavailable": false,
|
|
142
|
+
"signature_rejected": false,
|
|
143
|
+
"clock_skewed": false,
|
|
144
|
+
"link_revoked": false,
|
|
145
|
+
"dev_id_mismatch": false,
|
|
146
|
+
"link_conflict": true,
|
|
147
|
+
"sync_already_running": false,
|
|
148
|
+
"link_already_running": false,
|
|
149
|
+
"store_locked": true,
|
|
150
|
+
"store_unreadable": false,
|
|
151
|
+
"deadline_exceeded": true,
|
|
152
|
+
"read_quota_exceeded": true,
|
|
153
|
+
"permission_denied": false,
|
|
154
|
+
"authorization_not_determined": false,
|
|
155
|
+
"sample_not_found": false,
|
|
156
|
+
"rollback_incomplete": false,
|
|
157
|
+
"distance_not_attributable": false,
|
|
158
|
+
"blood_pressure_incomplete": false,
|
|
159
|
+
"authorization_unavailable_in_extension": false,
|
|
160
|
+
"planned_workout_unnamed": false,
|
|
161
|
+
"network.transport": true,
|
|
162
|
+
"network.throttled": true,
|
|
163
|
+
"network.malformed_response": false,
|
|
164
|
+
"network.offline": true,
|
|
165
|
+
"network.timed_out": true,
|
|
166
|
+
"bridge.not_bootstrapped": false,
|
|
167
|
+
"bridge.unsupported_on_platform": false,
|
|
168
|
+
"bridge.no_activity": true,
|
|
169
|
+
"bridge.permission_sheet_unavailable": true,
|
|
170
|
+
"bridge.token_timeout": false,
|
|
171
|
+
"bridge.invalid_payload": false,
|
|
172
|
+
]
|
|
173
|
+
|
|
174
|
+
/// Codes whose retryability is decided per instance; read the value, not this table.
|
|
175
|
+
public static let carried: [String] = [
|
|
176
|
+
"network.server_error",
|
|
177
|
+
]
|
|
178
|
+
}
|
|
179
|
+
|