ApplicationInspector icon indicating copy to clipboard operation
ApplicationInspector copied to clipboard

Implement YamlPath for YamlDotNet

Open gfs opened this issue 3 years ago • 0 comments

Fix #490.

Imeplements YamlPath support with extension methods based on YamlDotNet.

YamlPath Spec: https://github.com/wwkimball/yamlpath/wiki/Segments-of-a-YAML-Path

Based on the spec this is the current state of the PR:

Done: Array Elements Array Element Searches Array Slices Hash Attribute Searches Hash Keys Hash Slices Pass-Through Selections for Arrays of Hashes Wildcards Regex operator Negate operator Sets Escaped Key Names Key names with dots ** recursive Wildcard Anchors Demarcated strings as Terms Search Keywords

  • has_child
  • max
  • min

To Do: https://github.com/wwkimball/yamlpath/wiki/Wildcard-Segments#search-shorthand Semi-Wildcards

https://github.com/wwkimball/yamlpath/wiki/Search-Expressions Search Expressions alternate operand meanings. Currently the operand is only interpreted as the name of the child key in a hash: Test if [] patterns work alone with no key.

Not supported and might be implemented: Search Keywords

  • name I believe this would be onerous based on the object structure. Each node in YamlDotNet doesn't know the name it is keyed to in the original structure, may require significant refactoring or reverse engineering from the raw yml node graph.
  • parent I believe this would be onerous based on the object structure. Objects in YamlDotNet don't track their parent. Would have to reverse engineer parents from the raw yml node graph.

Not Supported and likely won't be implemented: Collectors/Collector Math

  • Not familiar with these and unsure how they are useful.

gfs avatar Sep 19 '22 20:09 gfs