class StatelyDB::CoreClient
def process_sync_response(resp)
- Api: - private
Returns:
-
(StatelyDB::SyncResult)
- the result of the sync operation
Parameters:
-
resp
(::Stately::Db::SyncResponse
) -- the response to process
def process_sync_response(resp) changed_items = [] deleted_item_paths = [] updated_outside_list_window_paths = [] token = nil is_reset = false safe_yield_stream(resp) do |r| case r.response when :result r.result.changed_items.each do |item| changed_items << @schema.unmarshal_item(stately_item: item) end r.result.deleted_items.each do |item| deleted_item_paths << item.key_path end r.result.updated_item_keys_outside_list_window.each do |item| updated_outside_list_window_paths << item.key_path end when :reset is_reset = true when :finished raw_token = r.finished.token token = StatelyDB::Token.new(token_data: raw_token.token_data, can_continue: raw_token.can_continue, can_sync: raw_token.can_sync, schema_version_id: raw_token.schema_version_id) end end SyncResult.new(changed_items:, deleted_item_paths:, updated_outside_list_window_paths:, is_reset:, token:) end