crypto-com / defi-wallet-core-rs

Cross-platform, cross-blockchain wallet library in Rust for DeFi Wallet and other applications.
Other
48 stars 16 forks source link

Bump serde_with from 2.2.0 to 2.3.1 #863

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 1 year ago

Bumps serde_with from 2.2.0 to 2.3.1.

Release notes

Sourced from serde_with's releases.

serde_with v2.3.1

Fixed

  • Undo the changes to the trait bound for Seq. (#570, #571) The new implementation caused issues with serialization formats that require the sequence length beforehand. It also caused problems, that certain attributes which worked before no longer worked, due to mismatching number of references.

    Thanks to @​stefunctional for reporting and for @​stephaneyfx for providing a test case.

serde_with v2.3.0

Added

  • Add serde_as compatible versions for the existing duplicate key and value handling. (#534) The new types MapPreventDuplicates, MapFirstKeyWins, SetPreventDuplicates, and SetLastValueWins can replace the existing modules maps_duplicate_key_is_error, maps_first_key_wins, sets_duplicate_value_is_error, and sets_last_value_wins.

  • Added a new KeyValueMap type using the map key as a struct field. (#341) This conversion is useful for maps, where an ID value is the map key, but the ID should become part of a single struct. The conversion allows this, by using a special field named $key$.

    This conversion is possible for structs and maps, using the $key$ field. Tuples, tuple structs, and sequences are supported by turning the first value into the map key.

    Each of the SimpleStructs

    // Somewhere there is a collection:
    // #[serde_as(as = "KeyValueMap<_>")]
    // Vec<SimpleStruct>,
    

    #[derive(Serialize, Deserialize)] struct SimpleStruct { b: bool, // The field named $key$ will become the map key #[serde(rename = "$key$")] id: String, i: i32, }

    will turn into a JSON snippet like this.

    "id-0000": {
      "b": false,
      "i": 123
    },
    

Changed

  • Relax the trait bounds of Seq to allow for more custom types. (#565)

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)