whet 0.0.26 → 0.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/HxOverrides.js +6 -6
- package/bin/Lambda.js +10 -10
- package/bin/Reflect.js +2 -2
- package/bin/Std.js +1 -1
- package/bin/genes/Register.d.ts +11 -1
- package/bin/genes/Register.js +69 -40
- package/bin/genes/util/EsMap.js +5 -5
- package/bin/haxe/Exception.js +1 -1
- package/bin/haxe/crypto/Crc32.js +5 -5
- package/bin/haxe/ds/List.js +1 -1
- package/bin/haxe/io/Bytes.js +8 -8
- package/bin/haxe/io/BytesBuffer.js +6 -6
- package/bin/haxe/io/Output.js +7 -7
- package/bin/haxe/zip/Compress.js +2 -2
- package/bin/haxe/zip/Tools.js +1 -1
- package/bin/haxe/zip/Writer.js +18 -18
- package/bin/js/Boot.js +25 -25
- package/bin/js/node/buffer/Buffer.js +1 -1
- package/bin/whet/Log.js +7 -7
- package/bin/whet/Project.js +6 -6
- package/bin/whet/Source.js +7 -7
- package/bin/whet/SourceHash.js +49 -55
- package/bin/whet/SourceId.js +12 -12
- package/bin/whet/Stone.js +40 -40
- package/bin/whet/Utils.js +12 -12
- package/bin/whet/Whet.js +23 -23
- package/bin/whet/cache/BaseCache.js +23 -22
- package/bin/whet/cache/CacheManager.js +13 -13
- package/bin/whet/cache/FileCache.js +97 -101
- package/bin/whet/cache/MemoryCache.js +12 -12
- package/bin/whet/magic/RoutePathType.js +15 -15
- package/bin/whet/magic/StoneId.js +2 -2
- package/bin/whet/route/RouteResult.js +1 -1
- package/bin/whet/route/Router.js +128 -132
- package/bin/whet/stones/Files.js +47 -53
- package/bin/whet/stones/JsonStone.js +16 -16
- package/bin/whet/stones/RemoteFile.js +4 -4
- package/bin/whet/stones/Server.js +17 -17
- package/bin/whet/stones/Zip.js +16 -18
- package/bin/whet/stones/haxe/HaxeBuild.d.ts +1 -0
- package/bin/whet/stones/haxe/HaxeBuild.js +26 -24
- package/bin/whet/stones/haxe/Hxml.js +72 -71
- package/package.json +1 -1
- package/bin/haxe/Log.d.ts +0 -33
- package/bin/haxe/Log.js +0 -61
- package/bin/js/lib/ArrayBuffer.d.ts +0 -4
- package/bin/js/lib/ArrayBuffer.js +0 -24
|
@@ -16,49 +16,49 @@ class RoutePathType_Fields_ {
|
|
|
16
16
|
if (!((routerPathType) instanceof Array)) {
|
|
17
17
|
throw new Error("RoutePath should be a Stone, Router, or an array.");
|
|
18
18
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
let _g = [];
|
|
20
|
+
let _g1 = 0;
|
|
21
|
+
let _g2 = routerPathType;
|
|
22
22
|
while (_g1 < _g2.length) {
|
|
23
|
-
|
|
23
|
+
let item = _g2[_g1];
|
|
24
24
|
++_g1;
|
|
25
25
|
if (((item) instanceof Router) || ((item) instanceof Stone) || typeof(item) == "string") {
|
|
26
26
|
_g.push({"routeUnder": "", "source": (typeof(item) == "string") ? new Files({"paths": [item]}) : item, "filter": null, "extractDirs": null});
|
|
27
27
|
} else if (((item) instanceof Array)) {
|
|
28
|
-
|
|
28
|
+
let inner = item;
|
|
29
29
|
if (typeof(inner[0]) != "string") {
|
|
30
30
|
throw new Error("First element of RoutePath array should be `routeUnder` (a string).");
|
|
31
31
|
};
|
|
32
32
|
if (!(((inner[1]) instanceof Router) || ((inner[1]) instanceof Stone) || typeof(inner[1]) == "string")) {
|
|
33
33
|
throw new Error("Second element of RoutePath array should be a Stone or Router.");
|
|
34
34
|
};
|
|
35
|
-
|
|
35
|
+
let tmp;
|
|
36
36
|
switch (inner.length) {
|
|
37
37
|
case 2:
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
let src = inner[1];
|
|
39
|
+
let tmp1 = (typeof(src) == "string") ? new Files({"paths": [src]}) : src;
|
|
40
40
|
tmp = {"routeUnder": inner[0], "source": tmp1, "filter": null, "extractDirs": null};
|
|
41
41
|
break
|
|
42
42
|
case 3:
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
let src1 = inner[1];
|
|
44
|
+
let tmp2 = (typeof(src1) == "string") ? new Files({"paths": [src1]}) : src1;
|
|
45
45
|
if (!(typeof(inner[2]) == "string" || inner[2] instanceof Minimatch)) {
|
|
46
46
|
throw new Error("Third" + " element of RoutePath array should be a glob pattern (string or `minimatch` object)");
|
|
47
47
|
};
|
|
48
|
-
|
|
48
|
+
let tmp3 = MinimatchType_Fields_.makeMinimatch(inner[2]);
|
|
49
49
|
tmp = {"routeUnder": inner[0], "source": tmp2, "filter": tmp3, "extractDirs": null};
|
|
50
50
|
break
|
|
51
51
|
case 4:
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
let src2 = inner[1];
|
|
53
|
+
let tmp4 = (typeof(src2) == "string") ? new Files({"paths": [src2]}) : src2;
|
|
54
54
|
if (!(typeof(inner[2]) == "string" || inner[2] instanceof Minimatch)) {
|
|
55
55
|
throw new Error("Third" + " element of RoutePath array should be a glob pattern (string or `minimatch` object)");
|
|
56
56
|
};
|
|
57
|
-
|
|
57
|
+
let tmp5 = MinimatchType_Fields_.makeMinimatch(inner[2]);
|
|
58
58
|
if (!(typeof(inner[3]) == "string" || inner[3] instanceof Minimatch)) {
|
|
59
59
|
throw new Error("Fourth" + " element of RoutePath array should be a glob pattern (string or `minimatch` object)");
|
|
60
60
|
};
|
|
61
|
-
|
|
61
|
+
let tmp6 = MinimatchType_Fields_.makeMinimatch(inner[3]);
|
|
62
62
|
tmp = {"routeUnder": inner[0], "source": tmp4, "filter": tmp5, "extractDirs": tmp6};
|
|
63
63
|
break
|
|
64
64
|
default:
|
|
@@ -21,8 +21,8 @@ class StoneId_Fields_ {
|
|
|
21
21
|
return c.__name__.split(".").pop();
|
|
22
22
|
}
|
|
23
23
|
static getTypeName(stone) {
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
let c = Boot.getClass(stone);
|
|
25
|
+
let name = c.__name__;
|
|
26
26
|
if (name != "whet.Stone") {
|
|
27
27
|
return name;
|
|
28
28
|
} else {
|
package/bin/whet/route/Router.js
CHANGED
|
@@ -15,8 +15,8 @@ class Router extends Register.inherits() {
|
|
|
15
15
|
this.routes = (routes != null) ? RoutePathType_Fields_.makeRoutePath(routes) : [];
|
|
16
16
|
}
|
|
17
17
|
route(r) {
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
let _g = 0;
|
|
19
|
+
let _g1 = RoutePathType_Fields_.makeRoutePath(r);
|
|
20
20
|
while (_g < _g1.length) this.routes.push(_g1[_g++]);
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -28,157 +28,155 @@ class Router extends Register.inherits() {
|
|
|
28
28
|
return this.getResults([{"pathSoFar": [], "filter": (pattern != null) ? MinimatchType_Fields_.makeMinimatch(pattern) : null, "inProgress": true, "remDirs": []}], []);
|
|
29
29
|
}
|
|
30
30
|
getResults(mainFilters, results) {
|
|
31
|
-
|
|
31
|
+
let _gthis = this;
|
|
32
32
|
return new Promise(function (res, rej) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
let allRouteProms = [];
|
|
34
|
+
let _g = 0;
|
|
35
|
+
let _g1 = _gthis.routes;
|
|
36
36
|
while (_g < _g1.length) {
|
|
37
|
-
|
|
37
|
+
let route = _g1[_g];
|
|
38
38
|
++_g;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
let result = new Array(mainFilters.length);
|
|
40
|
+
let _g2 = 0;
|
|
41
|
+
let _g3 = mainFilters.length;
|
|
42
42
|
while (_g2 < _g3) {
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
let i = _g2++;
|
|
44
|
+
let f = mainFilters[i];
|
|
45
45
|
result[i] = {"filter": f.filter, "pathSoFar": f.pathSoFar.slice(), "inProgress": f.inProgress, "remDirs": f.remDirs.slice()};
|
|
46
46
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
let routeFilters = result;
|
|
48
|
+
let possible;
|
|
49
|
+
let id = route.routeUnder;
|
|
50
50
|
if (id.length == 0 || id.charCodeAt(id.length - 1) == 47) {
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
let this1 = routeFilters;
|
|
52
|
+
let dir = route.routeUnder;
|
|
53
53
|
if (dir.length == 0 || dir == "./") {
|
|
54
54
|
possible = true;
|
|
55
55
|
} else {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
while (
|
|
60
|
-
|
|
61
|
-
++
|
|
56
|
+
let _this = dir.split("/");
|
|
57
|
+
let _g = [];
|
|
58
|
+
let _g1 = 0;
|
|
59
|
+
while (_g1 < _this.length) {
|
|
60
|
+
let v = _this[_g1];
|
|
61
|
+
++_g1;
|
|
62
62
|
if (v.length > 0) {
|
|
63
|
-
|
|
63
|
+
_g.push(v);
|
|
64
64
|
};
|
|
65
65
|
};
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
while (--
|
|
69
|
-
|
|
70
|
-
if (
|
|
71
|
-
if (
|
|
72
|
-
|
|
73
|
-
while (--
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
while (
|
|
77
|
-
|
|
66
|
+
let res = true;
|
|
67
|
+
let i = this1.length;
|
|
68
|
+
while (--i >= 0) {
|
|
69
|
+
let f = this1[i];
|
|
70
|
+
if (f.inProgress) {
|
|
71
|
+
if (f.remDirs.length != 0) {
|
|
72
|
+
let i = _g.length;
|
|
73
|
+
while (--i >= 0) {
|
|
74
|
+
let _g1 = 0;
|
|
75
|
+
let _g2 = f.remDirs;
|
|
76
|
+
while (_g1 < _g2.length) if (_g2[_g1++].match(_g[i] + "/")) {
|
|
77
|
+
_g.splice(i, 1);
|
|
78
78
|
break;
|
|
79
79
|
};
|
|
80
80
|
};
|
|
81
81
|
};
|
|
82
|
-
|
|
83
|
-
if (!(
|
|
84
|
-
|
|
82
|
+
f.pathSoFar = f.pathSoFar.concat(_g);
|
|
83
|
+
if (!(f.filter == null || Filters.isPathPossible(this1, f))) {
|
|
84
|
+
res = false;
|
|
85
85
|
break;
|
|
86
86
|
};
|
|
87
87
|
};
|
|
88
88
|
};
|
|
89
|
-
possible =
|
|
89
|
+
possible = res;
|
|
90
90
|
};
|
|
91
91
|
} else {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
while (--
|
|
96
|
-
|
|
97
|
-
if (
|
|
98
|
-
|
|
99
|
-
if (
|
|
100
|
-
|
|
101
|
-
while (--
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
while (
|
|
105
|
-
parts.splice(
|
|
92
|
+
let parts = route.routeUnder.split("/");
|
|
93
|
+
let res = true;
|
|
94
|
+
let i = routeFilters.length;
|
|
95
|
+
while (--i >= 0) {
|
|
96
|
+
let f = routeFilters[i];
|
|
97
|
+
if (f.inProgress) {
|
|
98
|
+
f.inProgress = false;
|
|
99
|
+
if (f.remDirs.length != 0) {
|
|
100
|
+
let i = parts.length;
|
|
101
|
+
while (--i >= 0) {
|
|
102
|
+
let _g = 0;
|
|
103
|
+
let _g1 = f.remDirs;
|
|
104
|
+
while (_g < _g1.length) if (_g1[_g++].match(parts[i] + "/")) {
|
|
105
|
+
parts.splice(i, 1);
|
|
106
106
|
break;
|
|
107
107
|
};
|
|
108
108
|
};
|
|
109
109
|
};
|
|
110
|
-
|
|
111
|
-
if (!(
|
|
112
|
-
|
|
110
|
+
f.pathSoFar = f.pathSoFar.concat(parts);
|
|
111
|
+
if (!(f.filter == null || f.filter.match(Path.posix.join(...f.pathSoFar)))) {
|
|
112
|
+
res = false;
|
|
113
113
|
break;
|
|
114
114
|
};
|
|
115
115
|
};
|
|
116
116
|
};
|
|
117
|
-
possible =
|
|
117
|
+
possible = res;
|
|
118
118
|
};
|
|
119
119
|
if (!possible) {
|
|
120
120
|
continue;
|
|
121
121
|
};
|
|
122
122
|
if (route.filter != null || route.extractDirs != null) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
if (extractDir != null && routeFilters
|
|
126
|
-
routeFilters[
|
|
123
|
+
let f = route.filter;
|
|
124
|
+
let extractDir = route.extractDirs;
|
|
125
|
+
if (extractDir != null && routeFilters.length > 0) {
|
|
126
|
+
routeFilters[routeFilters.length - 1].remDirs.push(extractDir);
|
|
127
127
|
};
|
|
128
|
-
routeFilters
|
|
128
|
+
routeFilters.push({"pathSoFar": [], "filter": f, "inProgress": true, "remDirs": []});
|
|
129
129
|
};
|
|
130
|
-
|
|
130
|
+
let prom;
|
|
131
131
|
if (((route.source) instanceof Stone)) {
|
|
132
|
-
|
|
133
|
-
prom = stone
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
break;
|
|
163
|
-
};
|
|
132
|
+
let stone = route.source;
|
|
133
|
+
prom = stone.list().then(function (list) {
|
|
134
|
+
let _g = 0;
|
|
135
|
+
while (_g < list.length) {
|
|
136
|
+
let sourceId = list[_g];
|
|
137
|
+
++_g;
|
|
138
|
+
let result = new Array(routeFilters.length);
|
|
139
|
+
let _g1 = 0;
|
|
140
|
+
let _g2 = routeFilters.length;
|
|
141
|
+
while (_g1 < _g2) {
|
|
142
|
+
let i = _g1++;
|
|
143
|
+
let f = routeFilters[i];
|
|
144
|
+
result[i] = {"filter": f.filter, "pathSoFar": f.pathSoFar.slice(), "inProgress": f.inProgress, "remDirs": f.remDirs.slice()};
|
|
145
|
+
};
|
|
146
|
+
let finalFilters = result;
|
|
147
|
+
let parts = sourceId.split("/");
|
|
148
|
+
let res = true;
|
|
149
|
+
let i = finalFilters.length;
|
|
150
|
+
while (--i >= 0) {
|
|
151
|
+
let f = finalFilters[i];
|
|
152
|
+
if (f.inProgress) {
|
|
153
|
+
f.inProgress = false;
|
|
154
|
+
if (f.remDirs.length != 0) {
|
|
155
|
+
let i = parts.length;
|
|
156
|
+
while (--i >= 0) {
|
|
157
|
+
let _g = 0;
|
|
158
|
+
let _g1 = f.remDirs;
|
|
159
|
+
while (_g < _g1.length) if (_g1[_g++].match(parts[i] + "/")) {
|
|
160
|
+
parts.splice(i, 1);
|
|
161
|
+
break;
|
|
164
162
|
};
|
|
165
163
|
};
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
164
|
+
};
|
|
165
|
+
f.pathSoFar = f.pathSoFar.concat(parts);
|
|
166
|
+
if (!(f.filter == null || f.filter.match(Path.posix.join(...f.pathSoFar)))) {
|
|
167
|
+
res = false;
|
|
168
|
+
break;
|
|
171
169
|
};
|
|
172
170
|
};
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
171
|
+
};
|
|
172
|
+
if (res) {
|
|
173
|
+
let serveId = Path.posix.join(...finalFilters[0].pathSoFar);
|
|
174
|
+
results.push(new RouteResult(serveId, sourceId, stone));
|
|
177
175
|
};
|
|
178
176
|
};
|
|
179
|
-
})
|
|
177
|
+
});
|
|
180
178
|
} else if (((route.source) instanceof Router)) {
|
|
181
|
-
prom = route.source.getResults(routeFilters
|
|
179
|
+
prom = route.source.getResults(routeFilters, results);
|
|
182
180
|
} else {
|
|
183
181
|
throw new Error("Router source must be a Stone or a Router.");
|
|
184
182
|
};
|
|
@@ -195,20 +193,20 @@ class Router extends Register.inherits() {
|
|
|
195
193
|
*/
|
|
196
194
|
getHash(pattern) {
|
|
197
195
|
return this.get(pattern).then(function (items) {
|
|
198
|
-
|
|
199
|
-
|
|
196
|
+
let uniqueStones = [];
|
|
197
|
+
let _g = 0;
|
|
200
198
|
while (_g < items.length) {
|
|
201
|
-
|
|
199
|
+
let item = items[_g];
|
|
202
200
|
++_g;
|
|
203
201
|
if (uniqueStones.indexOf(item.source) == -1) {
|
|
204
202
|
uniqueStones.push(item.source);
|
|
205
203
|
};
|
|
206
204
|
};
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
while (
|
|
211
|
-
|
|
205
|
+
let result = new Array(uniqueStones.length);
|
|
206
|
+
let _g1 = 0;
|
|
207
|
+
let _g2 = uniqueStones.length;
|
|
208
|
+
while (_g1 < _g2) {
|
|
209
|
+
let i = _g1++;
|
|
212
210
|
result[i] = uniqueStones[i].getHash();
|
|
213
211
|
};
|
|
214
212
|
return Promise.all(result).then(function (hashes) {
|
|
@@ -224,32 +222,30 @@ class Router extends Register.inherits() {
|
|
|
224
222
|
if (clearFirst == null) {
|
|
225
223
|
clearFirst = true;
|
|
226
224
|
};
|
|
227
|
-
|
|
225
|
+
let _gthis = this;
|
|
228
226
|
return ((clearFirst) ? Utils.deleteAll(saveInto) : Promise.resolve(null)).then(function (_) {
|
|
229
227
|
return _gthis.get(pattern);
|
|
230
228
|
}).then(function (result) {
|
|
231
|
-
|
|
232
|
-
|
|
229
|
+
let _g = [];
|
|
230
|
+
let _g1 = 0;
|
|
233
231
|
while (_g1 < result.length) {
|
|
234
|
-
|
|
232
|
+
let r = result[_g1];
|
|
235
233
|
++_g1;
|
|
236
|
-
|
|
237
|
-
_g.push(r.get().then(
|
|
238
|
-
return
|
|
239
|
-
|
|
240
|
-
};
|
|
241
|
-
})(p)));
|
|
234
|
+
let p = Path.join(saveInto, Path.posix.join(".", "./", ".", r.serveId));
|
|
235
|
+
_g.push(r.get().then(function (src) {
|
|
236
|
+
return Utils.saveBytes(p, src.data);
|
|
237
|
+
}));
|
|
242
238
|
};
|
|
243
239
|
return Promise.all(_g);
|
|
244
240
|
});
|
|
245
241
|
}
|
|
246
242
|
listContents(pattern) {
|
|
247
243
|
return this.get(pattern).then(function (files) {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
244
|
+
let result = new Array(files.length);
|
|
245
|
+
let _g = 0;
|
|
246
|
+
let _g1 = files.length;
|
|
251
247
|
while (_g < _g1) {
|
|
252
|
-
|
|
248
|
+
let i = _g++;
|
|
253
249
|
result[i] = files[i].serveId;
|
|
254
250
|
};
|
|
255
251
|
result.sort(function (a, b) {
|
|
@@ -279,10 +275,10 @@ class Filters {
|
|
|
279
275
|
if (f.filter.options.matchBase) {
|
|
280
276
|
return true;
|
|
281
277
|
};
|
|
282
|
-
|
|
283
|
-
|
|
278
|
+
let _g = 0;
|
|
279
|
+
let _g1 = f.filter.set;
|
|
284
280
|
while (_g < _g1.length) {
|
|
285
|
-
|
|
281
|
+
let hit = f.filter.matchOne(f.pathSoFar, _g1[_g++], true);
|
|
286
282
|
if (hit) {
|
|
287
283
|
if (f.filter.options.flipNegate) {
|
|
288
284
|
return true;
|
package/bin/whet/stones/Files.js
CHANGED
|
@@ -16,33 +16,31 @@ class Files extends Register.inherits(Stone) {
|
|
|
16
16
|
this.config.recursive = true;
|
|
17
17
|
}
|
|
18
18
|
list() {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
let _gthis = this;
|
|
20
|
+
let onDirFile = function (dir, dirFile) {
|
|
21
|
+
let pathId = IdUtils.fromCwdPath(dirFile, RootDir.fromProject(_gthis.project));
|
|
22
22
|
if (!(dir.length == 0 || dir.charCodeAt(dir.length - 1) == 47)) {
|
|
23
23
|
throw new Error("\"" + dir + "\" is not a directory.");
|
|
24
24
|
};
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
let inlobj_id;
|
|
26
|
+
let dir1 = pathId.substring(0, pathId.lastIndexOf("/") + 1);
|
|
27
27
|
inlobj_id = ((dir1.length == 0) ? "./" : dir1).indexOf(dir) == 0;
|
|
28
28
|
return (inlobj_id) ? pathId.substring(dir.length) : null;
|
|
29
29
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
let files = [];
|
|
31
|
+
let dirs = [];
|
|
32
|
+
let _g = 0;
|
|
33
|
+
let _g1 = MaybeArray_Fields_.makeArray(this.config.paths);
|
|
34
34
|
while (_g < _g1.length) {
|
|
35
|
-
|
|
35
|
+
let path = _g1[_g];
|
|
36
36
|
++_g;
|
|
37
|
-
if (path
|
|
38
|
-
dirs.push(Utils.listDirectoryFiles(this.cwdPath(path
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
};
|
|
43
|
-
})(path)));
|
|
37
|
+
if (path.length == 0 || path.charCodeAt(path.length - 1) == 47) {
|
|
38
|
+
dirs.push(Utils.listDirectoryFiles(this.cwdPath(path), this.config.recursive).then(function (arr) {
|
|
39
|
+
let _g = 0;
|
|
40
|
+
while (_g < arr.length) files.push(onDirFile(path, arr[_g++]));
|
|
41
|
+
}));
|
|
44
42
|
} else {
|
|
45
|
-
|
|
43
|
+
let id = path;
|
|
46
44
|
files.push(id.substring(id.lastIndexOf("/") + 1));
|
|
47
45
|
};
|
|
48
46
|
};
|
|
@@ -51,34 +49,32 @@ class Files extends Register.inherits(Stone) {
|
|
|
51
49
|
});
|
|
52
50
|
}
|
|
53
51
|
generate(hash) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
let _gthis = this;
|
|
53
|
+
let onDirFile = function (dir, dirFile) {
|
|
54
|
+
let pathId = IdUtils.fromCwdPath(dirFile, RootDir.fromProject(_gthis.project));
|
|
57
55
|
if (!(dir.length == 0 || dir.charCodeAt(dir.length - 1) == 47)) {
|
|
58
56
|
throw new Error("\"" + dir + "\" is not a directory.");
|
|
59
57
|
};
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
let p_id;
|
|
59
|
+
let dir1 = pathId.substring(0, pathId.lastIndexOf("/") + 1);
|
|
62
60
|
p_id = ((dir1.length == 0) ? "./" : dir1).indexOf(dir) == 0;
|
|
63
61
|
return SourceData.fromFile((p_id) ? pathId.substring(dir.length) : null, dirFile, pathId);
|
|
64
62
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
63
|
+
let files = [];
|
|
64
|
+
let dirs = [];
|
|
65
|
+
let _g = 0;
|
|
66
|
+
let _g1 = MaybeArray_Fields_.makeArray(this.config.paths);
|
|
69
67
|
while (_g < _g1.length) {
|
|
70
|
-
|
|
68
|
+
let path = _g1[_g];
|
|
71
69
|
++_g;
|
|
72
|
-
if (path
|
|
73
|
-
dirs.push(Utils.listDirectoryFiles(this.cwdPath(path
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
};
|
|
78
|
-
})(path)));
|
|
70
|
+
if (path.length == 0 || path.charCodeAt(path.length - 1) == 47) {
|
|
71
|
+
dirs.push(Utils.listDirectoryFiles(this.cwdPath(path), this.config.recursive).then(function (arr) {
|
|
72
|
+
let _g = 0;
|
|
73
|
+
while (_g < arr.length) files.push(onDirFile(path, arr[_g++]));
|
|
74
|
+
}));
|
|
79
75
|
} else {
|
|
80
|
-
|
|
81
|
-
files.push(SourceData.fromFile(id.substring(id.lastIndexOf("/") + 1), _gthis.cwdPath(path
|
|
76
|
+
let id = path;
|
|
77
|
+
files.push(SourceData.fromFile(id.substring(id.lastIndexOf("/") + 1), _gthis.cwdPath(path), path));
|
|
82
78
|
};
|
|
83
79
|
};
|
|
84
80
|
return Promise.all(dirs).then(function (_) {
|
|
@@ -88,22 +84,20 @@ class Files extends Register.inherits(Stone) {
|
|
|
88
84
|
});
|
|
89
85
|
}
|
|
90
86
|
walk(onFile, onDirFile) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
87
|
+
let files = [];
|
|
88
|
+
let dirs = [];
|
|
89
|
+
let _g = 0;
|
|
90
|
+
let _g1 = MaybeArray_Fields_.makeArray(this.config.paths);
|
|
95
91
|
while (_g < _g1.length) {
|
|
96
|
-
|
|
92
|
+
let path = _g1[_g];
|
|
97
93
|
++_g;
|
|
98
|
-
if (path
|
|
99
|
-
dirs.push(Utils.listDirectoryFiles(this.cwdPath(path
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
};
|
|
104
|
-
})(path)));
|
|
94
|
+
if (path.length == 0 || path.charCodeAt(path.length - 1) == 47) {
|
|
95
|
+
dirs.push(Utils.listDirectoryFiles(this.cwdPath(path), this.config.recursive).then(function (arr) {
|
|
96
|
+
let _g = 0;
|
|
97
|
+
while (_g < arr.length) files.push(onDirFile(path, arr[_g++]));
|
|
98
|
+
}));
|
|
105
99
|
} else {
|
|
106
|
-
files.push(onFile(path
|
|
100
|
+
files.push(onFile(path));
|
|
107
101
|
};
|
|
108
102
|
};
|
|
109
103
|
return Promise.all(dirs).then(function (_) {
|
|
@@ -111,12 +105,12 @@ class Files extends Register.inherits(Stone) {
|
|
|
111
105
|
});
|
|
112
106
|
}
|
|
113
107
|
fromCwd(file, dir) {
|
|
114
|
-
|
|
108
|
+
let pathId = IdUtils.fromCwdPath(file, RootDir.fromProject(this.project));
|
|
115
109
|
if (!(dir.length == 0 || dir.charCodeAt(dir.length - 1) == 47)) {
|
|
116
110
|
throw new Error("\"" + dir + "\" is not a directory.");
|
|
117
111
|
};
|
|
118
|
-
|
|
119
|
-
|
|
112
|
+
let tmp;
|
|
113
|
+
let dir1 = pathId.substring(0, pathId.lastIndexOf("/") + 1);
|
|
120
114
|
tmp = ((dir1.length == 0) ? "./" : dir1).indexOf(dir) == 0;
|
|
121
115
|
return {"pathId": pathId, "id": (tmp) ? pathId.substring(dir.length) : null};
|
|
122
116
|
}
|
|
@@ -20,32 +20,32 @@ class JsonStone extends Register.inherits(Stone) {
|
|
|
20
20
|
return this;
|
|
21
21
|
}
|
|
22
22
|
generate(hash) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
var _g_index = 0;
|
|
23
|
+
let obj = {};
|
|
24
|
+
let access = this.data;
|
|
25
|
+
let _g_keys = Reflect__1.fields(access);
|
|
26
|
+
let _g_index = 0;
|
|
28
27
|
while (_g_index < _g_keys.length) {
|
|
29
|
-
|
|
28
|
+
let key = _g_keys[_g_index++];
|
|
30
29
|
obj[key] = access[key];
|
|
31
30
|
};
|
|
31
|
+
let _gthis = this;
|
|
32
32
|
return this.config.mergeFiles.get().then(function (list) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
let result = new Array(list.length);
|
|
34
|
+
let _g = 0;
|
|
35
|
+
let _g1 = list.length;
|
|
36
36
|
while (_g < _g1) {
|
|
37
|
-
|
|
37
|
+
let i = _g++;
|
|
38
38
|
result[i] = list[i].get();
|
|
39
39
|
};
|
|
40
40
|
return Promise.all(result);
|
|
41
41
|
}).then(function (dataArr) {
|
|
42
|
-
|
|
42
|
+
let _g = 0;
|
|
43
43
|
while (_g < dataArr.length) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
let file = JSON.parse(dataArr[_g++].data.toString());
|
|
45
|
+
let _g_keys = Reflect__1.fields(file);
|
|
46
|
+
let _g_index = 0;
|
|
47
47
|
while (_g_index < _g_keys.length) {
|
|
48
|
-
|
|
48
|
+
let key = _g_keys[_g_index++];
|
|
49
49
|
obj[key] = file[key];
|
|
50
50
|
};
|
|
51
51
|
};
|
|
@@ -53,7 +53,7 @@ class JsonStone extends Register.inherits(Stone) {
|
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
generateHash() {
|
|
56
|
-
|
|
56
|
+
let _gthis = this;
|
|
57
57
|
return this.config.mergeFiles.getHash().then(function (hash) {
|
|
58
58
|
return hash.add(SourceHash.fromString(JSON.stringify(_gthis.data)));
|
|
59
59
|
});
|