Skip to content

Commit

Permalink
Refactor FXIOS-11076 [Swiftlint] Fix closure line length error in Boo…
Browse files Browse the repository at this point in the history
…kmarksSaver.swift (#24158)
  • Loading branch information
MattLichtenstein authored Jan 15, 2025
1 parent 76c8df4 commit bd3d42b
Showing 1 changed file with 53 additions and 47 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,54 +29,9 @@ struct DefaultBookmarksSaver: BookmarksSaver, BookmarksRefactorFeatureFlagProvid
let operation: Deferred<Maybe<GUID?>>? = {
switch bookmark.type {
case .bookmark:
guard let bookmark = bookmark as? BookmarkItemData else { return deferMaybe(nil) }

if bookmark.parentGUID == nil {
let position: UInt32? = parentFolderGUID == BookmarkRoots.MobileFolderGUID ? 0 : nil
return profile.places.createBookmark(parentGUID: parentFolderGUID,
url: bookmark.url,
title: bookmark.title,
position: position).bind { result in
return result.isFailure ? deferMaybe(BookmarkDetailPanelError())
: deferMaybe(result.successValue)
}
} else {
let position: UInt32? = parentFolderGUID == bookmark.parentGUID ? bookmark.position : nil
return profile.places.updateBookmarkNode(guid: bookmark.guid,
parentGUID: parentFolderGUID,
position: position,
title: bookmark.title,
url: bookmark.url).bind { result in
return result.isFailure ? deferMaybe(BookmarkDetailPanelError()) : deferMaybe(nil)
}
}

return saveBookmark(bookmark: bookmark, parentFolderGUID: parentFolderGUID)
case .folder:
guard let folder = bookmark as? BookmarkFolderData else { return deferMaybe(nil) }

if folder.parentGUID == nil {
TelemetryWrapper.recordEvent(category: .action,
method: .tap,
object: .bookmark,
value: .bookmarkAddFolder)

let position: UInt32? = parentFolderGUID == BookmarkRoots.MobileFolderGUID ? 0 : nil
return profile.places.createFolder(parentGUID: parentFolderGUID,
title: folder.title,
position: position).bind { result in
return result.isFailure ? deferMaybe(BookmarkDetailPanelError())
: deferMaybe(result.successValue)
}
} else {
let position: UInt32? = parentFolderGUID == folder.parentGUID ? folder.position : nil
return profile.places.updateBookmarkNode( guid: folder.guid,
parentGUID: parentFolderGUID,
position: position,
title: folder.title).bind { result in
return result.isFailure ? deferMaybe(BookmarkDetailPanelError()) : deferMaybe(nil)
}
}

return saveFolder(bookmark: bookmark, parentFolderGUID: parentFolderGUID)
default:
return nil
}
Expand Down Expand Up @@ -153,4 +108,55 @@ struct DefaultBookmarksSaver: BookmarksSaver, BookmarksRefactorFeatureFlagProvid
let parentGuid = (isBookmarkRefactorEnabled ? recentBookmarkFolderGuid : nil) ?? BookmarkRoots.MobileFolderGUID
_ = await save(bookmark: bookmarkData, parentFolderGUID: parentGuid)
}

private func saveBookmark(bookmark: FxBookmarkNode, parentFolderGUID: String) -> Deferred<Maybe<GUID?>>? {
guard let bookmark = bookmark as? BookmarkItemData else { return deferMaybe(nil) }

if bookmark.parentGUID == nil {
let position: UInt32? = parentFolderGUID == BookmarkRoots.MobileFolderGUID ? 0 : nil
return profile.places.createBookmark(parentGUID: parentFolderGUID,
url: bookmark.url,
title: bookmark.title,
position: position).bind { result in
return result.isFailure ? deferMaybe(BookmarkDetailPanelError())
: deferMaybe(result.successValue)
}
} else {
let position: UInt32? = parentFolderGUID == bookmark.parentGUID ? bookmark.position : nil
return profile.places.updateBookmarkNode(guid: bookmark.guid,
parentGUID: parentFolderGUID,
position: position,
title: bookmark.title,
url: bookmark.url).bind { result in
return result.isFailure ? deferMaybe(BookmarkDetailPanelError()) : deferMaybe(nil)
}
}
}

private func saveFolder(bookmark: FxBookmarkNode, parentFolderGUID: String) -> Deferred<Maybe<GUID?>>? {
guard let folder = bookmark as? BookmarkFolderData else { return deferMaybe(nil) }

if folder.parentGUID == nil {
TelemetryWrapper.recordEvent(category: .action,
method: .tap,
object: .bookmark,
value: .bookmarkAddFolder)

let position: UInt32? = parentFolderGUID == BookmarkRoots.MobileFolderGUID ? 0 : nil
return profile.places.createFolder(parentGUID: parentFolderGUID,
title: folder.title,
position: position).bind { result in
return result.isFailure ? deferMaybe(BookmarkDetailPanelError())
: deferMaybe(result.successValue)
}
} else {
let position: UInt32? = parentFolderGUID == folder.parentGUID ? folder.position : nil
return profile.places.updateBookmarkNode( guid: folder.guid,
parentGUID: parentFolderGUID,
position: position,
title: folder.title).bind { result in
return result.isFailure ? deferMaybe(BookmarkDetailPanelError()) : deferMaybe(nil)
}
}
}
}

0 comments on commit bd3d42b

Please sign in to comment.