netreconlab / Parse-Swift

The original (OG) Swift SDK for Parse Platform (iOS, macOS, watchOS, tvOS, visionOS, Linux, Android, Windows). This repo is maintained by Parse-Swift's original developer and all new features and bug fixes will occur here.
https://swiftpackageindex.com/netreconlab/Parse-Swift/documentation
Apache License 2.0
62 stars 7 forks source link

feat: Improve ParseError reporting by propagating Swift.Error #64

Closed cbaker6 closed 1 year ago

cbaker6 commented 1 year ago

New Pull Request Checklist

Issue Description

ParseError currently embeds Swift.Error's into its' message property making it hard to use as the String needs to be parsed.

Approach

Add a new property to ParseError called swift which is propagates the Swift.Error (when there is one).

TODOs before merging

cbaker6 commented 1 year ago

@kennic this PR adds the ability for ParseError to propagate Swift.Error. I recommend using this repo as oppose to the parse-community as it's far behind. You can see why I recommend to use this repo in #7

You can update to version 4.16.2 from your current code to experience no breaking changes. I will release 5.0.0 this week, which will have a number of breaking changes, but drastic improvements and features.

codecov[bot] commented 1 year ago

Codecov Report

Merging #64 (bd5fe3d) into main (2410ff6) will decrease coverage by 2.47%. The diff coverage is 58.29%.

@@            Coverage Diff             @@
##             main      #64      +/-   ##
==========================================
- Coverage   90.00%   87.53%   -2.47%     
==========================================
  Files         166      126      -40     
  Lines       15025    12313    -2712     
==========================================
- Hits        13523    10778    -2745     
- Misses       1502     1535      +33     
Impacted Files Coverage Δ
Sources/ParseSwift/API/API+Command.swift 76.73% <0.00%> (-10.24%) :arrow_down:
...Authentication/Protocols/ParseAuthentication.swift 78.08% <0.00%> (-5.62%) :arrow_down:
Sources/ParseSwift/Storage/ParseStorage.swift 82.14% <ø> (ø)
Sources/ParseSwift/Types/Query.swift 86.05% <25.80%> (-1.34%) :arrow_down:
Sources/ParseSwift/Objects/ParseUser.swift 90.34% <26.31%> (+1.98%) :arrow_up:
Sources/ParseSwift/Objects/ParseInstallation.swift 88.07% <29.41%> (+2.37%) :arrow_up:
Sources/ParseSwift/Types/ParseFile.swift 56.58% <33.33%> (-38.68%) :arrow_down:
Sources/ParseSwift/Extensions/URLSession.swift 63.21% <38.09%> (-18.36%) :arrow_down:
Sources/ParseSwift/Objects/ParseObject.swift 90.95% <46.15%> (+2.35%) :arrow_up:
...thentication/3rd Party/ParseApple/ParseApple.swift 86.25% <50.00%> (ø)
... and 82 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

kennic commented 1 year ago

Wow, didn't know about this separation, thanks for pointing this out. Will definitely using this repo from now on.