databricks-cli/libs
Pieter Noordhuis 2453cd49d9
Add `dyn.MapByPattern` to map a function to values with matching paths (#1266)
## Changes

The new `dyn.Pattern` type represents a path pattern that can match one
or more paths in a configuration tree. Every `dyn.Path` can be converted
to a `dyn.Pattern` that matches only a single path.

To accommodate this change, the visit function needed to be modified to
take a `dyn.Pattern` suffix. Every component in the pattern implements
an interface to work with the visit function. This function can recurse
on the visit function for one or more elements of the value being
visited. For patterns derived from a `dyn.Path`, it will work as it did
before and select the matching element. For the new pattern components
(e.g. `dyn.AnyKey` or `dyn.AnyIndex`), it recurses on all the elements
in the container.

## Tests

Unit tests. Confirmed full coverage for the new code.
2024-03-08 14:33:01 +00:00
..
auth Add short_name helper function to bundle init templates (#1167) 2024-02-01 16:46:07 +00:00
cmdgroup Make sure grouped flags are added to the command flag set (#1180) 2024-02-07 10:27:13 +00:00
cmdio Use Go SDK Iterators when listing resources with the CLI (#1202) 2024-02-21 14:16:36 +00:00
databrickscfg Use Go SDK Iterators when listing resources with the CLI (#1202) 2024-02-21 14:16:36 +00:00
diag Rename libs/config -> libs/dyn (#1086) 2023-12-22 13:20:45 +00:00
dyn Add `dyn.MapByPattern` to map a function to values with matching paths (#1266) 2024-03-08 14:33:01 +00:00
env Fix `panic: $HOME is not set` (#1027) 2023-11-29 19:08:27 +00:00
errs Added ability for deferred mutator execution (#380) 2023-05-16 18:01:50 +02:00
exec Fixed building Python artifacts on Windows with WSL (#1249) 2024-03-01 15:59:47 +00:00
filer Add support for UC Volumes to the `databricks fs` commands (#1209) 2024-02-20 16:14:37 +00:00
fileset Support .gitignore syntax in sync section and make sure it works recursively (#854) 2023-10-10 08:45:15 +00:00
flags Add override to support YAML inputs for apps (#921) 2023-10-27 18:57:26 +00:00
folders Move folders package into libs (#1184) 2024-02-07 16:33:18 +00:00
git Move folders package into libs (#1184) 2024-02-07 16:33:18 +00:00
jsonschema Add support for `anyOf` to `skip_prompt_if` (#1133) 2024-01-25 10:09:42 +00:00
locker Correct name for force acquire deploy flag (#656) 2023-08-15 19:03:43 +00:00
log Rewrite the friendly log handler (#1038) 2023-12-01 12:17:04 +00:00
notebook Added `databricks bundle generate job` command (#1043) 2024-01-17 14:26:33 +00:00
process Stub out Python virtual environment installation for `labs` commands (#1057) 2023-12-11 16:30:19 +00:00
python Added `python.DetectInterpreters` and other utils (#805) 2023-10-03 10:47:09 +00:00
set Added support for sync.include and sync.exclude sections (#671) 2023-08-18 08:07:25 +00:00
sync Support .gitignore syntax in sync section and make sure it works recursively (#854) 2023-10-10 08:45:15 +00:00
tags Library to validate and normalize cloud specific tags (#819) 2023-09-29 08:49:08 +00:00
template Fix DBConnect support in VS Code (#1253) 2024-03-05 14:31:27 +00:00
terraform Add bundle destroy command (#300) 2023-04-06 12:54:58 +02:00
testfile Refactor and cover edge cases in sync integration tests (#160) 2023-01-10 13:16:30 +01:00
textutil Added `databricks bundle generate job` command (#1043) 2024-01-17 14:26:33 +00:00