10 Commits

Author SHA1 Message Date
Keepers
6f04321a60
replace scope values with filters (#674)
The filters package allows callers to specify both a target
to match on, and behavior of the comparison.  While data-
type scopes always equate to "equals", the control over
different comparison behavior is useful for info-type
filters.  This change integrates filters into scopes for
built-in control of those comparisons.
2022-08-30 21:29:24 +00:00
ashmrtn
ee57c7cb6c
Ignore multiple trailing '/' in path elements (#690)
Multiple unescaped trailing path separators should be trimmed from input elements so there are no empty elements or trailing unescaped separators at the end of the path or between elements
2022-08-30 19:30:28 +00:00
ashmrtn
f24ad6ccbd
Simplify path struct (#647)
* Rewrite basic path logic to be simpler

Make basic path logic deal only with path elements instead of elements
and segments. Upper-layer logic can deal with elements.

Base path logic does not require a complete resource path as would be
seen by kopia, it just manages splitting/joining/escaping path elements.
Will have transformers to go from a basic path to a resource specific
path in a follow up.

Remove upper-layer logic for now to reduce load while reviewing as it
also changed slightly. Will be re-added in a follow up
2022-08-26 08:43:46 -07:00
ashmrtn
da66cc4c2f
Enable more rigorous version of gofmt linting (#488)
* Enable a stricter linter

* Fix new lint errors
2022-08-05 13:33:20 -07:00
ashmrtn
9e2e88f5f3
Enable some linters in revive (#486)
* Turn on revive linter, ignore only a few things

* Fix lint errors

Ignore shadowing of 'suite' in tests for now. Also move some constants
that had the same value to tester.
2022-08-04 14:42:51 -07:00
ashmrtn
dac8c03139
Add tests for path.ExchangeMail (#428)
Tests for path.ExchangeMail were not originally included because
the functionality for them was not implemented yet
2022-07-28 15:17:51 +00:00
ashmrtn
e50728c0d6
Add function to get unescaped elements for a path segment (#422)
* Function and tests for returned unescaped elements

* Regression test and fix for empty segment bug

If a raw segment had no elements that had length > 0 or just didn't have
any elements it would still create a segment, throwing everything else
off. Explicitly test for that now.
2022-07-27 19:53:15 +00:00
ashmrtn
9b28d71705
fill in more path functions (#401)
Segment-based ctor and tests
2022-07-27 15:24:37 +00:00
ashmrtn
ea3c9c035e
Implement and test one path constructor and join (#398)
Implement and test one path constructor and join
2022-07-25 20:31:09 +00:00
ashmrtn
da8ff3c267
Define struct and interface for corso paths (#339)
* Define struct and interface for corso paths
* Add wrapper for ExchangeMail as an example
2022-07-22 10:25:55 -07:00