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.
Closes #4540
Problem
The current implementation of
invalidate
is quite limiting because the provided argument has to match the URL of the fetched resource exactly. It's not possible to invalidate resources that match a certain pattern. (Take a look at #4540 for more detailed problem description)Solution
Extend invalidate to take a
predicate
function as argument (similar toArray.prototype.some
).The
predicate
is run for each item ofdependencies
and will cause a rerun ofload
iftrue
is returned.Signature:
Example usage:
This makes the
invalidate
function far more useful IMO and would not break how it's currently used.Please don't delete this checklist! Before submitting the PR, please make sure you do the following:
Tests
pnpm test
and lint the project withpnpm lint
andpnpm check
Changesets
pnpx changeset
and following the prompts. All changesets should bepatch
until SvelteKit 1.0