whet 0.0.8 → 0.0.9

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.
@@ -3,7 +3,7 @@ import {RouteResult} from "../route/RouteResult.js"
3
3
  import {Route} from "../route/Route.js"
4
4
  import {MaybeArray_Fields_} from "./MaybeArray.js"
5
5
  import {Stone} from "../Stone.js"
6
- import {SourceId_Fields_, SourceId} from "../SourceId.js"
6
+ import {SourceId} from "../SourceId.js"
7
7
  import * as Path from "path"
8
8
  import {Register} from "../../genes/Register.js"
9
9
  import {StringTools} from "../../StringTools.js"
@@ -35,9 +35,13 @@ class RouteType_Fields_ {
35
35
  };
36
36
  var tinner1 = tinner[0];
37
37
  var s = tinner[1];
38
- s = Path.posix.normalize((s.length > 1 && SourceId_Fields_.startsWithSlash(s)) ? HxOverrides.substr(s, 1, null) : s);
39
- s = StringTools.replace(s, "\\", "/");
40
- _g.push(RouteType_Fields_.getRoute(tinner1, (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s));
38
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
39
+ if (str.length > 0) {
40
+ str = Path.posix.normalize(str);
41
+ str = StringTools.replace(str, "\\", "/");
42
+ };
43
+ s = str;
44
+ _g.push(RouteType_Fields_.getRoute(tinner1, (HxOverrides.cca(s, 0) == 47) ? s : "/" + s));
41
45
  };
42
46
  };
43
47
  return _g;
@@ -50,13 +54,21 @@ class RouteType_Fields_ {
50
54
  tmp1 = path;
51
55
  } else {
52
56
  var s = t;
53
- s = Path.posix.normalize((s.length > 1 && SourceId_Fields_.startsWithSlash(s)) ? HxOverrides.substr(s, 1, null) : s);
54
- s = StringTools.replace(s, "\\", "/");
55
- var p = (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s;
57
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
58
+ if (str.length > 0) {
59
+ str = Path.posix.normalize(str);
60
+ str = StringTools.replace(str, "\\", "/");
61
+ };
62
+ s = str;
63
+ var p = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
56
64
  var s = p.substring(0, p.lastIndexOf("/") + 1);
57
- s = Path.posix.normalize((s.length > 1 && SourceId_Fields_.startsWithSlash(s)) ? HxOverrides.substr(s, 1, null) : s);
58
- s = StringTools.replace(s, "\\", "/");
59
- tmp1 = SourceId.relativeTo(p, (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s);
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, "\\", "/");
69
+ };
70
+ s = str;
71
+ tmp1 = SourceId.relativeTo(p, (HxOverrides.cca(s, 0) == 47) ? s : "/" + s);
60
72
  };
61
73
  return {"stone": tmp, "path": tmp1};
62
74
  } else if (((t) instanceof Stone)) {
@@ -65,9 +77,13 @@ class RouteType_Fields_ {
65
77
  tmp = path;
66
78
  } else {
67
79
  var s = "/";
68
- s = Path.posix.normalize(("/".length > 1 && SourceId_Fields_.startsWithSlash("/")) ? HxOverrides.substr("/", 1, null) : "/");
69
- s = StringTools.replace(s, "\\", "/");
70
- tmp = (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s;
80
+ var str = ("/".length > 1 && HxOverrides.cca("/", 0) == 47) ? "/".substring(1) : "/";
81
+ if (str.length > 0) {
82
+ str = Path.posix.normalize(str);
83
+ str = StringTools.replace(str, "\\", "/");
84
+ };
85
+ s = str;
86
+ tmp = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
71
87
  };
72
88
  return {"stone": t, "path": tmp};
73
89
  } else if (((t) instanceof RouteResult)) {
@@ -1,6 +1,6 @@
1
1
  import {RouteResult} from "./RouteResult.js"
2
2
  import {RouteType_Fields_} from "../magic/RouteType.js"
3
- import {SourceId_Fields_, SourceId} from "../SourceId.js"
3
+ import {SourceId} from "../SourceId.js"
4
4
  import {SourceHash} from "../SourceHash.js"
5
5
  import * as Path from "path"
6
6
  import {Register} from "../../genes/Register.js"
@@ -43,13 +43,29 @@ class Route extends Register.inherits() {
43
43
  _g.push(r[0].stone.list().then((function (r) {
44
44
  return function (list) {
45
45
  var arr = [];
46
- if (SourceId_Fields_.endsWithSlash(r[0].path)) {
46
+ var this1 = r[0].path;
47
+ if (HxOverrides.cca(this1, this1.length - 1) == 47) {
47
48
  var _g = 0;
48
49
  while (_g < list.length) {
49
50
  var path = list[_g];
50
51
  ++_g;
51
- var _g1 = r[0].stone;
52
- arr.push(new RouteResult(SourceId.relativeTo(path, r[0].path), path, _g1));
52
+ var directory = r[0].path;
53
+ if (HxOverrides.cca(directory, directory.length - 1) != 47) {
54
+ throw new Error("\"" + directory + "\" is not a directory.");
55
+ };
56
+ var tmp;
57
+ var s = path.substring(0, path.lastIndexOf("/") + 1);
58
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
59
+ if (str.length > 0) {
60
+ str = Path.posix.normalize(str);
61
+ str = StringTools.replace(str, "\\", "/");
62
+ };
63
+ s = str;
64
+ tmp = ((HxOverrides.cca(s, 0) == 47) ? s : "/" + s).indexOf(directory) == 0;
65
+ if (tmp) {
66
+ var _g1 = r[0].stone;
67
+ arr.push(new RouteResult(SourceId.relativeTo(path, r[0].path), path, _g1));
68
+ };
53
69
  };
54
70
  } else {
55
71
  var _g = 0;
@@ -59,9 +75,13 @@ class Route extends Register.inherits() {
59
75
  if (path == r[0].path) {
60
76
  var _g1 = r[0].stone;
61
77
  var s = path.substring(path.lastIndexOf("/"));
62
- s = Path.posix.normalize((s.length > 1 && SourceId_Fields_.startsWithSlash(s)) ? HxOverrides.substr(s, 1, null) : s);
63
- s = StringTools.replace(s, "\\", "/");
64
- arr.push(new RouteResult((SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s, path, _g1));
78
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
79
+ if (str.length > 0) {
80
+ str = Path.posix.normalize(str);
81
+ str = StringTools.replace(str, "\\", "/");
82
+ };
83
+ s = str;
84
+ arr.push(new RouteResult((HxOverrides.cca(s, 0) == 47) ? s : "/" + s, path, _g1));
65
85
  };
66
86
  };
67
87
  };
@@ -1,6 +1,6 @@
1
1
  import {RoutePathType_Fields_} from "../magic/RoutePathType.js"
2
2
  import {Utils} from "../Utils.js"
3
- import {SourceId_Fields_, SourceId} from "../SourceId.js"
3
+ import {SourceId} from "../SourceId.js"
4
4
  import {SourceHash} from "../SourceHash.js"
5
5
  import * as Path from "path"
6
6
  import {Register} from "../../genes/Register.js"
@@ -27,12 +27,16 @@ class Router extends Register.inherits() {
27
27
  find(id, firstOnly) {
28
28
  var _gthis = this;
29
29
  var s = id;
30
- s = Path.posix.normalize((id.length > 1 && SourceId_Fields_.startsWithSlash(id)) ? HxOverrides.substr(id, 1, null) : id);
31
- s = StringTools.replace(s, "\\", "/");
32
- var sourceId = (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s;
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, "\\", "/");
34
+ };
35
+ s = str;
36
+ var sourceId = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
33
37
  return new Promise(function (res, rej) {
34
38
  if (firstOnly == null) {
35
- firstOnly = !SourceId_Fields_.endsWithSlash(sourceId);
39
+ firstOnly = HxOverrides.cca(sourceId, sourceId.length - 1) != 47;
36
40
  };
37
41
  var result = [];
38
42
  var _g = [];
@@ -43,13 +47,14 @@ class Router extends Register.inherits() {
43
47
  ++_g1;
44
48
  _g.push(path[0].route.list().then((function (path) {
45
49
  return function (list) {
46
- if (SourceId_Fields_.endsWithSlash(path[0].routeUnder)) {
50
+ var this1 = path[0].routeUnder;
51
+ if (HxOverrides.cca(this1, this1.length - 1) == 47) {
47
52
  var _g = 0;
48
53
  while (_g < list.length) {
49
54
  var item = list[_g];
50
55
  ++_g;
51
56
  item.serveId = SourceId.getPutInDir(item.serveId, path[0].routeUnder);
52
- if (SourceId_Fields_.endsWithSlash(sourceId)) {
57
+ if (HxOverrides.cca(sourceId, sourceId.length - 1) == 47) {
53
58
  var rel = SourceId.relativeTo(item.serveId, sourceId);
54
59
  if (rel != null) {
55
60
  item.serveId = rel;
@@ -57,9 +62,13 @@ class Router extends Register.inherits() {
57
62
  };
58
63
  } else if (sourceId == item.serveId) {
59
64
  var s = sourceId.substring(sourceId.lastIndexOf("/"));
60
- s = Path.posix.normalize((s.length > 1 && SourceId_Fields_.startsWithSlash(s)) ? HxOverrides.substr(s, 1, null) : s);
61
- s = StringTools.replace(s, "\\", "/");
62
- item.serveId = (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s;
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, "\\", "/");
69
+ };
70
+ s = str;
71
+ item.serveId = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
63
72
  result.push(item);
64
73
  };
65
74
  };
@@ -69,7 +78,7 @@ class Router extends Register.inherits() {
69
78
  var item = list[_g];
70
79
  ++_g;
71
80
  item.serveId = path[0].routeUnder;
72
- if (SourceId_Fields_.endsWithSlash(sourceId)) {
81
+ if (HxOverrides.cca(sourceId, sourceId.length - 1) == 47) {
73
82
  var rel = SourceId.relativeTo(item.serveId, sourceId);
74
83
  if (rel != null) {
75
84
  item.serveId = rel;
@@ -77,9 +86,13 @@ class Router extends Register.inherits() {
77
86
  };
78
87
  } else if (sourceId == item.serveId) {
79
88
  var s = sourceId.substring(sourceId.lastIndexOf("/"));
80
- s = Path.posix.normalize((s.length > 1 && SourceId_Fields_.startsWithSlash(s)) ? HxOverrides.substr(s, 1, null) : s);
81
- s = StringTools.replace(s, "\\", "/");
82
- item.serveId = (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s;
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;
83
96
  result.push(item);
84
97
  };
85
98
  };
@@ -165,9 +178,13 @@ class Router extends Register.inherits() {
165
178
  var saveInto1 = saveInto;
166
179
  var this1 = r.serveId;
167
180
  var s = "/";
168
- s = Path.posix.normalize(("/".length > 1 && SourceId_Fields_.startsWithSlash("/")) ? HxOverrides.substr("/", 1, null) : "/");
169
- s = StringTools.replace(s, "\\", "/");
170
- var root = (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s;
181
+ var str = ("/".length > 1 && HxOverrides.cca("/", 0) == 47) ? "/".substring(1) : "/";
182
+ if (str.length > 0) {
183
+ str = Path.posix.normalize(str);
184
+ str = StringTools.replace(str, "\\", "/");
185
+ };
186
+ s = str;
187
+ var root = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
171
188
  if (this1.charAt(0) != "/") {
172
189
  throw new Error("Badly formed SourceId.");
173
190
  };
@@ -8,6 +8,7 @@ import {Project} from "../Project"
8
8
 
9
9
  export declare class Files extends Stone<FilesConfig> {
10
10
  constructor(config: FilesConfig)
11
+ protected initConfig(): void
11
12
  protected generate(hash: SourceHash): Promise<SourceData[]>
12
13
  }
13
14
 
@@ -18,11 +19,15 @@ export type FilesConfig = {
18
19
  */
19
20
  id?: null | StoneIdType,
20
21
  /**
21
- Can be either a file, or a directory that won't be recursed.
22
+ Can be either a file, or a directory.
22
23
  */
23
24
  paths: MaybeArray<string>,
24
25
  /**
25
26
  Defaults to the last instanced project.
26
27
  */
27
- project?: null | Project
28
+ project?: null | Project,
29
+ /**
30
+ Whether to recurse directories. Defaults to `true`.
31
+ */
32
+ recursive?: null | boolean
28
33
  }
@@ -1,10 +1,10 @@
1
1
  import {MaybeArray_Fields_} from "../magic/MaybeArray.js"
2
+ import {Utils} from "../Utils.js"
2
3
  import {Stone} from "../Stone.js"
3
4
  import {SourceId_Fields_, RootDir, SourceId} from "../SourceId.js"
4
5
  import {SourceData} from "../Source.js"
5
6
  import * as Path from "path"
6
7
  import {Register} from "../../genes/Register.js"
7
- import * as Fs from "fs"
8
8
  import {StringTools} from "../../StringTools.js"
9
9
  import {HxOverrides} from "../../HxOverrides.js"
10
10
 
@@ -15,72 +15,67 @@ class Files extends Register.inherits(Stone) {
15
15
  new(config) {
16
16
  super.new(config);
17
17
  }
18
+ initConfig() {
19
+ this.config.recursive = true;
20
+ }
18
21
  generate(hash) {
19
22
  var _gthis = this;
20
- var _g = MaybeArray_Fields_.makeArray(this.config.paths);
21
- while (0 < _g.length) {
22
- var pathString = _g[0];
23
+ var _g = [];
24
+ var _g1 = 0;
25
+ var _g2 = MaybeArray_Fields_.makeArray(this.config.paths);
26
+ while (_g1 < _g2.length) {
27
+ var pathString = _g2[_g1];
28
+ ++_g1;
23
29
  var s = pathString;
24
- s = Path.posix.normalize((pathString.length > 1 && SourceId_Fields_.startsWithSlash(pathString)) ? HxOverrides.substr(pathString, 1, null) : pathString);
25
- s = StringTools.replace(s, "\\", "/");
26
- var path = [(SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s];
27
- var tmp;
28
- if (SourceId_Fields_.endsWithSlash(path[0])) {
29
- tmp = new Promise((function (path) {
30
- return function (res, rej) {
31
- var root = RootDir.fromProject(_gthis.project);
32
- if (path[0].charAt(0) != "/") {
33
- throw new Error("Badly formed SourceId.");
34
- };
35
- Fs.readdir(Path.posix.join(".", root, ".", path[0]), (function (path) {
36
- return function (err, files) {
37
- if (err != null) {
38
- rej(err);
39
- } else {
40
- var res1 = res;
41
- var _g = [];
42
- var _g1 = 0;
43
- while (_g1 < files.length) {
44
- var file = files[_g1];
45
- ++_g1;
46
- var s = file;
47
- s = Path.posix.normalize((file.length > 1 && SourceId_Fields_.startsWithSlash(file)) ? HxOverrides.substr(file, 1, null) : file);
48
- s = StringTools.replace(s, "\\", "/");
49
- var filepath = SourceId.getPutInDir((SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s, path[0]);
50
- _g.push({"id": SourceId.relativeTo(filepath, path[0]), "pathId": filepath});
51
- };
52
- res1(_g);
53
- };
30
+ var str = (pathString.length > 1 && HxOverrides.cca(pathString, 0) == 47) ? pathString.substring(1) : pathString;
31
+ if (str.length > 0) {
32
+ str = Path.posix.normalize(str);
33
+ str = StringTools.replace(str, "\\", "/");
34
+ };
35
+ s = str;
36
+ var path = [(HxOverrides.cca(s, 0) == 47) ? s : "/" + s];
37
+ if (HxOverrides.cca(path[0], path[0].length - 1) == 47) {
38
+ _g.push(Utils.listDirectoryFiles(this.cwdPath(pathString), this.config.recursive).then((function (path) {
39
+ return function (arr) {
40
+ var _g = [];
41
+ var _g1 = 0;
42
+ while (_g1 < arr.length) {
43
+ var file = arr[_g1];
44
+ ++_g1;
45
+ var s = SourceId_Fields_.fromCwdPath(file, RootDir.fromProject(_gthis.project));
46
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
47
+ if (str.length > 0) {
48
+ str = Path.posix.normalize(str);
49
+ str = StringTools.replace(str, "\\", "/");
54
50
  };
55
- })(path));
51
+ s = str;
52
+ var pathId = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
53
+ _g.push(SourceData.fromFile(SourceId.relativeTo(pathId, path[0]), file, pathId));
54
+ };
55
+ return _g;
56
+ };
57
+ })(path)).then((function () {
58
+ return function (f) {
59
+ return Promise.all(f);
56
60
  };
57
- })(path));
61
+ })()));
58
62
  } else {
59
- var s1 = path[0].substring(path[0].lastIndexOf("/"));
60
- s1 = Path.posix.normalize((s1.length > 1 && SourceId_Fields_.startsWithSlash(s1)) ? HxOverrides.substr(s1, 1, null) : s1);
61
- s1 = StringTools.replace(s1, "\\", "/");
62
- tmp = Promise.resolve([{"id": (SourceId_Fields_.startsWithSlash(s1)) ? s1 : "/" + s1, "pathId": path[0]}]);
63
- };
64
- return tmp.then((function () {
65
- return function (files) {
66
- var _g = [];
67
- var _g1 = 0;
68
- while (_g1 < files.length) {
69
- var f = files[_g1];
70
- ++_g1;
71
- var f1 = f.id;
72
- var this1 = f.pathId;
73
- var root = RootDir.fromProject(_gthis.project);
74
- if (this1.charAt(0) != "/") {
75
- throw new Error("Badly formed SourceId.");
76
- };
77
- _g.push(SourceData.fromFile(f1, Path.posix.join(".", root, ".", this1), f.pathId));
63
+ _g.push(SourceData.fromFile(path[0].substring(path[0].lastIndexOf("/")), this.cwdPath(path[0]), path[0]).then((function () {
64
+ return function (src) {
65
+ return [src];
78
66
  };
79
- return Promise.all(_g);
80
- };
81
- })());
67
+ })()));
68
+ };
82
69
  };
83
- return null;
70
+ return Promise.all(_g).then(function (allSources) {
71
+ var _g = [];
72
+ var _g_current = 0;
73
+ while (_g_current < allSources.length) {
74
+ var x = Register.iter(allSources[_g_current++]);
75
+ while (x.hasNext()) _g.push(x.next());
76
+ };
77
+ return _g;
78
+ });
84
79
  }
85
80
  static get __name__() {
86
81
  return "whet.stones.Files"
@@ -1,7 +1,6 @@
1
1
  import {RouteType_Fields_} from "../magic/RouteType.js"
2
2
  import {MaybeArray_Fields_} from "../magic/MaybeArray.js"
3
3
  import {Stone} from "../Stone.js"
4
- import {SourceId_Fields_} from "../SourceId.js"
5
4
  import {SourceHash} from "../SourceHash.js"
6
5
  import {SourceData} from "../Source.js"
7
6
  import * as Path from "path"
@@ -92,9 +91,13 @@ class JsonStone extends Register.inherits(Stone) {
92
91
  }
93
92
  list() {
94
93
  var s = this.config.name;
95
- s = Path.posix.normalize((s.length > 1 && SourceId_Fields_.startsWithSlash(s)) ? HxOverrides.substr(s, 1, null) : s);
96
- s = StringTools.replace(s, "\\", "/");
97
- return Promise.resolve([(SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s]);
94
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
95
+ if (str.length > 0) {
96
+ str = Path.posix.normalize(str);
97
+ str = StringTools.replace(str, "\\", "/");
98
+ };
99
+ s = str;
100
+ return Promise.resolve([(HxOverrides.cca(s, 0) == 47) ? s : "/" + s]);
98
101
  }
99
102
  initConfig() {
100
103
  if (this.config.name == null) {
@@ -1,6 +1,5 @@
1
1
  import {CacheStrategy, CacheDurability} from "../cache/Cache.js"
2
2
  import {Stone} from "../Stone.js"
3
- import {SourceId_Fields_} from "../SourceId.js"
4
3
  import {SourceHash} from "../SourceHash.js"
5
4
  import {SourceData} from "../Source.js"
6
5
  import {Log} from "../Log.js"
@@ -52,9 +51,13 @@ class RemoteFile extends Register.inherits(Stone) {
52
51
  }
53
52
  getId() {
54
53
  var s = Path.basename(new URL(this.config.url).pathname);
55
- s = Path.posix.normalize((s.length > 1 && SourceId_Fields_.startsWithSlash(s)) ? HxOverrides.substr(s, 1, null) : s);
56
- s = StringTools.replace(s, "\\", "/");
57
- return (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s;
54
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
55
+ if (str.length > 0) {
56
+ str = Path.posix.normalize(str);
57
+ str = StringTools.replace(str, "\\", "/");
58
+ };
59
+ s = str;
60
+ return (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
58
61
  }
59
62
  static get __name__() {
60
63
  return "whet.stones.RemoteFile"
@@ -1,5 +1,4 @@
1
1
  import {Stone} from "../Stone.js"
2
- import {SourceId_Fields_} from "../SourceId.js"
3
2
  import {Log} from "../Log.js"
4
3
  import * as Path from "path"
5
4
  import Mime from "mime"
@@ -55,23 +54,48 @@ class Server extends Register.inherits(Stone) {
55
54
  handler(req, res) {
56
55
  var _gthis = this;
57
56
  Log.log(30, ...["Handling request.", {"url": req.url, "method": req.method}]);
58
- var s = req.url;
59
- s = Path.posix.normalize((s.length > 1 && SourceId_Fields_.startsWithSlash(s)) ? HxOverrides.substr(s, 1, null) : s);
60
- s = StringTools.replace(s, "\\", "/");
61
- var id = (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s;
57
+ var searchIndex = req.url.indexOf("?");
58
+ var id;
59
+ if (searchIndex > 0) {
60
+ var s = req.url.substring(0, searchIndex);
61
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
62
+ if (str.length > 0) {
63
+ str = Path.posix.normalize(str);
64
+ str = StringTools.replace(str, "\\", "/");
65
+ };
66
+ s = str;
67
+ id = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
68
+ } else {
69
+ var s = req.url;
70
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
71
+ if (str.length > 0) {
72
+ str = Path.posix.normalize(str);
73
+ str = StringTools.replace(str, "\\", "/");
74
+ };
75
+ s = str;
76
+ id = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
77
+ };
62
78
  if (req.method == "GET") {
63
- if (SourceId_Fields_.endsWithSlash(id)) {
79
+ if (HxOverrides.cca(id, id.length - 1) == 47) {
64
80
  if ("index.html".length > 0) {
65
81
  var s = id.substring(0, id.lastIndexOf("/") + 1);
66
- s = Path.posix.normalize((s.length > 1 && SourceId_Fields_.startsWithSlash(s)) ? HxOverrides.substr(s, 1, null) : s);
67
- s = StringTools.replace(s, "\\", "/");
68
- id = ((SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s) + "index.html";
82
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
83
+ if (str.length > 0) {
84
+ str = Path.posix.normalize(str);
85
+ str = StringTools.replace(str, "\\", "/");
86
+ };
87
+ s = str;
88
+ id = ((HxOverrides.cca(s, 0) == 47) ? s : "/" + s) + "index.html";
69
89
  };
70
90
  } else if (Path.posix.extname(id) == "") {
71
91
  var s = "" + id + "/index.html";
72
- s = Path.posix.normalize((s.length > 1 && SourceId_Fields_.startsWithSlash(s)) ? HxOverrides.substr(s, 1, null) : s);
73
- s = StringTools.replace(s, "\\", "/");
74
- id = (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s;
92
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
93
+ if (str.length > 0) {
94
+ str = Path.posix.normalize(str);
95
+ str = StringTools.replace(str, "\\", "/");
96
+ };
97
+ s = str;
98
+ id = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
75
99
  };
76
100
  this.config.router.find(id).then(function (routeResult) {
77
101
  var sourcePromise = (routeResult.length > 0) ? routeResult[0].get() : (_gthis.routeDynamic != null) ? _gthis.routeDynamic(id) : null;
@@ -1,7 +1,6 @@
1
1
  import {Router} from "../route/Router.js"
2
2
  import {CacheStrategy, CacheDurability, DurabilityCheck} from "../cache/Cache.js"
3
3
  import {Stone} from "../Stone.js"
4
- import {SourceId_Fields_} from "../SourceId.js"
5
4
  import {SourceHash} from "../SourceHash.js"
6
5
  import {SourceData} from "../Source.js"
7
6
  import {Log} from "../Log.js"
@@ -76,9 +75,13 @@ class ZipStone extends Register.inherits(Stone) {
76
75
  var bytes = Helper.bytesOfBuffer(data.data);
77
76
  var this1 = file[0].serveId;
78
77
  var s = "/";
79
- s = Path.posix.normalize(("/".length > 1 && SourceId_Fields_.startsWithSlash("/")) ? HxOverrides.substr("/", 1, null) : "/");
80
- s = StringTools.replace(s, "\\", "/");
81
- var root = (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s;
78
+ var str = ("/".length > 1 && HxOverrides.cca("/", 0) == 47) ? "/".substring(1) : "/";
79
+ if (str.length > 0) {
80
+ str = Path.posix.normalize(str);
81
+ str = StringTools.replace(str, "\\", "/");
82
+ };
83
+ s = str;
84
+ var root = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
82
85
  if (this1.charAt(0) != "/") {
83
86
  throw new Error("Badly formed SourceId.");
84
87
  };
@@ -100,9 +103,13 @@ class ZipStone extends Register.inherits(Stone) {
100
103
  }
101
104
  list() {
102
105
  var s = this.config.filename;
103
- s = Path.posix.normalize((s.length > 1 && SourceId_Fields_.startsWithSlash(s)) ? HxOverrides.substr(s, 1, null) : s);
104
- s = StringTools.replace(s, "\\", "/");
105
- return Promise.resolve([(SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s]);
106
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
107
+ if (str.length > 0) {
108
+ str = Path.posix.normalize(str);
109
+ str = StringTools.replace(str, "\\", "/");
110
+ };
111
+ s = str;
112
+ return Promise.resolve([(HxOverrides.cca(s, 0) == 47) ? s : "/" + s]);
106
113
  }
107
114
  static get __name__() {
108
115
  return "whet.stones.ZipStone"
@@ -1,7 +1,7 @@
1
1
  import {MaybeArray_Fields_} from "../../magic/MaybeArray.js"
2
2
  import {Utils} from "../../Utils.js"
3
3
  import {Stone} from "../../Stone.js"
4
- import {SourceId_Fields_, RootDir} from "../../SourceId.js"
4
+ import {RootDir} from "../../SourceId.js"
5
5
  import {SourceHash} from "../../SourceHash.js"
6
6
  import {SourceData} from "../../Source.js"
7
7
  import {Log} from "../../Log.js"
@@ -34,9 +34,13 @@ class HaxeBuild extends Register.inherits(Stone) {
34
34
  var cwd = process.cwd();
35
35
  var this1 = _gthis.project.rootDir;
36
36
  var s = "/";
37
- s = Path.posix.normalize(("/".length > 1 && SourceId_Fields_.startsWithSlash("/")) ? HxOverrides.substr("/", 1, null) : "/");
38
- s = StringTools.replace(s, "\\", "/");
39
- var root = (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s;
37
+ var str = ("/".length > 1 && HxOverrides.cca("/", 0) == 47) ? "/".substring(1) : "/";
38
+ if (str.length > 0) {
39
+ str = Path.posix.normalize(str);
40
+ str = StringTools.replace(str, "\\", "/");
41
+ };
42
+ s = str;
43
+ var root = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
40
44
  if (this1.charAt(0) != "/") {
41
45
  throw new Error("Badly formed SourceId.");
42
46
  };
@@ -107,9 +111,13 @@ class HaxeBuild extends Register.inherits(Stone) {
107
111
  while (_g < _g1) {
108
112
  var i = _g++;
109
113
  var s = _this[i];
110
- s = Path.posix.normalize((s.length > 1 && SourceId_Fields_.startsWithSlash(s)) ? HxOverrides.substr(s, 1, null) : s);
111
- s = StringTools.replace(s, "\\", "/");
112
- var this1 = (SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s;
114
+ var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
115
+ if (str.length > 0) {
116
+ str = Path.posix.normalize(str);
117
+ str = StringTools.replace(str, "\\", "/");
118
+ };
119
+ s = str;
120
+ var this1 = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
113
121
  var root = RootDir.fromProject(this.config.hxml.project);
114
122
  if (this1.charAt(0) != "/") {
115
123
  throw new Error("Badly formed SourceId.");