aboutsummaryrefslogtreecommitdiff
path: root/packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts')
-rw-r--r--packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts27
1 files changed, 0 insertions, 27 deletions
diff --git a/packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts b/packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts
deleted file mode 100644
index b408083ba..000000000
--- a/packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Remove duplicates and redundant patterns from an `include` or `exclude` list.
- * Otherwise Cloudflare will throw an error on deployment. Plus, it saves more entries.
- * E.g. `['/foo/*', '/foo/*', '/foo/bar'] => ['/foo/*']`
- * @param patterns a list of `include` or `exclude` patterns
- * @returns a deduplicated list of patterns
- */
-export function deduplicatePatterns(patterns: string[]) {
- const openPatterns: RegExp[] = [];
-
- // A value in the set may only occur once; it is unique in the set's collection.
- // ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set
- const uniquePatterns = [...new Set(patterns)];
- for (const pattern of uniquePatterns) {
- if (pattern.endsWith('*')) {
- openPatterns.push(new RegExp(`^${pattern.replace(/(\*\/)*\*$/g, '(?=.{2,}).+[^*\n]$')}`));
- }
- }
-
- return uniquePatterns
- .sort((a, b) => a.length - b.length)
- .filter((pattern) => {
- if (openPatterns.some((p) => p.test(pattern))) return false;
-
- return true;
- });
-}