@tryterra/react-native 2.1.0 → 2.2.1
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/README.md +31 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/Conversions.kt +103 -14
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/ReadConversions.kt +250 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/TerraBridgeOpsImpl.kt +47 -5
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/TerraBridgeStreamsImpl.kt +1 -3
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/generated/BridgeOps.kt +89 -0
- package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/generated/BridgeTypes.kt +672 -0
- package/docs/availability.md +154 -4
- package/frameworks/TerraSDK.xcframework/Info.plist +5 -5
- 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 +1385 -226
- package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.package.swiftinterface +37 -1
- package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +37 -1
- 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 +37 -1
- package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/TerraSDK +0 -0
- package/frameworks/TerraSDK.xcframework/ios-arm64/dSYMs/TerraSDK.framework.dSYM/Contents/Info.plist +2 -2
- 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 +6589 -6468
- 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 +1385 -226
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +37 -1
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +37 -1
- 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 +37 -1
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +1385 -226
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +37 -1
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +37 -1
- 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 +37 -1
- 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 +21 -21
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Info.plist +2 -2
- 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 +6590 -6469
- package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/Relocations/x86_64/TerraSDK.yml +6508 -6387
- package/ios/TerraBridgeCore/Conversions+Reads.swift +259 -0
- package/ios/TerraBridgeCore/Conversions.swift +129 -2
- package/ios/TerraBridgeCore/Generated/BridgeOps.swift +172 -0
- package/ios/TerraBridgeCore/Generated/BridgeTypes.swift +734 -1
- package/ios/TerraBridgeCore/TerraBridgeOpsImpl.swift +64 -0
- package/lib/Terra.d.ts +74 -5
- package/lib/Terra.js +69 -13
- package/lib/generated/client.d.ts +37 -1
- package/lib/generated/client.js +60 -0
- package/lib/generated/codecs.d.ts +85 -1
- package/lib/generated/codecs.js +710 -2
- package/lib/generated/ops.d.ts +1 -1
- package/lib/generated/ops.js +24 -0
- package/lib/generated/types.d.ts +314 -1
- package/lib/generated/types.js +133 -1
- package/lib/index.d.ts +1 -1
- package/package.json +3 -3
- package/src/Terra.ts +146 -16
- package/src/generated/client.ts +74 -2
- package/src/generated/codecs.ts +705 -3
- package/src/generated/ops.ts +36 -0
- package/src/generated/types.ts +556 -1
- package/src/index.ts +2 -0
|
@@ -12,6 +12,7 @@ public enum BridgeOp: String, CaseIterable, Sendable {
|
|
|
12
12
|
case clientAttach = "client.attach"
|
|
13
13
|
case clientConnect = "client.connect"
|
|
14
14
|
case clientConnections = "client.connections"
|
|
15
|
+
case clientAvailability = "client.availability"
|
|
15
16
|
case clientDisconnect = "client.disconnect"
|
|
16
17
|
case tokenSetProviderPresent = "token.setProviderPresent"
|
|
17
18
|
case tokenResolve = "token.resolve"
|
|
@@ -30,20 +31,31 @@ public enum BridgeOp: String, CaseIterable, Sendable {
|
|
|
30
31
|
case backgroundIsRegistered = "background.isRegistered"
|
|
31
32
|
case backgroundCancel = "background.cancel"
|
|
32
33
|
case bodyHeartRate = "body.heartRate"
|
|
34
|
+
case bodyRestingHeartRate = "body.restingHeartRate"
|
|
35
|
+
case bodyReadings = "body.readings"
|
|
33
36
|
case bodyLogHeartRate = "body.logHeartRate"
|
|
34
37
|
case bodyLog = "body.log"
|
|
35
38
|
case bodyDelete = "body.delete"
|
|
36
39
|
case dailySteps = "daily.steps"
|
|
40
|
+
case dailyTotals = "daily.totals"
|
|
41
|
+
case dailyIntraday = "daily.intraday"
|
|
37
42
|
case dailyLog = "daily.log"
|
|
38
43
|
case dailyDelete = "daily.delete"
|
|
39
44
|
case sleepSegments = "sleep.segments"
|
|
40
45
|
case sleepLog = "sleep.log"
|
|
41
46
|
case sleepDelete = "sleep.delete"
|
|
42
47
|
case activityWorkouts = "activity.workouts"
|
|
48
|
+
case activityRoutes = "activity.routes"
|
|
49
|
+
case activityIntensity = "activity.intensity"
|
|
43
50
|
case activityLog = "activity.log"
|
|
44
51
|
case activityDelete = "activity.delete"
|
|
52
|
+
case nutritionQuantities = "nutrition.quantities"
|
|
45
53
|
case nutritionLog = "nutrition.log"
|
|
46
54
|
case nutritionDelete = "nutrition.delete"
|
|
55
|
+
case nutritionHydration = "nutrition.hydration"
|
|
56
|
+
case menstruationFlow = "menstruation.flow"
|
|
57
|
+
case menstruationEvents = "menstruation.events"
|
|
58
|
+
case athleteProfile = "athlete.profile"
|
|
47
59
|
case plannedWorkoutsPlanned = "plannedWorkouts.planned"
|
|
48
60
|
case plannedWorkoutsMarkComplete = "plannedWorkouts.markComplete"
|
|
49
61
|
case plannedWorkoutsDelete = "plannedWorkouts.delete"
|
|
@@ -56,6 +68,7 @@ public enum BridgeOp: String, CaseIterable, Sendable {
|
|
|
56
68
|
case .clientAttach: return true
|
|
57
69
|
case .clientConnect: return true
|
|
58
70
|
case .clientConnections: return true
|
|
71
|
+
case .clientAvailability: return true
|
|
59
72
|
case .clientDisconnect: return true
|
|
60
73
|
case .tokenSetProviderPresent: return true
|
|
61
74
|
case .tokenResolve: return true
|
|
@@ -74,20 +87,31 @@ public enum BridgeOp: String, CaseIterable, Sendable {
|
|
|
74
87
|
case .backgroundIsRegistered: return true
|
|
75
88
|
case .backgroundCancel: return false
|
|
76
89
|
case .bodyHeartRate: return true
|
|
90
|
+
case .bodyRestingHeartRate: return true
|
|
91
|
+
case .bodyReadings: return true
|
|
77
92
|
case .bodyLogHeartRate: return true
|
|
78
93
|
case .bodyLog: return true
|
|
79
94
|
case .bodyDelete: return true
|
|
80
95
|
case .dailySteps: return true
|
|
96
|
+
case .dailyTotals: return true
|
|
97
|
+
case .dailyIntraday: return true
|
|
81
98
|
case .dailyLog: return true
|
|
82
99
|
case .dailyDelete: return true
|
|
83
100
|
case .sleepSegments: return true
|
|
84
101
|
case .sleepLog: return true
|
|
85
102
|
case .sleepDelete: return true
|
|
86
103
|
case .activityWorkouts: return true
|
|
104
|
+
case .activityRoutes: return true
|
|
105
|
+
case .activityIntensity: return true
|
|
87
106
|
case .activityLog: return true
|
|
88
107
|
case .activityDelete: return true
|
|
108
|
+
case .nutritionQuantities: return true
|
|
89
109
|
case .nutritionLog: return true
|
|
90
110
|
case .nutritionDelete: return true
|
|
111
|
+
case .nutritionHydration: return true
|
|
112
|
+
case .menstruationFlow: return true
|
|
113
|
+
case .menstruationEvents: return true
|
|
114
|
+
case .athleteProfile: return true
|
|
91
115
|
case .plannedWorkoutsPlanned: return true
|
|
92
116
|
case .plannedWorkoutsMarkComplete: return true
|
|
93
117
|
case .plannedWorkoutsDelete: return true
|
|
@@ -105,6 +129,8 @@ public protocol TerraBridgeOps: Sendable {
|
|
|
105
129
|
func clientAttach(_ request: Empty) async throws -> BootstrapState
|
|
106
130
|
func clientConnect(_ request: ConnectRequest) async throws -> Connection
|
|
107
131
|
func clientConnections(_ request: Empty) async throws -> ConnectionList
|
|
132
|
+
/// Whether the device can serve the source at all. Needs no connection and prompts for nothing.
|
|
133
|
+
func clientAvailability(_ request: SourceRequest) async throws -> AvailabilityResult
|
|
108
134
|
func clientDisconnect(_ request: SourceRequest) async throws -> Empty
|
|
109
135
|
/// Tells the broker whether JS can answer at all. Without it a link asks a provider that is not
|
|
110
136
|
/// there and waits out the timeout.
|
|
@@ -125,21 +151,47 @@ public protocol TerraBridgeOps: Sendable {
|
|
|
125
151
|
/// backgroundRefreshUnscheduled.
|
|
126
152
|
func backgroundIsRegistered(_ request: Empty) async throws -> BoolResult
|
|
127
153
|
func bodyHeartRate(_ request: RangeRequest) async throws -> HeartRateList
|
|
154
|
+
/// The store's own daily figures. Health Connect grants them under daily, so Android answers
|
|
155
|
+
/// authorization_not_determined where only body was asked for.
|
|
156
|
+
func bodyRestingHeartRate(_ request: RangeRequest) async throws -> RestingHeartRateList
|
|
157
|
+
func bodyReadings(_ request: RangeRequest) async throws -> BodyReadingList
|
|
128
158
|
/// Its own op rather than an overload: Swift overloads log by element type and JS cannot.
|
|
129
159
|
func bodyLogHeartRate(_ request: HeartRateEntryList) async throws -> RecordIdList
|
|
130
160
|
func bodyLog(_ request: BodyEntryList) async throws -> RecordIdList
|
|
131
161
|
func bodyDelete(_ request: RecordIdRequest) async throws -> Empty
|
|
132
162
|
func dailySteps(_ request: RangeRequest) async throws -> StepCountList
|
|
163
|
+
/// One total per metric per whole local day the range touches. A day with nothing recorded has
|
|
164
|
+
/// no total, not a zero.
|
|
165
|
+
func dailyTotals(_ request: RangeRequest) async throws -> DayTotalList
|
|
166
|
+
/// The active energy, basal energy, distance and floors records the totals are made of.
|
|
167
|
+
func dailyIntraday(_ request: RangeRequest) async throws -> IntradaySampleList
|
|
133
168
|
func dailyLog(_ request: StepEntryList) async throws -> RecordIdList
|
|
134
169
|
func dailyDelete(_ request: RecordIdRequest) async throws -> Empty
|
|
135
170
|
func sleepSegments(_ request: RangeRequest) async throws -> SleepSegmentList
|
|
136
171
|
func sleepLog(_ request: SleepEntryList) async throws -> RecordIdList
|
|
137
172
|
func sleepDelete(_ request: RecordIdRequest) async throws -> Empty
|
|
138
173
|
func activityWorkouts(_ request: RangeRequest) async throws -> WorkoutList
|
|
174
|
+
/// The GPS tracks of the workouts in the range, each naming its workout.
|
|
175
|
+
func activityRoutes(_ request: RangeRequest) async throws -> WorkoutRouteList
|
|
176
|
+
/// Speed, power and cycling cadence readings in the range.
|
|
177
|
+
func activityIntensity(_ request: RangeRequest) async throws -> WorkoutIntensityList
|
|
139
178
|
func activityLog(_ request: WorkoutEntryList) async throws -> RecordIdList
|
|
140
179
|
func activityDelete(_ request: RecordIdRequest) async throws -> Empty
|
|
180
|
+
/// One quantity per nutrient a meal recorded, not grouped into meals. Water is not among them.
|
|
181
|
+
func nutritionQuantities(_ request: RangeRequest) async throws -> DietaryQuantityList
|
|
141
182
|
func nutritionLog(_ request: NutritionEntryList) async throws -> RecordIdList
|
|
142
183
|
func nutritionDelete(_ request: RecordIdRequest) async throws -> Empty
|
|
184
|
+
/// Water drunk in the range, one sample per drink.
|
|
185
|
+
func nutritionHydration(_ request: RangeRequest) async throws -> HydrationList
|
|
186
|
+
/// Logged flow days overlapping the range, one per day. A day logged with no flow is noFlow,
|
|
187
|
+
/// not left out.
|
|
188
|
+
func menstruationFlow(_ request: RangeRequest) async throws -> MenstruationFlowDayList
|
|
189
|
+
/// Ovulation tests, cervical mucus and intermenstrual bleeding logged in the range.
|
|
190
|
+
func menstruationEvents(_ request: RangeRequest) async throws -> MenstrualEventList
|
|
191
|
+
/// Characteristics have no history.
|
|
192
|
+
///
|
|
193
|
+
/// Available on ios only.
|
|
194
|
+
func athleteProfile(_ request: Empty) async throws -> AthleteProfileResult
|
|
143
195
|
/// Available on ios only.
|
|
144
196
|
func plannedWorkoutsPlanned(_ request: Empty) async throws -> PlannedWorkoutList
|
|
145
197
|
/// Available on ios only.
|
|
@@ -177,6 +229,9 @@ public enum BridgeCodecs {
|
|
|
177
229
|
case .clientConnections:
|
|
178
230
|
let value = try decoder.decode(Empty.self, from: payload)
|
|
179
231
|
return try encoder.encode(value)
|
|
232
|
+
case .clientAvailability:
|
|
233
|
+
let value = try decoder.decode(SourceRequest.self, from: payload)
|
|
234
|
+
return try encoder.encode(value)
|
|
180
235
|
case .clientDisconnect:
|
|
181
236
|
let value = try decoder.decode(SourceRequest.self, from: payload)
|
|
182
237
|
return try encoder.encode(value)
|
|
@@ -231,6 +286,12 @@ public enum BridgeCodecs {
|
|
|
231
286
|
case .bodyHeartRate:
|
|
232
287
|
let value = try decoder.decode(RangeRequest.self, from: payload)
|
|
233
288
|
return try encoder.encode(value)
|
|
289
|
+
case .bodyRestingHeartRate:
|
|
290
|
+
let value = try decoder.decode(RangeRequest.self, from: payload)
|
|
291
|
+
return try encoder.encode(value)
|
|
292
|
+
case .bodyReadings:
|
|
293
|
+
let value = try decoder.decode(RangeRequest.self, from: payload)
|
|
294
|
+
return try encoder.encode(value)
|
|
234
295
|
case .bodyLogHeartRate:
|
|
235
296
|
let value = try decoder.decode(HeartRateEntryList.self, from: payload)
|
|
236
297
|
return try encoder.encode(value)
|
|
@@ -243,6 +304,12 @@ public enum BridgeCodecs {
|
|
|
243
304
|
case .dailySteps:
|
|
244
305
|
let value = try decoder.decode(RangeRequest.self, from: payload)
|
|
245
306
|
return try encoder.encode(value)
|
|
307
|
+
case .dailyTotals:
|
|
308
|
+
let value = try decoder.decode(RangeRequest.self, from: payload)
|
|
309
|
+
return try encoder.encode(value)
|
|
310
|
+
case .dailyIntraday:
|
|
311
|
+
let value = try decoder.decode(RangeRequest.self, from: payload)
|
|
312
|
+
return try encoder.encode(value)
|
|
246
313
|
case .dailyLog:
|
|
247
314
|
let value = try decoder.decode(StepEntryList.self, from: payload)
|
|
248
315
|
return try encoder.encode(value)
|
|
@@ -261,18 +328,39 @@ public enum BridgeCodecs {
|
|
|
261
328
|
case .activityWorkouts:
|
|
262
329
|
let value = try decoder.decode(RangeRequest.self, from: payload)
|
|
263
330
|
return try encoder.encode(value)
|
|
331
|
+
case .activityRoutes:
|
|
332
|
+
let value = try decoder.decode(RangeRequest.self, from: payload)
|
|
333
|
+
return try encoder.encode(value)
|
|
334
|
+
case .activityIntensity:
|
|
335
|
+
let value = try decoder.decode(RangeRequest.self, from: payload)
|
|
336
|
+
return try encoder.encode(value)
|
|
264
337
|
case .activityLog:
|
|
265
338
|
let value = try decoder.decode(WorkoutEntryList.self, from: payload)
|
|
266
339
|
return try encoder.encode(value)
|
|
267
340
|
case .activityDelete:
|
|
268
341
|
let value = try decoder.decode(RecordIdRequest.self, from: payload)
|
|
269
342
|
return try encoder.encode(value)
|
|
343
|
+
case .nutritionQuantities:
|
|
344
|
+
let value = try decoder.decode(RangeRequest.self, from: payload)
|
|
345
|
+
return try encoder.encode(value)
|
|
270
346
|
case .nutritionLog:
|
|
271
347
|
let value = try decoder.decode(NutritionEntryList.self, from: payload)
|
|
272
348
|
return try encoder.encode(value)
|
|
273
349
|
case .nutritionDelete:
|
|
274
350
|
let value = try decoder.decode(RecordIdRequest.self, from: payload)
|
|
275
351
|
return try encoder.encode(value)
|
|
352
|
+
case .nutritionHydration:
|
|
353
|
+
let value = try decoder.decode(RangeRequest.self, from: payload)
|
|
354
|
+
return try encoder.encode(value)
|
|
355
|
+
case .menstruationFlow:
|
|
356
|
+
let value = try decoder.decode(RangeRequest.self, from: payload)
|
|
357
|
+
return try encoder.encode(value)
|
|
358
|
+
case .menstruationEvents:
|
|
359
|
+
let value = try decoder.decode(RangeRequest.self, from: payload)
|
|
360
|
+
return try encoder.encode(value)
|
|
361
|
+
case .athleteProfile:
|
|
362
|
+
let value = try decoder.decode(Empty.self, from: payload)
|
|
363
|
+
return try encoder.encode(value)
|
|
276
364
|
case .plannedWorkoutsPlanned:
|
|
277
365
|
let value = try decoder.decode(Empty.self, from: payload)
|
|
278
366
|
return try encoder.encode(value)
|
|
@@ -304,6 +392,9 @@ public enum BridgeCodecs {
|
|
|
304
392
|
case .clientConnections:
|
|
305
393
|
let value = try decoder.decode(ConnectionList.self, from: payload)
|
|
306
394
|
return try encoder.encode(value)
|
|
395
|
+
case .clientAvailability:
|
|
396
|
+
let value = try decoder.decode(AvailabilityResult.self, from: payload)
|
|
397
|
+
return try encoder.encode(value)
|
|
307
398
|
case .clientDisconnect:
|
|
308
399
|
let value = try decoder.decode(Empty.self, from: payload)
|
|
309
400
|
return try encoder.encode(value)
|
|
@@ -359,6 +450,12 @@ public enum BridgeCodecs {
|
|
|
359
450
|
case .bodyHeartRate:
|
|
360
451
|
let value = try decoder.decode(HeartRateList.self, from: payload)
|
|
361
452
|
return try encoder.encode(value)
|
|
453
|
+
case .bodyRestingHeartRate:
|
|
454
|
+
let value = try decoder.decode(RestingHeartRateList.self, from: payload)
|
|
455
|
+
return try encoder.encode(value)
|
|
456
|
+
case .bodyReadings:
|
|
457
|
+
let value = try decoder.decode(BodyReadingList.self, from: payload)
|
|
458
|
+
return try encoder.encode(value)
|
|
362
459
|
case .bodyLogHeartRate:
|
|
363
460
|
let value = try decoder.decode(RecordIdList.self, from: payload)
|
|
364
461
|
return try encoder.encode(value)
|
|
@@ -371,6 +468,12 @@ public enum BridgeCodecs {
|
|
|
371
468
|
case .dailySteps:
|
|
372
469
|
let value = try decoder.decode(StepCountList.self, from: payload)
|
|
373
470
|
return try encoder.encode(value)
|
|
471
|
+
case .dailyTotals:
|
|
472
|
+
let value = try decoder.decode(DayTotalList.self, from: payload)
|
|
473
|
+
return try encoder.encode(value)
|
|
474
|
+
case .dailyIntraday:
|
|
475
|
+
let value = try decoder.decode(IntradaySampleList.self, from: payload)
|
|
476
|
+
return try encoder.encode(value)
|
|
374
477
|
case .dailyLog:
|
|
375
478
|
let value = try decoder.decode(RecordIdList.self, from: payload)
|
|
376
479
|
return try encoder.encode(value)
|
|
@@ -389,18 +492,39 @@ public enum BridgeCodecs {
|
|
|
389
492
|
case .activityWorkouts:
|
|
390
493
|
let value = try decoder.decode(WorkoutList.self, from: payload)
|
|
391
494
|
return try encoder.encode(value)
|
|
495
|
+
case .activityRoutes:
|
|
496
|
+
let value = try decoder.decode(WorkoutRouteList.self, from: payload)
|
|
497
|
+
return try encoder.encode(value)
|
|
498
|
+
case .activityIntensity:
|
|
499
|
+
let value = try decoder.decode(WorkoutIntensityList.self, from: payload)
|
|
500
|
+
return try encoder.encode(value)
|
|
392
501
|
case .activityLog:
|
|
393
502
|
let value = try decoder.decode(RecordIdList.self, from: payload)
|
|
394
503
|
return try encoder.encode(value)
|
|
395
504
|
case .activityDelete:
|
|
396
505
|
let value = try decoder.decode(Empty.self, from: payload)
|
|
397
506
|
return try encoder.encode(value)
|
|
507
|
+
case .nutritionQuantities:
|
|
508
|
+
let value = try decoder.decode(DietaryQuantityList.self, from: payload)
|
|
509
|
+
return try encoder.encode(value)
|
|
398
510
|
case .nutritionLog:
|
|
399
511
|
let value = try decoder.decode(RecordIdList.self, from: payload)
|
|
400
512
|
return try encoder.encode(value)
|
|
401
513
|
case .nutritionDelete:
|
|
402
514
|
let value = try decoder.decode(Empty.self, from: payload)
|
|
403
515
|
return try encoder.encode(value)
|
|
516
|
+
case .nutritionHydration:
|
|
517
|
+
let value = try decoder.decode(HydrationList.self, from: payload)
|
|
518
|
+
return try encoder.encode(value)
|
|
519
|
+
case .menstruationFlow:
|
|
520
|
+
let value = try decoder.decode(MenstruationFlowDayList.self, from: payload)
|
|
521
|
+
return try encoder.encode(value)
|
|
522
|
+
case .menstruationEvents:
|
|
523
|
+
let value = try decoder.decode(MenstrualEventList.self, from: payload)
|
|
524
|
+
return try encoder.encode(value)
|
|
525
|
+
case .athleteProfile:
|
|
526
|
+
let value = try decoder.decode(AthleteProfileResult.self, from: payload)
|
|
527
|
+
return try encoder.encode(value)
|
|
404
528
|
case .plannedWorkoutsPlanned:
|
|
405
529
|
let value = try decoder.decode(PlannedWorkoutList.self, from: payload)
|
|
406
530
|
return try encoder.encode(value)
|
|
@@ -537,6 +661,10 @@ public struct BridgeDispatch: Sendable {
|
|
|
537
661
|
let request = try Self.decodeRequest(Empty.self, from: payload)
|
|
538
662
|
let response = try await ops.clientConnections(request)
|
|
539
663
|
return try encoder.encode(response)
|
|
664
|
+
case .clientAvailability:
|
|
665
|
+
let request = try Self.decodeRequest(SourceRequest.self, from: payload)
|
|
666
|
+
let response = try await ops.clientAvailability(request)
|
|
667
|
+
return try encoder.encode(response)
|
|
540
668
|
case .clientDisconnect:
|
|
541
669
|
let request = try Self.decodeRequest(SourceRequest.self, from: payload)
|
|
542
670
|
let response = try await ops.clientDisconnect(request)
|
|
@@ -602,6 +730,14 @@ public struct BridgeDispatch: Sendable {
|
|
|
602
730
|
let request = try Self.decodeRequest(RangeRequest.self, from: payload)
|
|
603
731
|
let response = try await ops.bodyHeartRate(request)
|
|
604
732
|
return try encoder.encode(response)
|
|
733
|
+
case .bodyRestingHeartRate:
|
|
734
|
+
let request = try Self.decodeRequest(RangeRequest.self, from: payload)
|
|
735
|
+
let response = try await ops.bodyRestingHeartRate(request)
|
|
736
|
+
return try encoder.encode(response)
|
|
737
|
+
case .bodyReadings:
|
|
738
|
+
let request = try Self.decodeRequest(RangeRequest.self, from: payload)
|
|
739
|
+
let response = try await ops.bodyReadings(request)
|
|
740
|
+
return try encoder.encode(response)
|
|
605
741
|
case .bodyLogHeartRate:
|
|
606
742
|
let request = try Self.decodeRequest(HeartRateEntryList.self, from: payload)
|
|
607
743
|
let response = try await ops.bodyLogHeartRate(request)
|
|
@@ -618,6 +754,14 @@ public struct BridgeDispatch: Sendable {
|
|
|
618
754
|
let request = try Self.decodeRequest(RangeRequest.self, from: payload)
|
|
619
755
|
let response = try await ops.dailySteps(request)
|
|
620
756
|
return try encoder.encode(response)
|
|
757
|
+
case .dailyTotals:
|
|
758
|
+
let request = try Self.decodeRequest(RangeRequest.self, from: payload)
|
|
759
|
+
let response = try await ops.dailyTotals(request)
|
|
760
|
+
return try encoder.encode(response)
|
|
761
|
+
case .dailyIntraday:
|
|
762
|
+
let request = try Self.decodeRequest(RangeRequest.self, from: payload)
|
|
763
|
+
let response = try await ops.dailyIntraday(request)
|
|
764
|
+
return try encoder.encode(response)
|
|
621
765
|
case .dailyLog:
|
|
622
766
|
let request = try Self.decodeRequest(StepEntryList.self, from: payload)
|
|
623
767
|
let response = try await ops.dailyLog(request)
|
|
@@ -642,6 +786,14 @@ public struct BridgeDispatch: Sendable {
|
|
|
642
786
|
let request = try Self.decodeRequest(RangeRequest.self, from: payload)
|
|
643
787
|
let response = try await ops.activityWorkouts(request)
|
|
644
788
|
return try encoder.encode(response)
|
|
789
|
+
case .activityRoutes:
|
|
790
|
+
let request = try Self.decodeRequest(RangeRequest.self, from: payload)
|
|
791
|
+
let response = try await ops.activityRoutes(request)
|
|
792
|
+
return try encoder.encode(response)
|
|
793
|
+
case .activityIntensity:
|
|
794
|
+
let request = try Self.decodeRequest(RangeRequest.self, from: payload)
|
|
795
|
+
let response = try await ops.activityIntensity(request)
|
|
796
|
+
return try encoder.encode(response)
|
|
645
797
|
case .activityLog:
|
|
646
798
|
let request = try Self.decodeRequest(WorkoutEntryList.self, from: payload)
|
|
647
799
|
let response = try await ops.activityLog(request)
|
|
@@ -650,6 +802,10 @@ public struct BridgeDispatch: Sendable {
|
|
|
650
802
|
let request = try Self.decodeRequest(RecordIdRequest.self, from: payload)
|
|
651
803
|
let response = try await ops.activityDelete(request)
|
|
652
804
|
return try encoder.encode(response)
|
|
805
|
+
case .nutritionQuantities:
|
|
806
|
+
let request = try Self.decodeRequest(RangeRequest.self, from: payload)
|
|
807
|
+
let response = try await ops.nutritionQuantities(request)
|
|
808
|
+
return try encoder.encode(response)
|
|
653
809
|
case .nutritionLog:
|
|
654
810
|
let request = try Self.decodeRequest(NutritionEntryList.self, from: payload)
|
|
655
811
|
let response = try await ops.nutritionLog(request)
|
|
@@ -658,6 +814,22 @@ public struct BridgeDispatch: Sendable {
|
|
|
658
814
|
let request = try Self.decodeRequest(RecordIdRequest.self, from: payload)
|
|
659
815
|
let response = try await ops.nutritionDelete(request)
|
|
660
816
|
return try encoder.encode(response)
|
|
817
|
+
case .nutritionHydration:
|
|
818
|
+
let request = try Self.decodeRequest(RangeRequest.self, from: payload)
|
|
819
|
+
let response = try await ops.nutritionHydration(request)
|
|
820
|
+
return try encoder.encode(response)
|
|
821
|
+
case .menstruationFlow:
|
|
822
|
+
let request = try Self.decodeRequest(RangeRequest.self, from: payload)
|
|
823
|
+
let response = try await ops.menstruationFlow(request)
|
|
824
|
+
return try encoder.encode(response)
|
|
825
|
+
case .menstruationEvents:
|
|
826
|
+
let request = try Self.decodeRequest(RangeRequest.self, from: payload)
|
|
827
|
+
let response = try await ops.menstruationEvents(request)
|
|
828
|
+
return try encoder.encode(response)
|
|
829
|
+
case .athleteProfile:
|
|
830
|
+
let request = try Self.decodeRequest(Empty.self, from: payload)
|
|
831
|
+
let response = try await ops.athleteProfile(request)
|
|
832
|
+
return try encoder.encode(response)
|
|
661
833
|
case .plannedWorkoutsPlanned:
|
|
662
834
|
let request = try Self.decodeRequest(Empty.self, from: payload)
|
|
663
835
|
let response = try await ops.plannedWorkoutsPlanned(request)
|