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

Side by Side Diff: test/codegen_expected/path/path.js

Issue 2164763005: Library custom formatters (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Removal of generic argument parenthesis Created 4 years, 5 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 unified diff | Download patch
OLDNEW
1 dart_library.library('path', null, /* Imports */[ 1 dart_library.library('path', null, /* Imports */[
2 'dart_sdk' 2 'dart_sdk'
3 ], function load__path(exports, dart_sdk) { 3 ], function load__path(exports, dart_sdk) {
4 'use strict'; 4 'use strict';
5 const core = dart_sdk.core; 5 const core = dart_sdk.core;
6 const _interceptors = dart_sdk._interceptors; 6 const _interceptors = dart_sdk._interceptors;
7 const dart = dart_sdk.dart; 7 const dart = dart_sdk.dart;
8 const dartx = dart_sdk.dartx; 8 const dartx = dart_sdk.dartx;
9 const path$ = Object.create(null);
10 const src__characters = Object.create(null); 9 const src__characters = Object.create(null);
11 const src__context = Object.create(null); 10 const src__style__windows = Object.create(null);
12 const src__internal_style = Object.create(null);
13 const src__parsed_path = Object.create(null);
14 const src__path_exception = Object.create(null);
15 const src__style__posix = Object.create(null); 11 const src__style__posix = Object.create(null);
16 const src__style__url = Object.create(null); 12 const src__style__url = Object.create(null);
17 const src__style__windows = Object.create(null); 13 const src__path_exception = Object.create(null);
18 const src__style = Object.create(null); 14 const src__style = Object.create(null);
19 const src__utils = Object.create(null); 15 const src__utils = Object.create(null);
16 const src__parsed_path = Object.create(null);
17 const src__internal_style = Object.create(null);
18 const src__context = Object.create(null);
19 const path$ = Object.create(null);
20 let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSAr ray$(core.String)))();
21 let ListOfString = () => (ListOfString = dart.constFn(core.List$(core.String)) )();
20 let IterableOfString = () => (IterableOfString = dart.constFn(core.Iterable$(c ore.String)))(); 22 let IterableOfString = () => (IterableOfString = dart.constFn(core.Iterable$(c ore.String)))();
21 let ListOfString = () => (ListOfString = dart.constFn(core.List$(core.String)) )(); 23 let StringTobool = () => (StringTobool = dart.constFn(dart.definiteFunctionTyp e(core.bool, [core.String])))();
22 let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSAr ray$(core.String)))(); 24 let intTobool = () => (intTobool = dart.constFn(dart.definiteFunctionType(core .bool, [core.int])))();
25 let intToString = () => (intToString = dart.constFn(dart.definiteFunctionType( core.String, [core.int])))();
26 let VoidToString = () => (VoidToString = dart.constFn(dart.definiteFunctionTyp e(core.String, [])))();
27 let VoidToContext = () => (VoidToContext = dart.constFn(dart.definiteFunctionT ype(src__context.Context, [])))();
28 let StringToString = () => (StringToString = dart.constFn(dart.definiteFunctio nType(core.String, [core.String])))();
29 let StringAndListOfStringTodynamic = () => (StringAndListOfStringTodynamic = d art.constFn(dart.definiteFunctionType(dart.dynamic, [core.String, ListOfString() ])))();
23 let String__ToString = () => (String__ToString = dart.constFn(dart.definiteFun ctionType(core.String, [core.String], [core.String, core.String, core.String, co re.String, core.String, core.String])))(); 30 let String__ToString = () => (String__ToString = dart.constFn(dart.definiteFun ctionType(core.String, [core.String], [core.String, core.String, core.String, co re.String, core.String, core.String])))();
24 let StringToString = () => (StringToString = dart.constFn(dart.definiteFunctio nType(core.String, [core.String])))();
25 let StringTobool = () => (StringTobool = dart.constFn(dart.definiteFunctionTyp e(core.bool, [core.String])))();
26 let String__ToString$ = () => (String__ToString$ = dart.constFn(dart.definiteF unctionType(core.String, [core.String], [core.String, core.String, core.String, core.String, core.String, core.String, core.String])))(); 31 let String__ToString$ = () => (String__ToString$ = dart.constFn(dart.definiteF unctionType(core.String, [core.String], [core.String, core.String, core.String, core.String, core.String, core.String, core.String])))();
27 let IterableOfStringToString = () => (IterableOfStringToString = dart.constFn( dart.definiteFunctionType(core.String, [IterableOfString()])))(); 32 let IterableOfStringToString = () => (IterableOfStringToString = dart.constFn( dart.definiteFunctionType(core.String, [IterableOfString()])))();
28 let StringToListOfString = () => (StringToListOfString = dart.constFn(dart.def initeFunctionType(ListOfString(), [core.String])))(); 33 let StringToListOfString = () => (StringToListOfString = dart.constFn(dart.def initeFunctionType(ListOfString(), [core.String])))();
29 let String__ToString$0 = () => (String__ToString$0 = dart.constFn(dart.definit eFunctionType(core.String, [core.String], {from: core.String})))(); 34 let String__ToString$0 = () => (String__ToString$0 = dart.constFn(dart.definit eFunctionType(core.String, [core.String], {from: core.String})))();
30 let StringAndStringTobool = () => (StringAndStringTobool = dart.constFn(dart.d efiniteFunctionType(core.bool, [core.String, core.String])))(); 35 let StringAndStringTobool = () => (StringAndStringTobool = dart.constFn(dart.d efiniteFunctionType(core.bool, [core.String, core.String])))();
31 let dynamicToString = () => (dynamicToString = dart.constFn(dart.definiteFunct ionType(core.String, [dart.dynamic])))(); 36 let dynamicToString = () => (dynamicToString = dart.constFn(dart.definiteFunct ionType(core.String, [dart.dynamic])))();
32 let StringToUri = () => (StringToUri = dart.constFn(dart.definiteFunctionType( core.Uri, [core.String])))(); 37 let StringToUri = () => (StringToUri = dart.constFn(dart.definiteFunctionType( core.Uri, [core.String])))();
33 let VoidToContext = () => (VoidToContext = dart.constFn(dart.definiteFunctionT ype(src__context.Context, [])))(); 38 src__characters.PLUS = 43;
34 let StringAndListOfStringTodynamic = () => (StringAndListOfStringTodynamic = d art.constFn(dart.definiteFunctionType(dart.dynamic, [core.String, ListOfString() ])))(); 39 src__characters.MINUS = 45;
35 let intToString = () => (intToString = dart.constFn(dart.definiteFunctionType( core.String, [core.int])))(); 40 src__characters.PERIOD = 46;
36 let VoidToString = () => (VoidToString = dart.constFn(dart.definiteFunctionTyp e(core.String, [])))(); 41 src__characters.SLASH = 47;
37 let intTobool = () => (intTobool = dart.constFn(dart.definiteFunctionType(core .bool, [core.int])))(); 42 src__characters.ZERO = 48;
38 dart.defineLazy(path$, { 43 src__characters.NINE = 57;
44 src__characters.COLON = 58;
45 src__characters.UPPER_A = 65;
46 src__characters.UPPER_Z = 90;
47 src__characters.LOWER_A = 97;
48 src__characters.LOWER_Z = 122;
49 src__characters.BACKSLASH = 92;
50 let const$;
51 src__style.Style = class Style extends core.Object {
52 static _getPlatformStyle() {
53 if (core.Uri.base.scheme != 'file') return src__style.Style.url;
54 if (!dart.test(core.Uri.base.path[dartx.endsWith]('/'))) return src__style .Style.url;
55 if (core.Uri.new({path: 'a/b'}).toFilePath() == 'a\\b') return src__style. Style.windows;
56 return src__style.Style.posix;
57 }
58 get context() {
59 return src__context.Context.new({style: this});
60 }
61 toString() {
62 return this.name;
63 }
64 };
65 dart.setSignature(src__style.Style, {
66 statics: () => ({_getPlatformStyle: dart.definiteFunctionType(src__style.Sty le, [])}),
67 names: ['_getPlatformStyle']
68 });
69 dart.defineLazy(src__style.Style, {
39 get posix() { 70 get posix() {
40 return src__context.Context.new({style: src__style.Style.posix}); 71 return new src__style__posix.PosixStyle();
41 } 72 },
42 });
43 dart.defineLazy(path$, {
44 get windows() { 73 get windows() {
45 return src__context.Context.new({style: src__style.Style.windows}); 74 return new src__style__windows.WindowsStyle();
46 } 75 },
47 });
48 dart.defineLazy(path$, {
49 get url() { 76 get url() {
50 return src__context.Context.new({style: src__style.Style.url}); 77 return new src__style__url.UrlStyle();
51 } 78 },
52 }); 79 get platform() {
53 dart.defineLazy(path$, { 80 return src__style.Style._getPlatformStyle();
54 get context() { 81 }
55 return src__context.createInternal(); 82 });
56 } 83 src__internal_style.InternalStyle = class InternalStyle extends src__style.Sty le {
57 }); 84 getRoot(path) {
58 dart.copyProperties(path$, { 85 let length = this.rootLength(path);
59 get style() { 86 if (dart.notNull(length) > 0) return path[dartx.substring](0, length);
60 return path$.context.style; 87 return dart.test(this.isRootRelative(path)) ? path[dartx.get](0) : null;
61 } 88 }
62 }); 89 relativePathToUri(path) {
63 dart.copyProperties(path$, { 90 let segments = this.context.split(path);
64 get current() { 91 if (dart.test(this.isSeparator(path[dartx.codeUnitAt](dart.notNull(path[da rtx.length]) - 1)))) segments[dartx.add]('');
65 let uri = core.Uri.base; 92 return core.Uri.new({pathSegments: segments});
66 if (dart.equals(uri, path$._currentUriBase)) return path$._current; 93 }
67 path$._currentUriBase = uri; 94 };
68 if (dart.equals(src__style.Style.platform, src__style.Style.url)) { 95 dart.setSignature(src__internal_style.InternalStyle, {
69 path$._current = dart.toString(uri.resolve('.')); 96 methods: () => ({
70 return path$._current; 97 getRoot: dart.definiteFunctionType(core.String, [core.String]),
98 relativePathToUri: dart.definiteFunctionType(core.Uri, [core.String])
99 })
100 });
101 src__style__windows.WindowsStyle = class WindowsStyle extends src__internal_st yle.InternalStyle {
102 new() {
103 this.separatorPattern = core.RegExp.new('[/\\\\]');
104 this.needsSeparatorPattern = core.RegExp.new('[^/\\\\]$');
105 this.rootPattern = core.RegExp.new('^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA- Z]:[/\\\\])');
106 this.relativeRootPattern = core.RegExp.new("^[/\\\\](?![/\\\\])");
107 this.name = 'windows';
108 this.separator = '\\';
109 this.separators = const$ || (const$ = dart.constList(['/', '\\'], core.Str ing));
110 }
111 containsSeparator(path) {
112 return path[dartx.contains]('/');
113 }
114 isSeparator(codeUnit) {
115 return codeUnit == src__characters.SLASH || codeUnit == src__characters.BA CKSLASH;
116 }
117 needsSeparator(path) {
118 if (dart.test(path[dartx.isEmpty])) return false;
119 return !dart.test(this.isSeparator(path[dartx.codeUnitAt](dart.notNull(pat h[dartx.length]) - 1)));
120 }
121 rootLength(path) {
122 if (dart.test(path[dartx.isEmpty])) return 0;
123 if (path[dartx.codeUnitAt](0) == src__characters.SLASH) return 1;
124 if (path[dartx.codeUnitAt](0) == src__characters.BACKSLASH) {
125 if (dart.notNull(path[dartx.length]) < 2 || path[dartx.codeUnitAt](1) != src__characters.BACKSLASH) return 1;
126 let index = path[dartx.indexOf]('\\', 2);
127 if (dart.notNull(index) > 0) {
128 index = path[dartx.indexOf]('\\', dart.notNull(index) + 1);
129 if (dart.notNull(index) > 0) return index;
130 }
131 return path[dartx.length];
132 }
133 if (dart.notNull(path[dartx.length]) < 3) return 0;
134 if (!dart.test(src__utils.isAlphabetic(path[dartx.codeUnitAt](0)))) return 0;
135 if (path[dartx.codeUnitAt](1) != src__characters.COLON) return 0;
136 if (!dart.test(this.isSeparator(path[dartx.codeUnitAt](2)))) return 0;
137 return 3;
138 }
139 isRootRelative(path) {
140 return this.rootLength(path) == 1;
141 }
142 getRelativeRoot(path) {
143 let length = this.rootLength(path);
144 if (length == 1) return path[dartx.get](0);
145 return null;
146 }
147 pathFromUri(uri) {
148 if (uri.scheme != '' && uri.scheme != 'file') {
149 dart.throw(new core.ArgumentError(dart.str`Uri ${uri} must have scheme ' file:'.`));
150 }
151 let path = uri.path;
152 if (uri.host == '') {
153 if (dart.test(path[dartx.startsWith]('/'))) path = path[dartx.replaceFir st]("/", "");
71 } else { 154 } else {
72 let path = uri.toFilePath(); 155 path = dart.str`\\\\${uri.host}${path}`;
73 let lastIndex = dart.notNull(path[dartx.length]) - 1; 156 }
74 dart.assert(path[dartx.get](lastIndex) == '/' || path[dartx.get](lastInd ex) == '\\'); 157 return core.Uri.decodeComponent(path[dartx.replaceAll]("/", "\\"));
75 path$._current = path[dartx.substring](0, lastIndex); 158 }
76 return path$._current; 159 absolutePathToUri(path) {
77 } 160 let parsed = src__parsed_path.ParsedPath.parse(path, this);
78 } 161 if (dart.test(parsed.root[dartx.startsWith]('\\\\'))) {
79 }); 162 let rootParts = parsed.root[dartx.split]('\\')[dartx.where](dart.fn(part => part != '', StringTobool()));
80 path$._currentUriBase = null; 163 parsed.parts[dartx.insert](0, rootParts[dartx.last]);
81 path$._current = null; 164 if (dart.test(parsed.hasTrailingSeparator)) {
82 dart.copyProperties(path$, { 165 parsed.parts[dartx.add]("");
83 get separator() { 166 }
84 return path$.context.separator; 167 return core.Uri.new({scheme: 'file', host: rootParts[dartx.first], pathS egments: parsed.parts});
85 } 168 } else {
86 }); 169 if (parsed.parts[dartx.length] == 0 || dart.test(parsed.hasTrailingSepar ator)) {
87 path$.absolute = function(part1, part2, part3, part4, part5, part6, part7) { 170 parsed.parts[dartx.add]("");
88 if (part2 === void 0) part2 = null; 171 }
89 if (part3 === void 0) part3 = null; 172 parsed.parts[dartx.insert](0, parsed.root[dartx.replaceAll]("/", "")[dar tx.replaceAll]("\\", ""));
90 if (part4 === void 0) part4 = null; 173 return core.Uri.new({scheme: 'file', pathSegments: parsed.parts});
91 if (part5 === void 0) part5 = null; 174 }
92 if (part6 === void 0) part6 = null; 175 }
93 if (part7 === void 0) part7 = null; 176 };
94 return path$.context.absolute(part1, part2, part3, part4, part5, part6, part 7); 177 dart.setSignature(src__style__windows.WindowsStyle, {
95 }; 178 constructors: () => ({new: dart.definiteFunctionType(src__style__windows.Win dowsStyle, [])}),
96 dart.fn(path$.absolute, String__ToString()); 179 methods: () => ({
97 path$.basename = function(path) { 180 containsSeparator: dart.definiteFunctionType(core.bool, [core.String]),
98 return path$.context.basename(path); 181 isSeparator: dart.definiteFunctionType(core.bool, [core.int]),
99 }; 182 needsSeparator: dart.definiteFunctionType(core.bool, [core.String]),
100 dart.fn(path$.basename, StringToString()); 183 rootLength: dart.definiteFunctionType(core.int, [core.String]),
101 path$.basenameWithoutExtension = function(path) { 184 isRootRelative: dart.definiteFunctionType(core.bool, [core.String]),
102 return path$.context.basenameWithoutExtension(path); 185 getRelativeRoot: dart.definiteFunctionType(core.String, [core.String]),
103 }; 186 pathFromUri: dart.definiteFunctionType(core.String, [core.Uri]),
104 dart.fn(path$.basenameWithoutExtension, StringToString()); 187 absolutePathToUri: dart.definiteFunctionType(core.Uri, [core.String])
105 path$.dirname = function(path) { 188 })
106 return path$.context.dirname(path); 189 });
107 }; 190 let const$0;
108 dart.fn(path$.dirname, StringToString()); 191 src__style__posix.PosixStyle = class PosixStyle extends src__internal_style.In ternalStyle {
109 path$.extension = function(path) { 192 new() {
110 return path$.context.extension(path); 193 this.separatorPattern = core.RegExp.new('/');
111 }; 194 this.needsSeparatorPattern = core.RegExp.new('[^/]$');
112 dart.fn(path$.extension, StringToString()); 195 this.rootPattern = core.RegExp.new('^/');
113 path$.rootPrefix = function(path) { 196 this.name = 'posix';
114 return path$.context.rootPrefix(path); 197 this.separator = '/';
115 }; 198 this.separators = const$0 || (const$0 = dart.constList(['/'], core.String) );
116 dart.fn(path$.rootPrefix, StringToString()); 199 this.relativeRootPattern = null;
117 path$.isAbsolute = function(path) { 200 }
118 return path$.context.isAbsolute(path); 201 containsSeparator(path) {
119 }; 202 return path[dartx.contains]('/');
120 dart.fn(path$.isAbsolute, StringTobool()); 203 }
121 path$.isRelative = function(path) { 204 isSeparator(codeUnit) {
122 return path$.context.isRelative(path); 205 return codeUnit == src__characters.SLASH;
123 }; 206 }
124 dart.fn(path$.isRelative, StringTobool()); 207 needsSeparator(path) {
125 path$.isRootRelative = function(path) { 208 return dart.test(path[dartx.isNotEmpty]) && !dart.test(this.isSeparator(pa th[dartx.codeUnitAt](dart.notNull(path[dartx.length]) - 1)));
126 return path$.context.isRootRelative(path); 209 }
127 }; 210 rootLength(path) {
128 dart.fn(path$.isRootRelative, StringTobool()); 211 if (dart.test(path[dartx.isNotEmpty]) && dart.test(this.isSeparator(path[d artx.codeUnitAt](0)))) return 1;
129 path$.join = function(part1, part2, part3, part4, part5, part6, part7, part8) { 212 return 0;
130 if (part2 === void 0) part2 = null; 213 }
131 if (part3 === void 0) part3 = null; 214 isRootRelative(path) {
132 if (part4 === void 0) part4 = null; 215 return false;
133 if (part5 === void 0) part5 = null; 216 }
134 if (part6 === void 0) part6 = null; 217 getRelativeRoot(path) {
135 if (part7 === void 0) part7 = null; 218 return null;
136 if (part8 === void 0) part8 = null; 219 }
137 return path$.context.join(part1, part2, part3, part4, part5, part6, part7, p art8); 220 pathFromUri(uri) {
138 }; 221 if (uri.scheme == '' || uri.scheme == 'file') {
139 dart.fn(path$.join, String__ToString$()); 222 return core.Uri.decodeComponent(uri.path);
140 path$.joinAll = function(parts) { 223 }
141 return path$.context.joinAll(parts); 224 dart.throw(new core.ArgumentError(dart.str`Uri ${uri} must have scheme 'fi le:'.`));
142 }; 225 }
143 dart.fn(path$.joinAll, IterableOfStringToString()); 226 absolutePathToUri(path) {
144 path$.split = function(path) { 227 let parsed = src__parsed_path.ParsedPath.parse(path, this);
145 return path$.context.split(path); 228 if (dart.test(parsed.parts[dartx.isEmpty])) {
146 }; 229 parsed.parts[dartx.addAll](JSArrayOfString().of(["", ""]));
147 dart.fn(path$.split, StringToListOfString()); 230 } else if (dart.test(parsed.hasTrailingSeparator)) {
148 path$.normalize = function(path) { 231 parsed.parts[dartx.add]("");
149 return path$.context.normalize(path); 232 }
150 }; 233 return core.Uri.new({scheme: 'file', pathSegments: parsed.parts});
151 dart.fn(path$.normalize, StringToString()); 234 }
152 path$.relative = function(path, opts) { 235 };
153 let from = opts && 'from' in opts ? opts.from : null; 236 dart.setSignature(src__style__posix.PosixStyle, {
154 return path$.context.relative(path, {from: from}); 237 constructors: () => ({new: dart.definiteFunctionType(src__style__posix.Posix Style, [])}),
155 }; 238 methods: () => ({
156 dart.fn(path$.relative, String__ToString$0()); 239 containsSeparator: dart.definiteFunctionType(core.bool, [core.String]),
157 path$.isWithin = function(parent, child) { 240 isSeparator: dart.definiteFunctionType(core.bool, [core.int]),
158 return path$.context.isWithin(parent, child); 241 needsSeparator: dart.definiteFunctionType(core.bool, [core.String]),
159 }; 242 rootLength: dart.definiteFunctionType(core.int, [core.String]),
160 dart.fn(path$.isWithin, StringAndStringTobool()); 243 isRootRelative: dart.definiteFunctionType(core.bool, [core.String]),
161 path$.withoutExtension = function(path) { 244 getRelativeRoot: dart.definiteFunctionType(core.String, [core.String]),
162 return path$.context.withoutExtension(path); 245 pathFromUri: dart.definiteFunctionType(core.String, [core.Uri]),
163 }; 246 absolutePathToUri: dart.definiteFunctionType(core.Uri, [core.String])
164 dart.fn(path$.withoutExtension, StringToString()); 247 })
165 path$.fromUri = function(uri) { 248 });
166 return path$.context.fromUri(uri); 249 let const$1;
167 }; 250 src__style__url.UrlStyle = class UrlStyle extends src__internal_style.Internal Style {
168 dart.fn(path$.fromUri, dynamicToString()); 251 new() {
169 path$.toUri = function(path) { 252 this.separatorPattern = core.RegExp.new('/');
170 return path$.context.toUri(path); 253 this.needsSeparatorPattern = core.RegExp.new("(^[a-zA-Z][-+.a-zA-Z\\d]*:// |[^/])$");
171 }; 254 this.rootPattern = core.RegExp.new("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*");
172 dart.fn(path$.toUri, StringToUri()); 255 this.relativeRootPattern = core.RegExp.new("^/");
173 path$.prettyUri = function(uri) { 256 this.name = 'url';
174 return path$.context.prettyUri(uri); 257 this.separator = '/';
175 }; 258 this.separators = const$1 || (const$1 = dart.constList(['/'], core.String) );
176 dart.fn(path$.prettyUri, dynamicToString()); 259 }
260 containsSeparator(path) {
261 return path[dartx.contains]('/');
262 }
263 isSeparator(codeUnit) {
264 return codeUnit == src__characters.SLASH;
265 }
266 needsSeparator(path) {
267 if (dart.test(path[dartx.isEmpty])) return false;
268 if (!dart.test(this.isSeparator(path[dartx.codeUnitAt](dart.notNull(path[d artx.length]) - 1)))) return true;
269 return dart.test(path[dartx.endsWith]("://")) && this.rootLength(path) == path[dartx.length];
270 }
271 rootLength(path) {
272 if (dart.test(path[dartx.isEmpty])) return 0;
273 if (dart.test(this.isSeparator(path[dartx.codeUnitAt](0)))) return 1;
274 let index = path[dartx.indexOf]("/");
275 if (dart.notNull(index) > 0 && dart.test(path[dartx.startsWith]('://', dar t.notNull(index) - 1))) {
276 index = path[dartx.indexOf]('/', dart.notNull(index) + 2);
277 if (dart.notNull(index) > 0) return index;
278 return path[dartx.length];
279 }
280 return 0;
281 }
282 isRootRelative(path) {
283 return dart.test(path[dartx.isNotEmpty]) && dart.test(this.isSeparator(pat h[dartx.codeUnitAt](0)));
284 }
285 getRelativeRoot(path) {
286 return dart.test(this.isRootRelative(path)) ? '/' : null;
287 }
288 pathFromUri(uri) {
289 return dart.toString(uri);
290 }
291 relativePathToUri(path) {
292 return core.Uri.parse(path);
293 }
294 absolutePathToUri(path) {
295 return core.Uri.parse(path);
296 }
297 };
298 dart.setSignature(src__style__url.UrlStyle, {
299 constructors: () => ({new: dart.definiteFunctionType(src__style__url.UrlStyl e, [])}),
300 methods: () => ({
301 containsSeparator: dart.definiteFunctionType(core.bool, [core.String]),
302 isSeparator: dart.definiteFunctionType(core.bool, [core.int]),
303 needsSeparator: dart.definiteFunctionType(core.bool, [core.String]),
304 rootLength: dart.definiteFunctionType(core.int, [core.String]),
305 isRootRelative: dart.definiteFunctionType(core.bool, [core.String]),
306 getRelativeRoot: dart.definiteFunctionType(core.String, [core.String]),
307 pathFromUri: dart.definiteFunctionType(core.String, [core.Uri]),
308 absolutePathToUri: dart.definiteFunctionType(core.Uri, [core.String])
309 })
310 });
311 src__path_exception.PathException = class PathException extends core.Object {
312 new(message) {
313 this.message = message;
314 }
315 toString() {
316 return dart.str`PathException: ${this.message}`;
317 }
318 };
319 src__path_exception.PathException[dart.implements] = () => [core.Exception];
320 dart.setSignature(src__path_exception.PathException, {
321 constructors: () => ({new: dart.definiteFunctionType(src__path_exception.Pat hException, [core.String])})
322 });
323 src__utils.isAlphabetic = function(char) {
324 return dart.notNull(char) >= src__characters.UPPER_A && dart.notNull(char) < = src__characters.UPPER_Z || dart.notNull(char) >= src__characters.LOWER_A && da rt.notNull(char) <= src__characters.LOWER_Z;
325 };
326 dart.fn(src__utils.isAlphabetic, intTobool());
327 src__utils.isNumeric = function(char) {
328 return dart.notNull(char) >= src__characters.ZERO && dart.notNull(char) <= s rc__characters.NINE;
329 };
330 dart.fn(src__utils.isNumeric, intTobool());
331 const _splitExtension = Symbol('_splitExtension');
332 src__parsed_path.ParsedPath = class ParsedPath extends core.Object {
333 get extension() {
334 return this[_splitExtension]()[dartx.get](1);
335 }
336 get isAbsolute() {
337 return this.root != null;
338 }
339 static parse(path, style) {
340 let root = style.getRoot(path);
341 let isRootRelative = style.isRootRelative(path);
342 if (root != null) path = path[dartx.substring](root[dartx.length]);
343 let parts = JSArrayOfString().of([]);
344 let separators = JSArrayOfString().of([]);
345 let start = 0;
346 if (dart.test(path[dartx.isNotEmpty]) && dart.test(style.isSeparator(path[ dartx.codeUnitAt](0)))) {
347 separators[dartx.add](path[dartx.get](0));
348 start = 1;
349 } else {
350 separators[dartx.add]('');
351 }
352 for (let i = start; i < dart.notNull(path[dartx.length]); i++) {
353 if (dart.test(style.isSeparator(path[dartx.codeUnitAt](i)))) {
354 parts[dartx.add](path[dartx.substring](start, i));
355 separators[dartx.add](path[dartx.get](i));
356 start = i + 1;
357 }
358 }
359 if (start < dart.notNull(path[dartx.length])) {
360 parts[dartx.add](path[dartx.substring](start));
361 separators[dartx.add]('');
362 }
363 return new src__parsed_path.ParsedPath._(style, root, isRootRelative, part s, separators);
364 }
365 _(style, root, isRootRelative, parts, separators) {
366 this.style = style;
367 this.root = root;
368 this.isRootRelative = isRootRelative;
369 this.parts = parts;
370 this.separators = separators;
371 }
372 get basename() {
373 let copy = this.clone();
374 copy.removeTrailingSeparators();
375 if (dart.test(copy.parts[dartx.isEmpty])) return this.root == null ? '' : this.root;
376 return copy.parts[dartx.last];
377 }
378 get basenameWithoutExtension() {
379 return this[_splitExtension]()[dartx.get](0);
380 }
381 get hasTrailingSeparator() {
382 return !dart.test(this.parts[dartx.isEmpty]) && (this.parts[dartx.last] == '' || this.separators[dartx.last] != '');
383 }
384 removeTrailingSeparators() {
385 while (!dart.test(this.parts[dartx.isEmpty]) && this.parts[dartx.last] == '') {
386 this.parts[dartx.removeLast]();
387 this.separators[dartx.removeLast]();
388 }
389 if (dart.notNull(this.separators[dartx.length]) > 0) this.separators[dartx .set](dart.notNull(this.separators[dartx.length]) - 1, '');
390 }
391 normalize() {
392 let leadingDoubles = 0;
393 let newParts = JSArrayOfString().of([]);
394 for (let part of this.parts) {
395 if (part == '.' || part == '') {
396 } else if (part == '..') {
397 if (dart.notNull(newParts[dartx.length]) > 0) {
398 newParts[dartx.removeLast]();
399 } else {
400 leadingDoubles++;
401 }
402 } else {
403 newParts[dartx.add](part);
404 }
405 }
406 if (!dart.test(this.isAbsolute)) {
407 newParts[dartx.insertAll](0, ListOfString().filled(leadingDoubles, '..') );
408 }
409 if (newParts[dartx.length] == 0 && !dart.test(this.isAbsolute)) {
410 newParts[dartx.add]('.');
411 }
412 let newSeparators = ListOfString().generate(newParts[dartx.length], dart.f n(_ => this.style.separator, intToString()), {growable: true});
413 newSeparators[dartx.insert](0, dart.test(this.isAbsolute) && dart.notNull( newParts[dartx.length]) > 0 && dart.test(this.style.needsSeparator(this.root)) ? this.style.separator : '');
414 this.parts = newParts;
415 this.separators = newSeparators;
416 if (this.root != null && dart.equals(this.style, src__style.Style.windows) ) {
417 this.root = this.root[dartx.replaceAll]('/', '\\');
418 }
419 this.removeTrailingSeparators();
420 }
421 toString() {
422 let builder = new core.StringBuffer();
423 if (this.root != null) builder.write(this.root);
424 for (let i = 0; i < dart.notNull(this.parts[dartx.length]); i++) {
425 builder.write(this.separators[dartx.get](i));
426 builder.write(this.parts[dartx.get](i));
427 }
428 builder.write(this.separators[dartx.last]);
429 return builder.toString();
430 }
431 [_splitExtension]() {
432 let file = this.parts[dartx.lastWhere](dart.fn(p => p != '', StringTobool( )), {orElse: dart.fn(() => null, VoidToString())});
433 if (file == null) return JSArrayOfString().of(['', '']);
434 if (file == '..') return JSArrayOfString().of(['..', '']);
435 let lastDot = file[dartx.lastIndexOf]('.');
436 if (dart.notNull(lastDot) <= 0) return JSArrayOfString().of([file, '']);
437 return JSArrayOfString().of([file[dartx.substring](0, lastDot), file[dartx .substring](lastDot)]);
438 }
439 clone() {
440 return new src__parsed_path.ParsedPath._(this.style, this.root, this.isRoo tRelative, ListOfString().from(this.parts), ListOfString().from(this.separators) );
441 }
442 };
443 dart.defineNamedConstructor(src__parsed_path.ParsedPath, '_');
444 dart.setSignature(src__parsed_path.ParsedPath, {
445 constructors: () => ({
446 parse: dart.definiteFunctionType(src__parsed_path.ParsedPath, [core.String , src__internal_style.InternalStyle]),
447 _: dart.definiteFunctionType(src__parsed_path.ParsedPath, [src__internal_s tyle.InternalStyle, core.String, core.bool, core.List$(core.String), core.List$( core.String)])
448 }),
449 methods: () => ({
450 removeTrailingSeparators: dart.definiteFunctionType(dart.void, []),
451 normalize: dart.definiteFunctionType(dart.void, []),
452 [_splitExtension]: dart.definiteFunctionType(core.List$(core.String), []),
453 clone: dart.definiteFunctionType(src__parsed_path.ParsedPath, [])
454 })
455 });
456 src__context.createInternal = function() {
457 return new src__context.Context._internal();
458 };
459 dart.lazyFn(src__context.createInternal, () => VoidToContext());
177 const _current = Symbol('_current'); 460 const _current = Symbol('_current');
178 const _parse = Symbol('_parse'); 461 const _parse = Symbol('_parse');
179 const _needsNormalization = Symbol('_needsNormalization'); 462 const _needsNormalization = Symbol('_needsNormalization');
180 const _isWithinFast = Symbol('_isWithinFast'); 463 const _isWithinFast = Symbol('_isWithinFast');
181 const _pathDirection = Symbol('_pathDirection'); 464 const _pathDirection = Symbol('_pathDirection');
182 src__context.Context = class Context extends core.Object { 465 src__context.Context = class Context extends core.Object {
183 static new(opts) { 466 static new(opts) {
184 let style = opts && 'style' in opts ? opts.style : null; 467 let style = opts && 'style' in opts ? opts.style : null;
185 let current = opts && 'current' in opts ? opts.current : null; 468 let current = opts && 'current' in opts ? opts.current : null;
186 if (current == null) { 469 if (current == null) {
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after
605 isWithin: dart.definiteFunctionType(core.bool, [core.String, core.String]) , 888 isWithin: dart.definiteFunctionType(core.bool, [core.String, core.String]) ,
606 [_isWithinFast]: dart.definiteFunctionType(core.bool, [core.String, core.S tring]), 889 [_isWithinFast]: dart.definiteFunctionType(core.bool, [core.String, core.S tring]),
607 [_pathDirection]: dart.definiteFunctionType(src__context._PathDirection, [ core.List$(core.int), core.int]), 890 [_pathDirection]: dart.definiteFunctionType(src__context._PathDirection, [ core.List$(core.int), core.int]),
608 withoutExtension: dart.definiteFunctionType(core.String, [core.String]), 891 withoutExtension: dart.definiteFunctionType(core.String, [core.String]),
609 fromUri: dart.definiteFunctionType(core.String, [dart.dynamic]), 892 fromUri: dart.definiteFunctionType(core.String, [dart.dynamic]),
610 toUri: dart.definiteFunctionType(core.Uri, [core.String]), 893 toUri: dart.definiteFunctionType(core.Uri, [core.String]),
611 prettyUri: dart.definiteFunctionType(core.String, [dart.dynamic]), 894 prettyUri: dart.definiteFunctionType(core.String, [dart.dynamic]),
612 [_parse]: dart.definiteFunctionType(src__parsed_path.ParsedPath, [core.Str ing]) 895 [_parse]: dart.definiteFunctionType(src__parsed_path.ParsedPath, [core.Str ing])
613 }) 896 })
614 }); 897 });
615 path$.Context = src__context.Context;
616 src__path_exception.PathException = class PathException extends core.Object {
617 new(message) {
618 this.message = message;
619 }
620 toString() {
621 return dart.str`PathException: ${this.message}`;
622 }
623 };
624 src__path_exception.PathException[dart.implements] = () => [core.Exception];
625 dart.setSignature(src__path_exception.PathException, {
626 constructors: () => ({new: dart.definiteFunctionType(src__path_exception.Pat hException, [core.String])})
627 });
628 path$.PathException = src__path_exception.PathException;
629 src__style.Style = class Style extends core.Object {
630 static _getPlatformStyle() {
631 if (core.Uri.base.scheme != 'file') return src__style.Style.url;
632 if (!dart.test(core.Uri.base.path[dartx.endsWith]('/'))) return src__style .Style.url;
633 if (core.Uri.new({path: 'a/b'}).toFilePath() == 'a\\b') return src__style. Style.windows;
634 return src__style.Style.posix;
635 }
636 get context() {
637 return src__context.Context.new({style: this});
638 }
639 toString() {
640 return this.name;
641 }
642 };
643 dart.setSignature(src__style.Style, {
644 statics: () => ({_getPlatformStyle: dart.definiteFunctionType(src__style.Sty le, [])}),
645 names: ['_getPlatformStyle']
646 });
647 dart.defineLazy(src__style.Style, {
648 get posix() {
649 return new src__style__posix.PosixStyle();
650 },
651 get windows() {
652 return new src__style__windows.WindowsStyle();
653 },
654 get url() {
655 return new src__style__url.UrlStyle();
656 },
657 get platform() {
658 return src__style.Style._getPlatformStyle();
659 }
660 });
661 path$.Style = src__style.Style;
662 src__characters.PLUS = 43;
663 src__characters.MINUS = 45;
664 src__characters.PERIOD = 46;
665 src__characters.SLASH = 47;
666 src__characters.ZERO = 48;
667 src__characters.NINE = 57;
668 src__characters.COLON = 58;
669 src__characters.UPPER_A = 65;
670 src__characters.UPPER_Z = 90;
671 src__characters.LOWER_A = 97;
672 src__characters.LOWER_Z = 122;
673 src__characters.BACKSLASH = 92;
674 src__context.createInternal = function() {
675 return new src__context.Context._internal();
676 };
677 dart.fn(src__context.createInternal, VoidToContext());
678 src__context._validateArgList = function(method, args) { 898 src__context._validateArgList = function(method, args) {
679 for (let i = 1; i < dart.notNull(args[dartx.length]); i++) { 899 for (let i = 1; i < dart.notNull(args[dartx.length]); i++) {
680 if (args[dartx.get](i) == null || args[dartx.get](i - 1) != null) continue ; 900 if (args[dartx.get](i) == null || args[dartx.get](i - 1) != null) continue ;
681 let numArgs = null; 901 let numArgs = null;
682 for (numArgs = args[dartx.length]; dart.test(dart.dsend(numArgs, '>=', 1)) ; numArgs = dart.dsend(numArgs, '-', 1)) { 902 for (numArgs = args[dartx.length]; dart.test(dart.dsend(numArgs, '>=', 1)) ; numArgs = dart.dsend(numArgs, '-', 1)) {
683 if (args[dartx.get](core.int._check(dart.dsend(numArgs, '-', 1))) != nul l) break; 903 if (args[dartx.get](core.int._check(dart.dsend(numArgs, '-', 1))) != nul l) break;
684 } 904 }
685 let message = new core.StringBuffer(); 905 let message = new core.StringBuffer();
686 message.write(dart.str`${method}(`); 906 message.write(dart.str`${method}(`);
687 message.write(args[dartx.take](core.int._check(numArgs))[dartx.map](core.S tring)(dart.fn(arg => arg == null ? "null" : dart.str`"${arg}"`, StringToString( )))[dartx.join](", ")); 907 message.write(args[dartx.take](core.int._check(numArgs))[dartx.map](core.S tring)(dart.fn(arg => arg == null ? "null" : dart.str`"${arg}"`, StringToString( )))[dartx.join](", "));
(...skipping 20 matching lines...) Expand all
708 get atRoot() { 928 get atRoot() {
709 return dart.const(new src__context._PathDirection("at root")); 929 return dart.const(new src__context._PathDirection("at root"));
710 }, 930 },
711 get reachesRoot() { 931 get reachesRoot() {
712 return dart.const(new src__context._PathDirection("reaches root")); 932 return dart.const(new src__context._PathDirection("reaches root"));
713 }, 933 },
714 get belowRoot() { 934 get belowRoot() {
715 return dart.const(new src__context._PathDirection("below root")); 935 return dart.const(new src__context._PathDirection("below root"));
716 } 936 }
717 }); 937 });
718 src__internal_style.InternalStyle = class InternalStyle extends src__style.Sty le { 938 dart.defineLazy(path$, {
719 getRoot(path) { 939 get posix() {
720 let length = this.rootLength(path); 940 return src__context.Context.new({style: src__style.Style.posix});
721 if (dart.notNull(length) > 0) return path[dartx.substring](0, length); 941 }
722 return dart.test(this.isRootRelative(path)) ? path[dartx.get](0) : null; 942 });
723 } 943 dart.defineLazy(path$, {
724 relativePathToUri(path) { 944 get windows() {
725 let segments = this.context.split(path); 945 return src__context.Context.new({style: src__style.Style.windows});
726 if (dart.test(this.isSeparator(path[dartx.codeUnitAt](dart.notNull(path[da rtx.length]) - 1)))) segments[dartx.add](''); 946 }
727 return core.Uri.new({pathSegments: segments}); 947 });
728 } 948 dart.defineLazy(path$, {
729 }; 949 get url() {
730 dart.setSignature(src__internal_style.InternalStyle, { 950 return src__context.Context.new({style: src__style.Style.url});
731 methods: () => ({ 951 }
732 getRoot: dart.definiteFunctionType(core.String, [core.String]), 952 });
733 relativePathToUri: dart.definiteFunctionType(core.Uri, [core.String]) 953 dart.defineLazy(path$, {
734 }) 954 get context() {
735 }); 955 return src__context.createInternal();
736 const _splitExtension = Symbol('_splitExtension'); 956 }
737 src__parsed_path.ParsedPath = class ParsedPath extends core.Object { 957 });
738 get extension() { 958 dart.copyProperties(path$, {
739 return this[_splitExtension]()[dartx.get](1); 959 get style() {
740 } 960 return path$.context.style;
741 get isAbsolute() { 961 }
742 return this.root != null; 962 });
743 } 963 dart.copyProperties(path$, {
744 static parse(path, style) { 964 get current() {
745 let root = style.getRoot(path); 965 let uri = core.Uri.base;
746 let isRootRelative = style.isRootRelative(path); 966 if (dart.equals(uri, path$._currentUriBase)) return path$._current;
747 if (root != null) path = path[dartx.substring](root[dartx.length]); 967 path$._currentUriBase = uri;
748 let parts = JSArrayOfString().of([]); 968 if (dart.equals(src__style.Style.platform, src__style.Style.url)) {
749 let separators = JSArrayOfString().of([]); 969 path$._current = dart.toString(uri.resolve('.'));
750 let start = 0; 970 return path$._current;
751 if (dart.test(path[dartx.isNotEmpty]) && dart.test(style.isSeparator(path[ dartx.codeUnitAt](0)))) {
752 separators[dartx.add](path[dartx.get](0));
753 start = 1;
754 } else { 971 } else {
755 separators[dartx.add](''); 972 let path = uri.toFilePath();
756 } 973 let lastIndex = dart.notNull(path[dartx.length]) - 1;
757 for (let i = start; i < dart.notNull(path[dartx.length]); i++) { 974 dart.assert(path[dartx.get](lastIndex) == '/' || path[dartx.get](lastInd ex) == '\\');
758 if (dart.test(style.isSeparator(path[dartx.codeUnitAt](i)))) { 975 path$._current = path[dartx.substring](0, lastIndex);
759 parts[dartx.add](path[dartx.substring](start, i)); 976 return path$._current;
760 separators[dartx.add](path[dartx.get](i)); 977 }
761 start = i + 1; 978 }
762 } 979 });
763 } 980 path$._currentUriBase = null;
764 if (start < dart.notNull(path[dartx.length])) { 981 path$._current = null;
765 parts[dartx.add](path[dartx.substring](start)); 982 dart.copyProperties(path$, {
766 separators[dartx.add](''); 983 get separator() {
767 } 984 return path$.context.separator;
768 return new src__parsed_path.ParsedPath._(style, root, isRootRelative, part s, separators); 985 }
769 } 986 });
770 _(style, root, isRootRelative, parts, separators) { 987 path$.absolute = function(part1, part2, part3, part4, part5, part6, part7) {
771 this.style = style; 988 if (part2 === void 0) part2 = null;
772 this.root = root; 989 if (part3 === void 0) part3 = null;
773 this.isRootRelative = isRootRelative; 990 if (part4 === void 0) part4 = null;
774 this.parts = parts; 991 if (part5 === void 0) part5 = null;
775 this.separators = separators; 992 if (part6 === void 0) part6 = null;
776 } 993 if (part7 === void 0) part7 = null;
777 get basename() { 994 return path$.context.absolute(part1, part2, part3, part4, part5, part6, part 7);
778 let copy = this.clone(); 995 };
779 copy.removeTrailingSeparators(); 996 dart.fn(path$.absolute, String__ToString());
780 if (dart.test(copy.parts[dartx.isEmpty])) return this.root == null ? '' : this.root; 997 path$.basename = function(path) {
781 return copy.parts[dartx.last]; 998 return path$.context.basename(path);
782 } 999 };
783 get basenameWithoutExtension() { 1000 dart.fn(path$.basename, StringToString());
784 return this[_splitExtension]()[dartx.get](0); 1001 path$.basenameWithoutExtension = function(path) {
785 } 1002 return path$.context.basenameWithoutExtension(path);
786 get hasTrailingSeparator() { 1003 };
787 return !dart.test(this.parts[dartx.isEmpty]) && (this.parts[dartx.last] == '' || this.separators[dartx.last] != ''); 1004 dart.fn(path$.basenameWithoutExtension, StringToString());
788 } 1005 path$.dirname = function(path) {
789 removeTrailingSeparators() { 1006 return path$.context.dirname(path);
790 while (!dart.test(this.parts[dartx.isEmpty]) && this.parts[dartx.last] == '') { 1007 };
791 this.parts[dartx.removeLast](); 1008 dart.fn(path$.dirname, StringToString());
792 this.separators[dartx.removeLast](); 1009 path$.extension = function(path) {
793 } 1010 return path$.context.extension(path);
794 if (dart.notNull(this.separators[dartx.length]) > 0) this.separators[dartx .set](dart.notNull(this.separators[dartx.length]) - 1, ''); 1011 };
795 } 1012 dart.fn(path$.extension, StringToString());
796 normalize() { 1013 path$.rootPrefix = function(path) {
797 let leadingDoubles = 0; 1014 return path$.context.rootPrefix(path);
798 let newParts = JSArrayOfString().of([]); 1015 };
799 for (let part of this.parts) { 1016 dart.fn(path$.rootPrefix, StringToString());
800 if (part == '.' || part == '') { 1017 path$.isAbsolute = function(path) {
801 } else if (part == '..') { 1018 return path$.context.isAbsolute(path);
802 if (dart.notNull(newParts[dartx.length]) > 0) { 1019 };
803 newParts[dartx.removeLast](); 1020 dart.fn(path$.isAbsolute, StringTobool());
804 } else { 1021 path$.isRelative = function(path) {
805 leadingDoubles++; 1022 return path$.context.isRelative(path);
806 } 1023 };
807 } else { 1024 dart.fn(path$.isRelative, StringTobool());
808 newParts[dartx.add](part); 1025 path$.isRootRelative = function(path) {
809 } 1026 return path$.context.isRootRelative(path);
810 } 1027 };
811 if (!dart.test(this.isAbsolute)) { 1028 dart.fn(path$.isRootRelative, StringTobool());
812 newParts[dartx.insertAll](0, ListOfString().filled(leadingDoubles, '..') ); 1029 path$.join = function(part1, part2, part3, part4, part5, part6, part7, part8) {
813 } 1030 if (part2 === void 0) part2 = null;
814 if (newParts[dartx.length] == 0 && !dart.test(this.isAbsolute)) { 1031 if (part3 === void 0) part3 = null;
815 newParts[dartx.add]('.'); 1032 if (part4 === void 0) part4 = null;
816 } 1033 if (part5 === void 0) part5 = null;
817 let newSeparators = ListOfString().generate(newParts[dartx.length], dart.f n(_ => this.style.separator, intToString()), {growable: true}); 1034 if (part6 === void 0) part6 = null;
818 newSeparators[dartx.insert](0, dart.test(this.isAbsolute) && dart.notNull( newParts[dartx.length]) > 0 && dart.test(this.style.needsSeparator(this.root)) ? this.style.separator : ''); 1035 if (part7 === void 0) part7 = null;
819 this.parts = newParts; 1036 if (part8 === void 0) part8 = null;
820 this.separators = newSeparators; 1037 return path$.context.join(part1, part2, part3, part4, part5, part6, part7, p art8);
821 if (this.root != null && dart.equals(this.style, src__style.Style.windows) ) { 1038 };
822 this.root = this.root[dartx.replaceAll]('/', '\\'); 1039 dart.fn(path$.join, String__ToString$());
823 } 1040 path$.joinAll = function(parts) {
824 this.removeTrailingSeparators(); 1041 return path$.context.joinAll(parts);
825 } 1042 };
826 toString() { 1043 dart.fn(path$.joinAll, IterableOfStringToString());
827 let builder = new core.StringBuffer(); 1044 path$.split = function(path) {
828 if (this.root != null) builder.write(this.root); 1045 return path$.context.split(path);
829 for (let i = 0; i < dart.notNull(this.parts[dartx.length]); i++) { 1046 };
830 builder.write(this.separators[dartx.get](i)); 1047 dart.fn(path$.split, StringToListOfString());
831 builder.write(this.parts[dartx.get](i)); 1048 path$.normalize = function(path) {
832 } 1049 return path$.context.normalize(path);
833 builder.write(this.separators[dartx.last]); 1050 };
834 return builder.toString(); 1051 dart.fn(path$.normalize, StringToString());
835 } 1052 path$.relative = function(path, opts) {
836 [_splitExtension]() { 1053 let from = opts && 'from' in opts ? opts.from : null;
837 let file = this.parts[dartx.lastWhere](dart.fn(p => p != '', StringTobool( )), {orElse: dart.fn(() => null, VoidToString())}); 1054 return path$.context.relative(path, {from: from});
838 if (file == null) return JSArrayOfString().of(['', '']); 1055 };
839 if (file == '..') return JSArrayOfString().of(['..', '']); 1056 dart.fn(path$.relative, String__ToString$0());
840 let lastDot = file[dartx.lastIndexOf]('.'); 1057 path$.isWithin = function(parent, child) {
841 if (dart.notNull(lastDot) <= 0) return JSArrayOfString().of([file, '']); 1058 return path$.context.isWithin(parent, child);
842 return JSArrayOfString().of([file[dartx.substring](0, lastDot), file[dartx .substring](lastDot)]); 1059 };
843 } 1060 dart.fn(path$.isWithin, StringAndStringTobool());
844 clone() { 1061 path$.withoutExtension = function(path) {
845 return new src__parsed_path.ParsedPath._(this.style, this.root, this.isRoo tRelative, ListOfString().from(this.parts), ListOfString().from(this.separators) ); 1062 return path$.context.withoutExtension(path);
846 } 1063 };
847 }; 1064 dart.fn(path$.withoutExtension, StringToString());
848 dart.defineNamedConstructor(src__parsed_path.ParsedPath, '_'); 1065 path$.fromUri = function(uri) {
849 dart.setSignature(src__parsed_path.ParsedPath, { 1066 return path$.context.fromUri(uri);
850 constructors: () => ({ 1067 };
851 parse: dart.definiteFunctionType(src__parsed_path.ParsedPath, [core.String , src__internal_style.InternalStyle]), 1068 dart.fn(path$.fromUri, dynamicToString());
852 _: dart.definiteFunctionType(src__parsed_path.ParsedPath, [src__internal_s tyle.InternalStyle, core.String, core.bool, core.List$(core.String), core.List$( core.String)]) 1069 path$.toUri = function(path) {
853 }), 1070 return path$.context.toUri(path);
854 methods: () => ({ 1071 };
855 removeTrailingSeparators: dart.definiteFunctionType(dart.void, []), 1072 dart.fn(path$.toUri, StringToUri());
856 normalize: dart.definiteFunctionType(dart.void, []), 1073 path$.prettyUri = function(uri) {
857 [_splitExtension]: dart.definiteFunctionType(core.List$(core.String), []), 1074 return path$.context.prettyUri(uri);
858 clone: dart.definiteFunctionType(src__parsed_path.ParsedPath, []) 1075 };
859 }) 1076 dart.fn(path$.prettyUri, dynamicToString());
860 }); 1077 path$.Context = src__context.Context;
861 let const$; 1078 path$.PathException = src__path_exception.PathException;
862 src__style__posix.PosixStyle = class PosixStyle extends src__internal_style.In ternalStyle { 1079 path$.Style = src__style.Style;
863 new() {
864 this.separatorPattern = core.RegExp.new('/');
865 this.needsSeparatorPattern = core.RegExp.new('[^/]$');
866 this.rootPattern = core.RegExp.new('^/');
867 this.name = 'posix';
868 this.separator = '/';
869 this.separators = const$ || (const$ = dart.constList(['/'], core.String));
870 this.relativeRootPattern = null;
871 }
872 containsSeparator(path) {
873 return path[dartx.contains]('/');
874 }
875 isSeparator(codeUnit) {
876 return codeUnit == src__characters.SLASH;
877 }
878 needsSeparator(path) {
879 return dart.test(path[dartx.isNotEmpty]) && !dart.test(this.isSeparator(pa th[dartx.codeUnitAt](dart.notNull(path[dartx.length]) - 1)));
880 }
881 rootLength(path) {
882 if (dart.test(path[dartx.isNotEmpty]) && dart.test(this.isSeparator(path[d artx.codeUnitAt](0)))) return 1;
883 return 0;
884 }
885 isRootRelative(path) {
886 return false;
887 }
888 getRelativeRoot(path) {
889 return null;
890 }
891 pathFromUri(uri) {
892 if (uri.scheme == '' || uri.scheme == 'file') {
893 return core.Uri.decodeComponent(uri.path);
894 }
895 dart.throw(new core.ArgumentError(dart.str`Uri ${uri} must have scheme 'fi le:'.`));
896 }
897 absolutePathToUri(path) {
898 let parsed = src__parsed_path.ParsedPath.parse(path, this);
899 if (dart.test(parsed.parts[dartx.isEmpty])) {
900 parsed.parts[dartx.addAll](JSArrayOfString().of(["", ""]));
901 } else if (dart.test(parsed.hasTrailingSeparator)) {
902 parsed.parts[dartx.add]("");
903 }
904 return core.Uri.new({scheme: 'file', pathSegments: parsed.parts});
905 }
906 };
907 dart.setSignature(src__style__posix.PosixStyle, {
908 constructors: () => ({new: dart.definiteFunctionType(src__style__posix.Posix Style, [])}),
909 methods: () => ({
910 containsSeparator: dart.definiteFunctionType(core.bool, [core.String]),
911 isSeparator: dart.definiteFunctionType(core.bool, [core.int]),
912 needsSeparator: dart.definiteFunctionType(core.bool, [core.String]),
913 rootLength: dart.definiteFunctionType(core.int, [core.String]),
914 isRootRelative: dart.definiteFunctionType(core.bool, [core.String]),
915 getRelativeRoot: dart.definiteFunctionType(core.String, [core.String]),
916 pathFromUri: dart.definiteFunctionType(core.String, [core.Uri]),
917 absolutePathToUri: dart.definiteFunctionType(core.Uri, [core.String])
918 })
919 });
920 let const$0;
921 src__style__url.UrlStyle = class UrlStyle extends src__internal_style.Internal Style {
922 new() {
923 this.separatorPattern = core.RegExp.new('/');
924 this.needsSeparatorPattern = core.RegExp.new("(^[a-zA-Z][-+.a-zA-Z\\d]*:// |[^/])$");
925 this.rootPattern = core.RegExp.new("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*");
926 this.relativeRootPattern = core.RegExp.new("^/");
927 this.name = 'url';
928 this.separator = '/';
929 this.separators = const$0 || (const$0 = dart.constList(['/'], core.String) );
930 }
931 containsSeparator(path) {
932 return path[dartx.contains]('/');
933 }
934 isSeparator(codeUnit) {
935 return codeUnit == src__characters.SLASH;
936 }
937 needsSeparator(path) {
938 if (dart.test(path[dartx.isEmpty])) return false;
939 if (!dart.test(this.isSeparator(path[dartx.codeUnitAt](dart.notNull(path[d artx.length]) - 1)))) return true;
940 return dart.test(path[dartx.endsWith]("://")) && this.rootLength(path) == path[dartx.length];
941 }
942 rootLength(path) {
943 if (dart.test(path[dartx.isEmpty])) return 0;
944 if (dart.test(this.isSeparator(path[dartx.codeUnitAt](0)))) return 1;
945 let index = path[dartx.indexOf]("/");
946 if (dart.notNull(index) > 0 && dart.test(path[dartx.startsWith]('://', dar t.notNull(index) - 1))) {
947 index = path[dartx.indexOf]('/', dart.notNull(index) + 2);
948 if (dart.notNull(index) > 0) return index;
949 return path[dartx.length];
950 }
951 return 0;
952 }
953 isRootRelative(path) {
954 return dart.test(path[dartx.isNotEmpty]) && dart.test(this.isSeparator(pat h[dartx.codeUnitAt](0)));
955 }
956 getRelativeRoot(path) {
957 return dart.test(this.isRootRelative(path)) ? '/' : null;
958 }
959 pathFromUri(uri) {
960 return dart.toString(uri);
961 }
962 relativePathToUri(path) {
963 return core.Uri.parse(path);
964 }
965 absolutePathToUri(path) {
966 return core.Uri.parse(path);
967 }
968 };
969 dart.setSignature(src__style__url.UrlStyle, {
970 constructors: () => ({new: dart.definiteFunctionType(src__style__url.UrlStyl e, [])}),
971 methods: () => ({
972 containsSeparator: dart.definiteFunctionType(core.bool, [core.String]),
973 isSeparator: dart.definiteFunctionType(core.bool, [core.int]),
974 needsSeparator: dart.definiteFunctionType(core.bool, [core.String]),
975 rootLength: dart.definiteFunctionType(core.int, [core.String]),
976 isRootRelative: dart.definiteFunctionType(core.bool, [core.String]),
977 getRelativeRoot: dart.definiteFunctionType(core.String, [core.String]),
978 pathFromUri: dart.definiteFunctionType(core.String, [core.Uri]),
979 absolutePathToUri: dart.definiteFunctionType(core.Uri, [core.String])
980 })
981 });
982 let const$1;
983 src__style__windows.WindowsStyle = class WindowsStyle extends src__internal_st yle.InternalStyle {
984 new() {
985 this.separatorPattern = core.RegExp.new('[/\\\\]');
986 this.needsSeparatorPattern = core.RegExp.new('[^/\\\\]$');
987 this.rootPattern = core.RegExp.new('^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA- Z]:[/\\\\])');
988 this.relativeRootPattern = core.RegExp.new("^[/\\\\](?![/\\\\])");
989 this.name = 'windows';
990 this.separator = '\\';
991 this.separators = const$1 || (const$1 = dart.constList(['/', '\\'], core.S tring));
992 }
993 containsSeparator(path) {
994 return path[dartx.contains]('/');
995 }
996 isSeparator(codeUnit) {
997 return codeUnit == src__characters.SLASH || codeUnit == src__characters.BA CKSLASH;
998 }
999 needsSeparator(path) {
1000 if (dart.test(path[dartx.isEmpty])) return false;
1001 return !dart.test(this.isSeparator(path[dartx.codeUnitAt](dart.notNull(pat h[dartx.length]) - 1)));
1002 }
1003 rootLength(path) {
1004 if (dart.test(path[dartx.isEmpty])) return 0;
1005 if (path[dartx.codeUnitAt](0) == src__characters.SLASH) return 1;
1006 if (path[dartx.codeUnitAt](0) == src__characters.BACKSLASH) {
1007 if (dart.notNull(path[dartx.length]) < 2 || path[dartx.codeUnitAt](1) != src__characters.BACKSLASH) return 1;
1008 let index = path[dartx.indexOf]('\\', 2);
1009 if (dart.notNull(index) > 0) {
1010 index = path[dartx.indexOf]('\\', dart.notNull(index) + 1);
1011 if (dart.notNull(index) > 0) return index;
1012 }
1013 return path[dartx.length];
1014 }
1015 if (dart.notNull(path[dartx.length]) < 3) return 0;
1016 if (!dart.test(src__utils.isAlphabetic(path[dartx.codeUnitAt](0)))) return 0;
1017 if (path[dartx.codeUnitAt](1) != src__characters.COLON) return 0;
1018 if (!dart.test(this.isSeparator(path[dartx.codeUnitAt](2)))) return 0;
1019 return 3;
1020 }
1021 isRootRelative(path) {
1022 return this.rootLength(path) == 1;
1023 }
1024 getRelativeRoot(path) {
1025 let length = this.rootLength(path);
1026 if (length == 1) return path[dartx.get](0);
1027 return null;
1028 }
1029 pathFromUri(uri) {
1030 if (uri.scheme != '' && uri.scheme != 'file') {
1031 dart.throw(new core.ArgumentError(dart.str`Uri ${uri} must have scheme ' file:'.`));
1032 }
1033 let path = uri.path;
1034 if (uri.host == '') {
1035 if (dart.test(path[dartx.startsWith]('/'))) path = path[dartx.replaceFir st]("/", "");
1036 } else {
1037 path = dart.str`\\\\${uri.host}${path}`;
1038 }
1039 return core.Uri.decodeComponent(path[dartx.replaceAll]("/", "\\"));
1040 }
1041 absolutePathToUri(path) {
1042 let parsed = src__parsed_path.ParsedPath.parse(path, this);
1043 if (dart.test(parsed.root[dartx.startsWith]('\\\\'))) {
1044 let rootParts = parsed.root[dartx.split]('\\')[dartx.where](dart.fn(part => part != '', StringTobool()));
1045 parsed.parts[dartx.insert](0, rootParts[dartx.last]);
1046 if (dart.test(parsed.hasTrailingSeparator)) {
1047 parsed.parts[dartx.add]("");
1048 }
1049 return core.Uri.new({scheme: 'file', host: rootParts[dartx.first], pathS egments: parsed.parts});
1050 } else {
1051 if (parsed.parts[dartx.length] == 0 || dart.test(parsed.hasTrailingSepar ator)) {
1052 parsed.parts[dartx.add]("");
1053 }
1054 parsed.parts[dartx.insert](0, parsed.root[dartx.replaceAll]("/", "")[dar tx.replaceAll]("\\", ""));
1055 return core.Uri.new({scheme: 'file', pathSegments: parsed.parts});
1056 }
1057 }
1058 };
1059 dart.setSignature(src__style__windows.WindowsStyle, {
1060 constructors: () => ({new: dart.definiteFunctionType(src__style__windows.Win dowsStyle, [])}),
1061 methods: () => ({
1062 containsSeparator: dart.definiteFunctionType(core.bool, [core.String]),
1063 isSeparator: dart.definiteFunctionType(core.bool, [core.int]),
1064 needsSeparator: dart.definiteFunctionType(core.bool, [core.String]),
1065 rootLength: dart.definiteFunctionType(core.int, [core.String]),
1066 isRootRelative: dart.definiteFunctionType(core.bool, [core.String]),
1067 getRelativeRoot: dart.definiteFunctionType(core.String, [core.String]),
1068 pathFromUri: dart.definiteFunctionType(core.String, [core.Uri]),
1069 absolutePathToUri: dart.definiteFunctionType(core.Uri, [core.String])
1070 })
1071 });
1072 src__utils.isAlphabetic = function(char) {
1073 return dart.notNull(char) >= src__characters.UPPER_A && dart.notNull(char) < = src__characters.UPPER_Z || dart.notNull(char) >= src__characters.LOWER_A && da rt.notNull(char) <= src__characters.LOWER_Z;
1074 };
1075 dart.fn(src__utils.isAlphabetic, intTobool());
1076 src__utils.isNumeric = function(char) {
1077 return dart.notNull(char) >= src__characters.ZERO && dart.notNull(char) <= s rc__characters.NINE;
1078 };
1079 dart.fn(src__utils.isNumeric, intTobool());
1080 // Exports: 1080 // Exports:
1081 exports.path = path$;
1082 exports.src__characters = src__characters; 1081 exports.src__characters = src__characters;
1083 exports.src__context = src__context; 1082 exports.src__style__windows = src__style__windows;
1084 exports.src__internal_style = src__internal_style;
1085 exports.src__parsed_path = src__parsed_path;
1086 exports.src__path_exception = src__path_exception;
1087 exports.src__style__posix = src__style__posix; 1083 exports.src__style__posix = src__style__posix;
1088 exports.src__style__url = src__style__url; 1084 exports.src__style__url = src__style__url;
1089 exports.src__style__windows = src__style__windows; 1085 exports.src__path_exception = src__path_exception;
1090 exports.src__style = src__style; 1086 exports.src__style = src__style;
1091 exports.src__utils = src__utils; 1087 exports.src__utils = src__utils;
1088 exports.src__parsed_path = src__parsed_path;
1089 exports.src__internal_style = src__internal_style;
1090 exports.src__context = src__context;
1091 exports.path = path$;
1092 }); 1092 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698