whet 0.0.13 → 0.0.16

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.
Files changed (38) hide show
  1. package/bin/whet/Source.d.ts +5 -3
  2. package/bin/whet/Source.js +4 -2
  3. package/bin/whet/Stone.d.ts +12 -0
  4. package/bin/whet/Stone.js +21 -0
  5. package/bin/whet/Utils.js +1 -1
  6. package/bin/whet/Whet.js +1 -1
  7. package/bin/whet/extern/Minimatch.d.ts +77 -0
  8. package/bin/whet/magic/MinimatchType.d.ts +5 -0
  9. package/bin/whet/magic/MinimatchType.js +26 -0
  10. package/bin/whet/magic/RoutePathType.d.ts +12 -3
  11. package/bin/whet/magic/RoutePathType.js +87 -23
  12. package/bin/whet/route/Router.d.ts +19 -12
  13. package/bin/whet/route/Router.js +224 -91
  14. package/bin/whet/stones/Files.d.ts +5 -0
  15. package/bin/whet/stones/JsonStone.d.ts +7 -3
  16. package/bin/whet/stones/JsonStone.js +19 -50
  17. package/bin/whet/stones/RemoteFile.d.ts +5 -0
  18. package/bin/whet/stones/Server.d.ts +5 -0
  19. package/bin/whet/stones/Server.js +1 -1
  20. package/bin/whet/stones/Zip.d.ts +5 -0
  21. package/bin/whet/stones/Zip.js +2 -22
  22. package/bin/whet/stones/haxe/HaxeBuild.d.ts +5 -0
  23. package/bin/whet/stones/haxe/HaxeBuild.js +3 -2
  24. package/bin/whet/stones/haxe/Hxml.d.ts +5 -0
  25. package/bin/whet.d.ts +0 -1
  26. package/bin/whet.js +0 -1
  27. package/package.json +4 -2
  28. package/bin/StringBuf.d.ts +0 -13
  29. package/bin/StringBuf.js +0 -25
  30. package/bin/haxe/CallStack.d.ts +0 -41
  31. package/bin/haxe/CallStack.js +0 -96
  32. package/bin/haxe/NativeStackTrace.js +0 -147
  33. package/bin/haxe/io/Path.d.ts +0 -109
  34. package/bin/haxe/io/Path.js +0 -217
  35. package/bin/whet/magic/RouteType.d.ts +0 -13
  36. package/bin/whet/magic/RouteType.js +0 -104
  37. package/bin/whet/route/Route.d.ts +0 -19
  38. package/bin/whet/route/Route.js +0 -121
@@ -1,5 +1,8 @@
1
+ import {RouteResult} from "./RouteResult.js"
1
2
  import {RoutePathType_Fields_} from "../magic/RoutePathType.js"
3
+ import {MinimatchType_Fields_} from "../magic/MinimatchType.js"
2
4
  import {Utils} from "../Utils.js"
5
+ import {Stone} from "../Stone.js"
3
6
  import {SourceId} from "../SourceId.js"
4
7
  import {SourceHash} from "../SourceHash.js"
5
8
  import * as Path from "path"
@@ -21,99 +24,141 @@ class Router extends Register.inherits() {
21
24
  }
22
25
 
23
26
  /**
24
- * Find data sources routed under `id`. By default only single result is returned if `id`
25
- * is not a directory, all results otherwise. This can be overriden by providing a second argument.
27
+ * Find data sources routed under `pattern`.
28
+ * @param pattern A glob pattern to search for.
26
29
  */
27
- find(id, firstOnly) {
28
- var _gthis = this;
29
- var s = id;
30
- var str = (id.length > 1 && HxOverrides.cca(id, 0) == 47) ? id.substring(1) : id;
31
- if (str.length > 0) {
32
- str = Path.posix.normalize(str);
33
- str = StringTools.replace(str, "\\", "/");
30
+ get(pattern) {
31
+ if (pattern == null) {
32
+ pattern = "**";
34
33
  };
35
- s = str;
36
- var sourceId = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
34
+ var _gthis = this;
35
+ var filter = MinimatchType_Fields_.makeMinimatch(pattern);
37
36
  return new Promise(function (res, rej) {
38
- if (firstOnly == null) {
39
- firstOnly = HxOverrides.cca(sourceId, sourceId.length - 1) != 47;
40
- };
41
37
  var result = [];
42
38
  var _g = [];
43
39
  var _g1 = 0;
44
40
  var _g2 = _gthis.routes;
45
41
  while (_g1 < _g2.length) {
46
- var path = [_g2[_g1]];
42
+ var route = [_g2[_g1]];
47
43
  ++_g1;
48
- _g.push(path[0].route.list().then((function (path) {
49
- return function (list) {
50
- var this1 = path[0].routeUnder;
51
- if (HxOverrides.cca(this1, this1.length - 1) == 47) {
44
+ var route1 = [route[0]];
45
+ var tmp;
46
+ if (((route1[0].source) instanceof Stone)) {
47
+ var stone = [route1[0].source];
48
+ tmp = stone[0].list().then((function (stone, route) {
49
+ return function (list) {
50
+ var arr = [];
52
51
  var _g = 0;
53
52
  while (_g < list.length) {
54
- var item = list[_g];
53
+ var path = list[_g];
55
54
  ++_g;
56
- item.serveId = SourceId.getPutInDir(item.serveId, path[0].routeUnder);
57
- if (HxOverrides.cca(sourceId, sourceId.length - 1) == 47) {
58
- var rel = SourceId.relativeTo(item.serveId, sourceId);
59
- if (rel != null) {
60
- item.serveId = rel;
61
- result.push(item);
62
- };
63
- } else if (sourceId == item.serveId) {
64
- var s = sourceId.substring(sourceId.lastIndexOf("/"));
65
- var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
66
- if (str.length > 0) {
67
- str = Path.posix.normalize(str);
68
- str = StringTools.replace(str, "\\", "/");
55
+ var serveId = null;
56
+ if (route[0].filter == null || route[0].filter.match(path)) {
57
+ serveId = path;
58
+ if (route[0].extractDirs != null) {
59
+ var dir = path;
60
+ while (true) {
61
+ dir = dir.substring(0, dir.lastIndexOf("/"));
62
+ if (route[0].extractDirs.match(dir + "/")) {
63
+ var s = dir + "/";
64
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
65
+ if (str.length > 0) {
66
+ str = Path.posix.normalize(str);
67
+ str = StringTools.replace(str, "\\", "/");
68
+ };
69
+ s = str;
70
+ serveId = SourceId.relativeTo(path, (HxOverrides.cca(s, 0) == 47) ? s : "/" + s);
71
+ break;
72
+ };
73
+ if (!(dir.length > 0)) {
74
+ break;
75
+ };
76
+ };
69
77
  };
70
- s = str;
71
- item.serveId = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
72
- result.push(item);
78
+ };
79
+ var serveId1 = serveId;
80
+ if (serveId1 != null) {
81
+ arr.push(new RouteResult(serveId1, path, stone[0]));
73
82
  };
74
83
  };
75
- } else {
84
+ return arr;
85
+ };
86
+ })(stone, route1));
87
+ } else if (((route1[0].source) instanceof Router)) {
88
+ tmp = route1[0].source.get().then((function (route) {
89
+ return function (list) {
90
+ var arr = [];
76
91
  var _g = 0;
77
92
  while (_g < list.length) {
78
- var item = list[_g];
93
+ var result = list[_g];
79
94
  ++_g;
80
- item.serveId = path[0].routeUnder;
81
- if (HxOverrides.cca(sourceId, sourceId.length - 1) == 47) {
82
- var rel = SourceId.relativeTo(item.serveId, sourceId);
83
- if (rel != null) {
84
- item.serveId = rel;
85
- result.push(item);
95
+ var path = result.serveId;
96
+ var serveId = null;
97
+ if (route[0].filter == null || route[0].filter.match(path)) {
98
+ serveId = path;
99
+ if (route[0].extractDirs != null) {
100
+ var dir = path;
101
+ while (true) {
102
+ dir = dir.substring(0, dir.lastIndexOf("/"));
103
+ if (route[0].extractDirs.match(dir + "/")) {
104
+ var s = dir + "/";
105
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
106
+ if (str.length > 0) {
107
+ str = Path.posix.normalize(str);
108
+ str = StringTools.replace(str, "\\", "/");
109
+ };
110
+ s = str;
111
+ serveId = SourceId.relativeTo(path, (HxOverrides.cca(s, 0) == 47) ? s : "/" + s);
112
+ break;
113
+ };
114
+ if (!(dir.length > 0)) {
115
+ break;
116
+ };
117
+ };
86
118
  };
87
- } else if (sourceId == item.serveId) {
88
- var s = sourceId.substring(sourceId.lastIndexOf("/"));
89
- var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
90
- if (str.length > 0) {
91
- str = Path.posix.normalize(str);
92
- str = StringTools.replace(str, "\\", "/");
93
- };
94
- s = str;
95
- item.serveId = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
96
- result.push(item);
119
+ };
120
+ var serveId1 = serveId;
121
+ if (serveId1 != null) {
122
+ result.serveId = serveId1;
123
+ arr.push(result);
97
124
  };
98
125
  };
126
+ return arr;
127
+ };
128
+ })(route1));
129
+ } else {
130
+ throw new Error("Router source must be a Stone or a Router.");
131
+ };
132
+ _g.push(tmp.then((function (route) {
133
+ return function (list) {
134
+ var this1 = route[0].routeUnder;
135
+ var routeUnderIsDir = HxOverrides.cca(this1, this1.length - 1) == 47;
136
+ var _g = 0;
137
+ while (_g < list.length) {
138
+ var item = list[_g];
139
+ ++_g;
140
+ item.serveId = (routeUnderIsDir) ? SourceId.getPutInDir(item.serveId, route[0].routeUnder) : route[0].routeUnder;
141
+ if (filter.match(item.serveId)) {
142
+ result.push(item);
143
+ };
99
144
  };
100
145
  };
101
- })(path)));
146
+ })(route)));
102
147
  };
103
148
  Promise.all(_g).then(function (_) {
104
- if (firstOnly && result.length > 1) {
105
- result.length = 1;
106
- };
107
149
  res(result);
108
150
  });
109
151
  });
110
152
  }
111
153
 
112
154
  /**
113
- * Get combined hash of all sources that would be found under supplied id.
155
+ * Get combined hash of all sources that fit the `pattern`.
114
156
  */
115
- getHash(id, firstOnly) {
116
- return this.find(id, firstOnly).then(function (items) {
157
+ getHash(pattern) {
158
+ if (pattern == null) {
159
+ pattern = "**";
160
+ };
161
+ return this.get(pattern).then(function (items) {
117
162
  var uniqueStones = [];
118
163
  var _g = 0;
119
164
  while (_g < items.length) {
@@ -135,40 +180,17 @@ class Router extends Register.inherits() {
135
180
  });
136
181
  });
137
182
  }
138
- getHashOfEverything() {
139
- var _this = this.routes;
140
- var result = new Array(_this.length);
141
- var _g = 0;
142
- var _g1 = _this.length;
143
- while (_g < _g1) {
144
- var i = _g++;
145
- var _this1 = _this[i].route.routes;
146
- var result1 = new Array(_this1.length);
147
- var _g2 = 0;
148
- var _g3 = _this1.length;
149
- while (_g2 < _g3) {
150
- var i1 = _g2++;
151
- result1[i1] = _this1[i1].stone.getHash();
152
- };
153
- result[i] = Promise.all(result1).then(function (hashes) {
154
- return SourceHash.merge(...hashes);
155
- });
156
- };
157
- return Promise.all(result).then(function (hashes) {
158
- return SourceHash.merge(...hashes);
159
- });
160
- }
161
183
 
162
184
  /**
163
- * Save files filtered by `searchId` into provided `saveInto` folder.
185
+ * Save files filtered by `pattern` into provided `saveInto` folder.
164
186
  */
165
- saveInto(searchId, saveInto, clearFirst) {
187
+ saveInto(pattern, saveInto, clearFirst) {
166
188
  if (clearFirst == null) {
167
189
  clearFirst = true;
168
190
  };
169
191
  var _gthis = this;
170
192
  return ((clearFirst) ? Utils.deleteAll(saveInto) : Promise.resolve(null)).then(function (_) {
171
- return _gthis.find(searchId);
193
+ return _gthis.get(pattern);
172
194
  }).then(function (result) {
173
195
  var _g = [];
174
196
  var _g1 = 0;
@@ -198,11 +220,11 @@ class Router extends Register.inherits() {
198
220
  return Promise.all(_g);
199
221
  });
200
222
  }
201
- listContents(search) {
202
- if (search == null) {
203
- search = "/";
223
+ listContents(pattern) {
224
+ if (pattern == null) {
225
+ pattern = "**";
204
226
  };
205
- return this.find(search).then(function (files) {
227
+ return this.get(pattern).then(function (files) {
206
228
  var result = new Array(files.length);
207
229
  var _g = 0;
208
230
  var _g1 = files.length;
@@ -222,6 +244,117 @@ class Router extends Register.inherits() {
222
244
  return result.join("\n");
223
245
  });
224
246
  }
247
+ allFromRoute(route) {
248
+ if (((route.source) instanceof Stone)) {
249
+ var stone = route.source;
250
+ return stone.list().then(function (list) {
251
+ var arr = [];
252
+ var _g = 0;
253
+ while (_g < list.length) {
254
+ var path = list[_g];
255
+ ++_g;
256
+ var serveId = null;
257
+ if (route.filter == null || route.filter.match(path)) {
258
+ serveId = path;
259
+ if (route.extractDirs != null) {
260
+ var dir = path;
261
+ while (true) {
262
+ dir = dir.substring(0, dir.lastIndexOf("/"));
263
+ if (route.extractDirs.match(dir + "/")) {
264
+ var s = dir + "/";
265
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
266
+ if (str.length > 0) {
267
+ str = Path.posix.normalize(str);
268
+ str = StringTools.replace(str, "\\", "/");
269
+ };
270
+ s = str;
271
+ serveId = SourceId.relativeTo(path, (HxOverrides.cca(s, 0) == 47) ? s : "/" + s);
272
+ break;
273
+ };
274
+ if (!(dir.length > 0)) {
275
+ break;
276
+ };
277
+ };
278
+ };
279
+ };
280
+ var serveId1 = serveId;
281
+ if (serveId1 != null) {
282
+ arr.push(new RouteResult(serveId1, path, stone));
283
+ };
284
+ };
285
+ return arr;
286
+ });
287
+ } else if (((route.source) instanceof Router)) {
288
+ return route.source.get().then(function (list) {
289
+ var arr = [];
290
+ var _g = 0;
291
+ while (_g < list.length) {
292
+ var result = list[_g];
293
+ ++_g;
294
+ var path = result.serveId;
295
+ var serveId = null;
296
+ if (route.filter == null || route.filter.match(path)) {
297
+ serveId = path;
298
+ if (route.extractDirs != null) {
299
+ var dir = path;
300
+ while (true) {
301
+ dir = dir.substring(0, dir.lastIndexOf("/"));
302
+ if (route.extractDirs.match(dir + "/")) {
303
+ var s = dir + "/";
304
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
305
+ if (str.length > 0) {
306
+ str = Path.posix.normalize(str);
307
+ str = StringTools.replace(str, "\\", "/");
308
+ };
309
+ s = str;
310
+ serveId = SourceId.relativeTo(path, (HxOverrides.cca(s, 0) == 47) ? s : "/" + s);
311
+ break;
312
+ };
313
+ if (!(dir.length > 0)) {
314
+ break;
315
+ };
316
+ };
317
+ };
318
+ };
319
+ var serveId1 = serveId;
320
+ if (serveId1 != null) {
321
+ result.serveId = serveId1;
322
+ arr.push(result);
323
+ };
324
+ };
325
+ return arr;
326
+ });
327
+ } else {
328
+ throw new Error("Router source must be a Stone or a Router.");
329
+ };
330
+ }
331
+ getServeId(path, route) {
332
+ var serveId = null;
333
+ if (route.filter == null || route.filter.match(path)) {
334
+ serveId = path;
335
+ if (route.extractDirs != null) {
336
+ var dir = path;
337
+ while (true) {
338
+ dir = dir.substring(0, dir.lastIndexOf("/"));
339
+ if (route.extractDirs.match(dir + "/")) {
340
+ var s = dir + "/";
341
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
342
+ if (str.length > 0) {
343
+ str = Path.posix.normalize(str);
344
+ str = StringTools.replace(str, "\\", "/");
345
+ };
346
+ s = str;
347
+ serveId = SourceId.relativeTo(path, (HxOverrides.cca(s, 0) == 47) ? s : "/" + s);
348
+ break;
349
+ };
350
+ if (!(dir.length > 0)) {
351
+ break;
352
+ };
353
+ };
354
+ };
355
+ };
356
+ return serveId;
357
+ }
225
358
  static get __name__() {
226
359
  return "whet.route.Router"
227
360
  }
@@ -13,6 +13,11 @@ export declare class Files extends Stone<FilesConfig> {
13
13
  }
14
14
 
15
15
  export type FilesConfig = {
16
+ /**
17
+ * Defaults to `project.cache.defaultStrategy`.
18
+ * **Do not modify after initialization – it is ignored.**
19
+ * After stone is initialized, change `stone.cacheStrategy` directly.
20
+ */
16
21
  cacheStrategy?: null | CacheStrategy,
17
22
  /**
18
23
  * Registers another stone(s) as dependency of this one. Useful for external processes
@@ -1,5 +1,5 @@
1
1
  import {StoneIdType} from "../magic/StoneId"
2
- import {RouteType} from "../magic/RouteType"
2
+ import {RoutePathType} from "../magic/RoutePathType"
3
3
  import {MaybeArray} from "../magic/MaybeArray"
4
4
  import {CacheStrategy} from "../cache/Cache"
5
5
  import {Stone, AnyStone} from "../Stone"
@@ -11,7 +11,6 @@ export declare class JsonStone extends Stone<JsonStoneConfig> {
11
11
  constructor(config: JsonStoneConfig)
12
12
  data: {[key: string]: any}
13
13
  addProjectData(): JsonStone
14
- addMergeFiles(files: MaybeArray<RouteType>): JsonStone
15
14
  protected generate(hash: SourceHash): Promise<SourceData[]>
16
15
  protected generateHash(): Promise<SourceHash>
17
16
  list(): Promise<string[]>
@@ -19,6 +18,11 @@ export declare class JsonStone extends Stone<JsonStoneConfig> {
19
18
  }
20
19
 
21
20
  export type JsonStoneConfig = {
21
+ /**
22
+ * Defaults to `project.cache.defaultStrategy`.
23
+ * **Do not modify after initialization – it is ignored.**
24
+ * After stone is initialized, change `stone.cacheStrategy` directly.
25
+ */
22
26
  cacheStrategy?: null | CacheStrategy,
23
27
  /**
24
28
  * Registers another stone(s) as dependency of this one. Useful for external processes
@@ -35,7 +39,7 @@ export type JsonStoneConfig = {
35
39
  Defaults to the Stone's class name.
36
40
  */
37
41
  id?: null | StoneIdType,
38
- mergeFiles?: null | MaybeArray<RouteType>,
42
+ mergeFiles?: null | RoutePathType,
39
43
  name?: null | string,
40
44
  /**
41
45
  Defaults to the last instanced project.
@@ -1,5 +1,4 @@
1
- import {RouteType_Fields_} from "../magic/RouteType.js"
2
- import {MaybeArray_Fields_} from "../magic/MaybeArray.js"
1
+ import {Router} from "../route/Router.js"
3
2
  import {Stone} from "../Stone.js"
4
3
  import {SourceHash} from "../SourceHash.js"
5
4
  import {SourceData} from "../Source.js"
@@ -23,10 +22,6 @@ class JsonStone extends Register.inherits(Stone) {
23
22
  this.data["description"] = this.project.description;
24
23
  return this;
25
24
  }
26
- addMergeFiles(files) {
27
- this.config.mergeFiles = MaybeArray_Fields_.makeArray(this.config.mergeFiles).concat(MaybeArray_Fields_.makeArray(files));
28
- return this;
29
- }
30
25
  generate(hash) {
31
26
  var _gthis = this;
32
27
  var obj = {};
@@ -37,28 +32,24 @@ class JsonStone extends Register.inherits(Stone) {
37
32
  var key = _g_keys[_g_index++];
38
33
  obj[key] = access[key];
39
34
  };
40
- var _this = MaybeArray_Fields_.makeArray(this.config.mergeFiles);
41
- var result = new Array(_this.length);
42
- var _g = 0;
43
- var _g1 = _this.length;
44
- while (_g < _g1) {
45
- var i = _g++;
46
- result[i] = RouteType_Fields_.makeRoute(_this[i]).getData();
47
- };
48
- return Promise.all(result).then(function (dataArr) {
35
+ return new Router(this.config.mergeFiles).get().then(function (list) {
36
+ var result = new Array(list.length);
37
+ var _g = 0;
38
+ var _g1 = list.length;
39
+ while (_g < _g1) {
40
+ var i = _g++;
41
+ result[i] = list[i].get();
42
+ };
43
+ return Promise.all(result);
44
+ }).then(function (dataArr) {
49
45
  var _g = 0;
50
46
  while (_g < dataArr.length) {
51
- var data = dataArr[_g];
52
- ++_g;
53
- var _g1 = 0;
54
- while (_g1 < data.length) {
55
- var file = JSON.parse(data[_g1++].data.toString());
56
- var _g_keys = Reflect__1.fields(file);
57
- var _g_index = 0;
58
- while (_g_index < _g_keys.length) {
59
- var key = _g_keys[_g_index++];
60
- obj[key] = file[key];
61
- };
47
+ var file = JSON.parse(dataArr[_g++].data.toString());
48
+ var _g_keys = Reflect__1.fields(file);
49
+ var _g_index = 0;
50
+ while (_g_index < _g_keys.length) {
51
+ var key = _g_keys[_g_index++];
52
+ obj[key] = file[key];
62
53
  };
63
54
  };
64
55
  return [SourceData.fromString(_gthis.config.name, JSON.stringify(obj, null, " "))];
@@ -66,27 +57,8 @@ class JsonStone extends Register.inherits(Stone) {
66
57
  }
67
58
  generateHash() {
68
59
  var _gthis = this;
69
- var _this = MaybeArray_Fields_.makeArray(this.config.mergeFiles);
70
- var result = new Array(_this.length);
71
- var _g = 0;
72
- var _g1 = _this.length;
73
- while (_g < _g1) {
74
- var i = _g++;
75
- var _this1 = RouteType_Fields_.makeRoute(_this[i]).routes;
76
- var result1 = new Array(_this1.length);
77
- var _g2 = 0;
78
- var _g3 = _this1.length;
79
- while (_g2 < _g3) {
80
- var i1 = _g2++;
81
- result1[i1] = _this1[i1].stone.getHash();
82
- };
83
- result[i] = Promise.all(result1).then(function (hashes) {
84
- return SourceHash.merge(...hashes);
85
- });
86
- };
87
- return Promise.all(result).then(function (hashes) {
88
- hashes.push(SourceHash.fromString(JSON.stringify(_gthis.data)));
89
- return SourceHash.merge(...hashes);
60
+ return new Router(this.config.mergeFiles).getHash().then(function (hash) {
61
+ return hash.add(SourceHash.fromString(JSON.stringify(_gthis.data)));
90
62
  });
91
63
  }
92
64
  list() {
@@ -103,9 +75,6 @@ class JsonStone extends Register.inherits(Stone) {
103
75
  if (this.config.name == null) {
104
76
  this.config.name = "data.json";
105
77
  };
106
- if (this.config.mergeFiles == null) {
107
- this.config.mergeFiles = [];
108
- };
109
78
  super.initConfig();
110
79
  }
111
80
  static get __name__() {
@@ -16,6 +16,11 @@ export declare class RemoteFile extends Stone<RemoteFileConfig> {
16
16
  }
17
17
 
18
18
  export type RemoteFileConfig = {
19
+ /**
20
+ * Defaults to `project.cache.defaultStrategy`.
21
+ * **Do not modify after initialization – it is ignored.**
22
+ * After stone is initialized, change `stone.cacheStrategy` directly.
23
+ */
19
24
  cacheStrategy?: null | CacheStrategy,
20
25
  /**
21
26
  * Registers another stone(s) as dependency of this one. Useful for external processes
@@ -25,6 +25,11 @@ export declare class Server extends Stone<ServerConfig> {
25
25
  }
26
26
 
27
27
  export type ServerConfig = {
28
+ /**
29
+ * Defaults to `project.cache.defaultStrategy`.
30
+ * **Do not modify after initialization – it is ignored.**
31
+ * After stone is initialized, change `stone.cacheStrategy` directly.
32
+ */
28
33
  cacheStrategy?: null | CacheStrategy,
29
34
  /**
30
35
  * Registers another stone(s) as dependency of this one. Useful for external processes
@@ -97,7 +97,7 @@ class Server extends Register.inherits(Stone) {
97
97
  s = str;
98
98
  id = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
99
99
  };
100
- this.config.router.find(id).then(function (routeResult) {
100
+ this.config.router.get(id).then(function (routeResult) {
101
101
  return ((routeResult.length > 0) ? routeResult[0].get() : (_gthis.routeDynamic != null) ? _gthis.routeDynamic(id) : Promise.resolve(null)).then(function (source) {
102
102
  if (source == null) {
103
103
  res.writeHead(404, "File not found.");
@@ -16,6 +16,11 @@ export declare class ZipStone extends Stone<ZipConfig> {
16
16
  }
17
17
 
18
18
  export type ZipConfig = {
19
+ /**
20
+ * Defaults to `project.cache.defaultStrategy`.
21
+ * **Do not modify after initialization – it is ignored.**
22
+ * After stone is initialized, change `stone.cacheStrategy` directly.
23
+ */
19
24
  cacheStrategy?: null | CacheStrategy,
20
25
  /**
21
26
  * Registers another stone(s) as dependency of this one. Useful for external processes
@@ -36,27 +36,7 @@ class ZipStone extends Register.inherits(Stone) {
36
36
  }
37
37
  generateHash() {
38
38
  var _gthis = this;
39
- var _this = new Router(this.config.sources).routes;
40
- var result = new Array(_this.length);
41
- var _g = 0;
42
- var _g1 = _this.length;
43
- while (_g < _g1) {
44
- var i = _g++;
45
- var _this1 = _this[i].route.routes;
46
- var result1 = new Array(_this1.length);
47
- var _g2 = 0;
48
- var _g3 = _this1.length;
49
- while (_g2 < _g3) {
50
- var i1 = _g2++;
51
- result1[i1] = _this1[i1].stone.getHash();
52
- };
53
- result[i] = Promise.all(result1).then(function (hashes) {
54
- return SourceHash.merge(...hashes);
55
- });
56
- };
57
- return Promise.all(result).then(function (hashes) {
58
- return SourceHash.merge(...hashes);
59
- }).then(function (hash) {
39
+ return new Router(this.config.sources).getHash().then(function (hash) {
60
40
  return SourceHash.fromString(_gthis.config.filename + _gthis.config.level).add(hash);
61
41
  });
62
42
  }
@@ -64,7 +44,7 @@ class ZipStone extends Register.inherits(Stone) {
64
44
  var _gthis = this;
65
45
  Log.log(30, ...["Zipping files."]);
66
46
  var level = this.config.level;
67
- return new Router(this.config.sources).find("/").then(function (files) {
47
+ return new Router(this.config.sources).get().then(function (files) {
68
48
  var _g = [];
69
49
  var _g1 = 0;
70
50
  while (_g1 < files.length) {
@@ -22,6 +22,11 @@ export declare class HaxeBuild extends Stone<BuildConfig> {
22
22
  }
23
23
 
24
24
  export type BuildConfig = {
25
+ /**
26
+ * Defaults to `project.cache.defaultStrategy`.
27
+ * **Do not modify after initialization – it is ignored.**
28
+ * After stone is initialized, change `stone.cacheStrategy` directly.
29
+ */
25
30
  cacheStrategy?: null | CacheStrategy,
26
31
  /**
27
32
  * Registers another stone(s) as dependency of this one. Useful for external processes
@@ -61,8 +61,9 @@ class HaxeBuild extends Register.inherits(Stone) {
61
61
  };
62
62
  ChildProcess.exec(result.join(" "), {"cwd": cwd1, "windowsHide": true}, function (err, stdout, stderr) {
63
63
  if (err != null) {
64
- Log.log(30, ...["Haxe build failed."]);
65
- rej(err);
64
+ var haxeError = new Error(stderr);
65
+ haxeError.name = "Haxe Build Error";
66
+ rej(haxeError);
66
67
  } else {
67
68
  Log.log(30, ...["Haxe build successful."]);
68
69
  res(null);
@@ -30,6 +30,11 @@ export declare class Hxml extends Stone<HxmlConfig> {
30
30
  }
31
31
 
32
32
  export type HxmlConfig = {
33
+ /**
34
+ * Defaults to `project.cache.defaultStrategy`.
35
+ * **Do not modify after initialization – it is ignored.**
36
+ * After stone is initialized, change `stone.cacheStrategy` directly.
37
+ */
33
38
  cacheStrategy?: null | CacheStrategy,
34
39
  dce?: null | DCE,
35
40
  debug?: null | boolean,
package/bin/whet.d.ts CHANGED
@@ -7,7 +7,6 @@ export {Stone} from "./whet/Stone"
7
7
  export {ServerConfig} from "./whet/stones/Server"
8
8
  export {Server} from "./whet/stones/Server"
9
9
  export {Router} from "./whet/route/Router"
10
- export {Route} from "./whet/route/Route"
11
10
  export {RemoteFileConfig} from "./whet/stones/RemoteFile"
12
11
  export {RemoteFile} from "./whet/stones/RemoteFile"
13
12
  export {Project} from "./whet/Project"