Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Unified Diff: third_party/pkg/route_hierarchical/lib/url_template.dart

Issue 1086713003: Remove everything but markdown from third_party (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/pkg/route_hierarchical/lib/url_template.dart
diff --git a/third_party/pkg/route_hierarchical/lib/url_template.dart b/third_party/pkg/route_hierarchical/lib/url_template.dart
deleted file mode 100644
index 069aeb79465314f40f35e350e291c70269973b30..0000000000000000000000000000000000000000
--- a/third_party/pkg/route_hierarchical/lib/url_template.dart
+++ /dev/null
@@ -1,93 +0,0 @@
-library url_template;
-
-import 'url_matcher.dart';
-
-final _specialChars = new RegExp(r'[\\()$^.+[\]{}|]');
-final _paramPattern = r'([^/?]+)';
-
-/**
- * A reversible URL template class that can match/parse and reverse URL
- * templates like: /foo/:bar/baz
- */
-class UrlTemplate implements UrlMatcher {
- List<String> _fields;
- RegExp _pattern;
- String _strPattern;
- List _chunks;
-
- String toString() => '$_pattern';
-
- int compareTo(UrlMatcher other) {
- final String tmpParamPattern = '\t';
- if (other is UrlTemplate) {
- String thisPattern = _strPattern.replaceAll(_paramPattern, tmpParamPattern);
- String otherPattern = other._strPattern.replaceAll(_paramPattern, tmpParamPattern);
- List<String> thisPatternParts = thisPattern.split('/');
- List<String> otherPatternParts = otherPattern.split('/');
- if (thisPatternParts.length == otherPatternParts.length) {
- for (int i = 0; i < thisPatternParts.length; i++) {
- String thisPart = thisPatternParts[i];
- String otherPart = otherPatternParts[i];
- if (thisPart == tmpParamPattern && otherPart != tmpParamPattern) {
- return 1;
- } else if (thisPart != tmpParamPattern && otherPart == tmpParamPattern) {
- return -1;
- }
- }
- return otherPattern.compareTo(thisPattern);
- } else {
- return otherPatternParts.length - thisPatternParts.length;
- }
- } else {
- return 0;
- }
- }
-
- UrlTemplate(String template) {
- _compileTemplate(template);
- }
-
- void _compileTemplate(String template) {
- template = template.
- replaceAllMapped(_specialChars, (m) => r'\' + m.group(0));
- _fields = <String>[];
- _chunks = [];
- var exp = new RegExp(r':(\w+)');
- StringBuffer sb = new StringBuffer('^');
- int start = 0;
- exp.allMatches(template).forEach((Match m) {
- var paramName = m.group(1);
- var txt = template.substring(start, m.start);
- _fields.add(paramName);
- _chunks.add(txt);
- _chunks.add((Map params) => params != null ? params[paramName] : null);
- sb.write(txt);
- sb.write(_paramPattern);
- start = m.end;
- });
- if (start != template.length) {
- var txt = template.substring(start, template.length);
- sb.write(txt);
- _chunks.add(txt);
- }
- _strPattern = sb.toString();
- _pattern = new RegExp(_strPattern);
- }
-
- UrlMatch match(String url) {
- var matches = _pattern.allMatches(url);
- if (matches.isEmpty) return null;
- var parameters = new Map();
- Match match = matches.first;
- for (var i = 0; i < match.groupCount; i++) {
- parameters[_fields[i]] = match.group(i + 1);
- }
- var tail = url.substring(match.group(0).length);
- return new UrlMatch(match.group(0), tail, parameters);
- }
-
- String reverse({Map parameters, String tail: ''}) =>
- _chunks.map((c) => c is Function ? c(parameters) : c).join() + tail;
-
- List<String> urlParameterNames() => _fields;
-}
« no previous file with comments | « third_party/pkg/route_hierarchical/lib/url_pattern.dart ('k') | third_party/pkg/route_hierarchical/package.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698