in packages/amplify_datastore/ios/Classes/DataStoreHubEventStreamHandler.swift [93:186]
func sendPayload(_ payload: HubPayload) {
var flutterEvent: [String: Any]?
switch payload.eventName {
case HubPayload.EventName.DataStore.networkStatus :
do {
let networkStatus = try FlutterNetworkStatusEvent (payload: payload)
flutterEvent = networkStatus.toValueMap()
} catch {
print("Failed to parse and send networkStatus event: \(error)")
}
case HubPayload.EventName.DataStore.outboxStatus :
do {
let outboxStatus = try FlutterOutboxStatusEvent (payload: payload)
flutterEvent = outboxStatus.toValueMap()
} catch {
print("Failed to parse and send outboxStatus event: \(error)")
}
case HubPayload.EventName.DataStore.subscriptionsEstablished :
do {
let subscriptionsEstablished = try FlutterSubscriptionsEstablishedEvent(payload: payload)
flutterEvent = subscriptionsEstablished.toValueMap()
} catch {
print("Failed to parse and send subscriptionsEstablished event: \(error)")
}
case HubPayload.EventName.DataStore.syncQueriesStarted :
do {
let syncQueriesStarted = try FlutterSyncQueriesStartedEvent(payload: payload)
flutterEvent = syncQueriesStarted.toValueMap()
} catch {
print("Failed to parse and send syncQueriesStarted event: \(error)")
}
case HubPayload.EventName.DataStore.modelSynced :
do {
let modelSynced = try FlutterModelSyncedEvent(payload: payload)
flutterEvent = modelSynced.toValueMap()
} catch {
print("Failed to parse and send modelSynced event: \(error)")
}
case HubPayload.EventName.DataStore.syncQueriesReady :
do {
let syncQueriesReady = try FlutterSyncQueriesReadyEvent(payload: payload)
flutterEvent = syncQueriesReady.toValueMap()
} catch {
print("Failed to parse and send syncQueriesReady event: \(error)")
}
case HubPayload.EventName.DataStore.ready :
do {
let ready = try FlutterReadyEvent(payload: payload)
flutterEvent = ready.toValueMap()
} catch {
print("Failed to parse and send ready event: \(error)")
}
case HubPayload.EventName.DataStore.outboxMutationEnqueued :
do {
guard let outboxMutationEnqueued = payload.data as? OutboxMutationEvent else {
throw FlutterDataStoreError.hubEventCast
}
let schemaRegistries = try self.ensureSchemaRegistries()
let flutterOutboxMutationEnqueued = try FlutterOutboxMutationEnqueuedEvent(
outboxMutationEnqueued: outboxMutationEnqueued,
eventName: payload.eventName,
modelSchemaRegistry: schemaRegistries.modelSchemaRegistry,
customTypeSchemaRegistry: schemaRegistries.customTypeSchemaRegistry
)
flutterEvent = flutterOutboxMutationEnqueued.toValueMap()
} catch {
print("Failed to parse and send outboxMutationEnqueued event: \(error)")
}
case HubPayload.EventName.DataStore.outboxMutationProcessed :
do {
guard let outboxMutationProcessed = payload.data as? OutboxMutationEvent else {
throw FlutterDataStoreError.hubEventCast
}
let schemaRegistries = try self.ensureSchemaRegistries()
let flutterOutboxMutationProcessed = try FlutterOutboxMutationProcessedEvent(
outboxMutationProcessed: outboxMutationProcessed,
eventName: payload.eventName,
modelSchemaRegistry: schemaRegistries.modelSchemaRegistry,
customTypeSchemaRegistry: schemaRegistries.customTypeSchemaRegistry
)
flutterEvent = flutterOutboxMutationProcessed.toValueMap()
} catch {
print("Failed to parse and send outboxMutationProcessed event: \(error)")
}
case HubPayload.EventName.Amplify.configured:
print("DataStorePlugin successfully initialized")
default:
print("Unhandled DataStoreHubEvent: \(payload.eventName) \(payload.data ?? "")" )
}
if let flutterEvent = flutterEvent {
sendEvent(flutterEvent: flutterEvent)
}
}