-
fixes
- #87 ConvertTo-Expression: keys with special characters should be quoted
- #89 Sort-ObjectGraph adds $Null to empty lists
- #92 ConvertTo-Expression -Expand -1 leaves spaces in map
-
Enhancements
- #90 Add $PSCulture and $PSUICulture to the restricted language mode cmdlets and classes
- #91 ConvertTo-Expression: better handle special type keys
-
Break changes
- ConvertFrom-Expression parameters:
-ArrayAs
-->-ListAs
,-HashTableAs
-->-MapAs
- Compare-ObjectGraph:
- split
-MatchOrder
switch in-IgnoreListOrder
and-MatchMapOrder
- split
- ConvertFrom-Expression parameters:
-
Enhancements
- Created PSListNodeComparer and PSMapNodeComparer
- Sorting and added .Sort() method
- Improved GetHashCode() method
-
Implemented
- #82 Phase out static GetPSNodeType method
- #83 $ObjectGraph | Get-Node $PSNodePath should work
- #84 PSNodePath should implement Equals (PSNodePath or String)
-
Documentation
- Updated commented help of several cmdlets
- #65 Update ObjectParser.md with respect to PathName deprecation documentation
- Fixes
- #80 Unknown PSNode type (Import-Module issues)
-
Fixes
- Copy-ObjectGraph
-ListAs
/-MapAs
parameter bug - #78 Copy-Object -MapAs @{} should not me case sensitive
- Copy-ObjectGraph
-
Enhancements
- Added
ConvertFrom-Expression
-ArrayAs
/-HashTableAs
parameters - Added
Import-ObjectGraph
- Added
Export-ObjectGraph
- Added
- Enhancements
- Added
ConvertFrom-Expression
- Also supporting a
-LanguageMode
parameter
- Also supporting a
- Added
- Enhancements
- Full implementation of
ConvertTo-Expression
(still requires some code improvements with regards to hardcoded roundtrip properties) Improved performance and added parameters:-LanguageMode
Restricted, Constrained, Full-ExpandDepth
Expands up till this level (collapse the rest)-Explicit
Add explicit type name-FullTypeName
Use full type name-HighFidelity
Explore all underlying properties-ExpandSingleton
Expand collection nodes with a single item
- Full implementation of
- Fixes
- #45 Improved internal nodes collector
- #58 Fix issue where literal name is not found before
Equal
operator - #62 Parameter tables are not properly filled
- #64 Update main Readme.md with Xdn
- #65 Update ObjectParser.md with respect to PathName deprecation
-
Break changes
- #55
Get-Node
retrieves no long the path but the Object/Node from the pipeline - #56 Removed -Path parameter from Get-ChildNode (Use:
<Object-Graph or PSNode> | Get-Node <XdnPath> | Get-ChildNode ...
)
- #55
-
Enhancements
- Full Extended dot notation (
Xdn
) implementation (see: https://github.com/iRon7/ObjectGraphTools/blob/main/Docs/Xdn.md) - #57 Added
-Literal
parameter toGet-Node
- Added
Xdn
document - Added
Xdn
Tests - Added
[PSNodePath]
class for[PSNode]$Node.Path
- Added
Get-Node
tests
- Full Extended dot notation (
-
Fixed
- #59 ConvertTo-Expression quoting bug
-
Fixed
ConvertTo-Expression
adding$Null
entries- #50 Copy-ObjectGraph -ListAs Array gives error
- #51 Document (markdown) issue in: Copy-ObjectGraph.md (fixed
Get-MarkdownHelp
))
-
Enhancements
- Improved .ChildNode and related properties by one-by-one collecting sub nodes
- #53 return a warning (rather than an error) when Get-ChildNode is a leaf node
-
Fixed
ConvertTo-Expression
adding$Null
entries
-
Enhancements
- Use reflection for
Use-ClassAccessors
, see: iRon7/Use-ClassAccessors#4
- Use reflection for
-
Break changes (fixes)
- Changed naming Descendent --> Descendant
- Remove leading dot from
PathName
, use:.GetPathName('$MyObject')
or.GetPathName('')
to get a relative path - Depleted
.GetDescendantNode(<Path>)
, use:.GetNode(<XdnPath>)
-
Fixed
- #17 The call to MergeObject used incorrect
Depth
parameter - #46 Sort-ObjectGraph: Out of range error
- #17 The call to MergeObject used incorrect
-
Enhancements
- Increased: [PSNode]::DefaultMaxDepth = 20
- Prerelease: Extended-Dot-Notation Path (
XdnPath
Class) - Prerelease: ConvertTo-Expression (based on
PSNode
class)
-
Fixed
- #40 Numeric keys don't convert to PSCustomObject
-
Enhancements
- Add Windows&Core test
-
Break changes
- (compared to 0.0.14) removed
Get-NodeWhere
cmdlet as it appears easier to useWhere-Object
on a leaf node and select its parent
- (compared to 0.0.14) removed
-
Fixed
- #20 Compare-ObjectGraph seems to be case sensitive, even when not using the MatchCase parameter
- #23 #Requires -Modules @{ModuleName="Pester"; ModuleVersion="5.5.0"}
- #38 Some methods as get_MaxDepth and get_Name supposed to be hidden
-
Fixes
- #36 Multiple
Get-ChildNode -Include
and-Exclude
pattern don't work
- #36 Multiple
-
Enhancements
- if
$MaxDepth
(in[PSNode]::ParseInput($InputObject, $MaxDepth)
) is 0 or less, the current/default maximum depth is used. - Added
Get-NodeWhere
cmdlet
- if
-
Fixes
- If no path is supplied for the
Get-Node
cmdlet, the root node is returned
- If no path is supplied for the
-
Enhancements
-
Fixes
- #31 ComponentModel.Component does not parse correctly
-
Enhancements
- Improved
PathName
property performance
- Improved
-
Break changes
- rename
-LeafNode
parameter fromGet-ChildNode
to just-Leaf
to be consistent with-ListChild
considering that the wordNode
is al ready in the cmdlet noun.
- rename
-
Enhancements
- Object parser: uniform
MaxDepth
property (might only be set at the root node) - Object parser: added:
GetDescendentNode(<path>)
(alias:Get(<path>)
) method - Object parser: added help
- Get-ChildNode: Added
-Path
parameter - Get-ChildNode: Added
-AtDepth
parameter - Get-ChildNode: Added
-IncludeSelf
parameter
- Object parser: uniform
-
Break changes
- Single property
Name
for both listIndex
and mapKey
- Single property
-
Enhancements
- Included class accessor support: https://github.com/iRon7/Use-ClassAccessors
- Add (readonly) properties as e.g.
Type
- Ability to change the embedded object property from the
Value
property
- Add (readonly) properties as e.g.
- Default display names:
Path
,Name
,Depth
,Value
- Included class accessor support: https://github.com/iRon7/Use-ClassAccessors