Index: third_party/pkg/route_hierarchical/lib/pattern.dart |
diff --git a/third_party/pkg/route_hierarchical/lib/pattern.dart b/third_party/pkg/route_hierarchical/lib/pattern.dart |
deleted file mode 100644 |
index 17f010ff32db7e472ac5abd2d949084e44035b77..0000000000000000000000000000000000000000 |
--- a/third_party/pkg/route_hierarchical/lib/pattern.dart |
+++ /dev/null |
@@ -1,81 +0,0 @@ |
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-/** |
- * Pattern utilities for use with server.Router. |
- * |
- * Example: |
- * |
- * var router = new Router(server); |
- * router.filter(matchesAny(new UrlPattern(r'/(\w+)'), |
- * exclude: [new UrlPattern('/login')]), authFilter); |
- */ |
-library pattern; |
- |
-class _MultiPattern extends Pattern { |
- final Iterable<Pattern> include; |
- final Iterable<Pattern> exclude; |
- |
- _MultiPattern(Iterable<Pattern> this.include, |
- {Iterable<Pattern> this.exclude}); |
- |
- Iterable<Match> allMatches(String str) { |
- var _allMatches = []; |
- for (var pattern in include) { |
- var matches = pattern.allMatches(str); |
- if (_hasMatch(matches)) { |
- if (exclude != null) { |
- for (var excludePattern in exclude) { |
- if (_hasMatch(excludePattern.allMatches(str))) { |
- return []; |
- } |
- } |
- } |
- _allMatches.add(matches); |
- } |
- } |
- return _allMatches.expand((x) => x); |
- } |
- |
- Match matchAsPrefix(String string, [int start = 0]) { |
- throw new UnimplementedError('matchAsPrefix is not implemented'); |
- } |
-} |
- |
-/** |
- * Returns a [Pattern] that matches against every pattern in [include] and |
- * returns all the matches. If the input string matches against any pattern in |
- * [exclude] no matches are returned. |
- */ |
-Pattern matchAny(Iterable<Pattern> include, {Iterable<Pattern> exclude}) => |
- new _MultiPattern(include, exclude: exclude); |
- |
-/** |
- * Returns true if [pattern] has a single match in [str] that matches the whole |
- * string, not a substring. |
- */ |
-bool matchesFull(Pattern pattern, String str) { |
- var iter = pattern.allMatches(str).iterator; |
- if (iter.moveNext()) { |
- var match = iter.current; |
- return match.start == 0 && match.end == str.length && !iter.moveNext(); |
- } |
- return false; |
-} |
- |
-bool matchesPrefix(Pattern pattern, String str) { |
- Iterable<Match> matches = pattern.allMatches(str); |
- return !matches.isEmpty && matches.first.start == 0; |
-} |
- |
-/// return the tail |
-Match prefixMatch(Pattern pattern, String str) { |
- Iterable<Match> matches = pattern.allMatches(str); |
- if (!matches.isEmpty && matches.first.start == 0) { |
- return matches.first; |
- } |
- return null; |
-} |
- |
-bool _hasMatch(Iterable<Match> matches) => matches.iterator.moveNext(); |