Skip to content

Commit

Permalink
Fix: Use property path instead of property name to exclude property
Browse files Browse the repository at this point in the history
  • Loading branch information
localheinz committed Dec 31, 2020
1 parent 0ea3c7f commit dd8056c
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 8 deletions.
15 changes: 13 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,15 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## Unreleased

For a full diff see [`1.0.1...main`][1.0.1...main].
For a full diff see [`1.0.2...main`][1.0.2...main].

## [`1.0.2`][1.0.2]

For a full diff see [`1.0.1...1.0.2`][1.0.1...1.0.2].

### Fixed

* Adjusted `Vendor\Composer\ConfigHashNormalizer` to take into account the full property path, not only the property name ([#429]), by [@localheinz]

## [`1.0.1`][1.0.1]

Expand Down Expand Up @@ -302,6 +310,7 @@ For a full diff see [`5d8b3e2...0.1.0`][5d8b3e2...0.1.0].
[0.14.1]: https://github.com/ergebnis/json-normalizer/releases/tag/0.14.1
[1.0.0]: https://github.com/ergebnis/json-normalizer/releases/tag/1.0.0
[1.0.1]: https://github.com/ergebnis/json-normalizer/releases/tag/1.0.1
[1.0.2]: https://github.com/ergebnis/json-normalizer/releases/tag/1.0.2

[5d8b3e2...0.1.0]: https://github.com/ergebnis/json-normalizer/compare/5d8b3e2...0.1.0
[0.1.0...0.2.0]: https://github.com/ergebnis/json-normalizer/compare/0.1.0...0.2.0
Expand All @@ -324,7 +333,8 @@ For a full diff see [`5d8b3e2...0.1.0`][5d8b3e2...0.1.0].
[0.14.0...0.14.1]: https://github.com/ergebnis/json-normalizer/compare/0.14.0...0.14.1
[0.14.1...1.0.0]: https://github.com/ergebnis/json-normalizer/compare/0.14.1...1.0.0
[1.0.0...1.0.1]: https://github.com/ergebnis/json-normalizer/compare/1.0.0...1.0.0
[1.0.1...main]: https://github.com/ergebnis/json-normalizer/compare/1.0.1...main
[1.0.1...1.0.2]: https://github.com/ergebnis/json-normalizer/compare/1.0.1...1.0.2
[1.0.2...main]: https://github.com/ergebnis/json-normalizer/compare/1.0.2...main

[#1]: https://github.com/ergebnis/json-normalizer/pull/1
[#2]: https://github.com/ergebnis/json-normalizer/pull/2
Expand Down Expand Up @@ -389,6 +399,7 @@ For a full diff see [`5d8b3e2...0.1.0`][5d8b3e2...0.1.0].
[#423]: https://github.com/ergebnis/json-normalizer/pull/423
[#424]: https://github.com/ergebnis/json-normalizer/pull/424
[#425]: https://github.com/ergebnis/json-normalizer/pull/425
[#429]: https://github.com/ergebnis/json-normalizer/pull/429

[@BackEndTea]: https://github.com/BackEndTea
[@ergebnis]: https://github.com/ergebnis
Expand Down
16 changes: 10 additions & 6 deletions src/Vendor/Composer/ConfigHashNormalizer.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ final class ConfigHashNormalizer implements NormalizerInterface
/**
* @see https://getcomposer.org/doc/06-config.md#preferred-install
*/
private const PROPERTIES_THAT_SHOULD_NOT_BE_SORTED = [
'preferred-install',
private const PROPERTY_PATHS_THAT_SHOULD_NOT_BE_SORTED = [
'config.preferred-install',
];

public function normalize(Json $json): Json
Expand Down Expand Up @@ -66,9 +66,9 @@ public function normalize(Json $json): Json
*
* @return null|array|bool|false|\stdClass|string
*/
private static function sortByKey(string $name, $value)
private static function sortByKey(string $propertyPath, $value)
{
if (\in_array($name, self::PROPERTIES_THAT_SHOULD_NOT_BE_SORTED, true)) {
if (\in_array($propertyPath, self::PROPERTY_PATHS_THAT_SHOULD_NOT_BE_SORTED, true)) {
return $value;
}

Expand All @@ -89,9 +89,13 @@ private static function sortByKey(string $name, $value)

return \array_combine(
$names,
\array_map(static function ($value, string $name) {
\array_map(static function ($value, string $name) use ($propertyPath) {
return self::sortByKey(
$name,
\sprintf(
'%s.%s',
$propertyPath,
$name
),
$value
);
}, $sorted, $names)
Expand Down

0 comments on commit dd8056c

Please sign in to comment.