Accept an AST and a whitelist Array of AST leaves #11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Taking off from: #7 (comment)
This PR redesigns the external API to take new kinds of arguments:
the AST for an SPDX expression, in the form returned by spdx-expression-parse
an Array of AST leaves, each corresponding to a license, license with exception, license range, or license range with exception
A few benefits:
This approach massively simplifies the underlying algorithm. We're back to straightforward recursion.
This approach leaves room for nonstandard license identifiers.
spdx-expression-parse
is now adevDependency
, for the test suite. But neither the parser nor the license-list data package it depends on remain production dependencies.Completely valid and completely unanswerable questions about the intended semantics are entirely avoided. Which is a good sign.