Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add walk command #48

Merged
merged 103 commits into from
Feb 4, 2024
Merged

feat: add walk command #48

merged 103 commits into from
Feb 4, 2024

Conversation

kekavc24
Copy link
Owner

@kekavc24 kekavc24 commented Feb 4, 2024

Description

Type of Change

  • ✨ New feature (non-breaking change which adds functionality)
  • 🛠️ Bug fix (non-breaking change which fixes an issue)
  • ❌ Breaking change (fix or feature that would cause existing functionality to change)
  • 🧹 Code refactor
  • ✅ Build configuration change
  • 📝 Documentation
  • 🗑️ Chore

> add extension on map to update nested keys
> add extension to convert file read as String to Map
> clean up code to edit yaml file
> add information to error to give hint to user on what to fix
> update tests for refactored code to test via recursive function
> move tests to map extension test file
> add tests for recursively reading nested keys
> add tests for keys created when missing in file
> check exception matcher one added in 7348ac0
> reduce number of classes managing version modifiers
> update code to reflect changes
> make base class abstract
> add custom overrides for subtypes
> update test to to reflect changes
> consolidate file operations and reused properties to one class
> reduce number of inputs from outside the handler
> reduce code repetition. Move common functionality to super class
> move file I/O inputs to FileHandler a42d8dd
> move core functionality to subclasses with custom implementation
> allow for adding of maps in list
> allow for adding string/lists to map. map will be converted to list
> add support for recursive update of keys within lists
> add support for updates within lists nested in lists
> add helper function added in 532bb6e to class
> update recursive read to support changed added in 532bb6e
> add new tests for new functionality
> fix bug caught where value returned is not a string but list
> update tests based on changes added in 532bb6e
> add ignore rest args for set and bump command arg checkers
> add missing override for set command handler
> reduce constant conversion of file content
> add yml as valid file extension
> remove direct conversion of file to dart map
> add file ouput containing the file as YamlMap from file handler
> remove dead unreferenced code
> update tests to use update file output
> remove multiple "continue" in loops
> add recursive indexer for yaml/json nodes
> add finder that matches based on keys, values or pairs provided
> add data types for indexing & data nodes found based on conditions
> add extension method to check for this
> add hasAny method to iterable
> add minor documentation
> extend `FileHandler` to support multiple file reads
> add test for reading file from multiple directories
> abstract finder functionality
> rename exception helper to provide more context
> add method on parent Tracker class allowing to check if it contains a value
> not much of a destructive bug, but this would have resulted in wasting additional CPU time updating a path that already exists?
> replace guard clause with `map.putIfAbsent`
> allow for custom max tolerance injection
> move formatting method to actual class instead of making it a top level method
> rename file with utility methods for formatter
> remove confusing use of DualTrackerKey
> remove generics bloat which made it hard to understand functionality
> remove test for DualTrackerKey
> updated tests commit ref: b465b31, 9361917 & 8ae19f0
> remove static members & factory constructors. Make use of late & named constructors as is.
> make file inputs a generic map instead of a concrete type
> add way of accessing modified files in replacer manager
> initialize all code within constructor body in ReplacerManager
> A manager just manages the file queue. Most importantly, the FinderManager does the heavy lifting.
> add find subcommand for find values in yaml/json files
> add rename subcommand for renaming/swapping keys
> add replace subcommand for replacing values
> add handlers for each subcommand
@kekavc24 kekavc24 added adds-feature Pull request adds new feature with pending release to production. fixes bug Pull request fixes bug with pending release to production tests adds/modifies/removes tests labels Feb 4, 2024
@kekavc24
Copy link
Owner Author

kekavc24 commented Feb 4, 2024

👨🏽‍🍳 🥘

@kekavc24 kekavc24 merged commit 7513c0a into master Feb 4, 2024
3 checks passed
@kekavc24 kekavc24 deleted the feat/add-walk-command branch February 4, 2024 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
adds-feature Pull request adds new feature with pending release to production. fixes bug Pull request fixes bug with pending release to production tests adds/modifies/removes tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant