MCPcopy
hub / github.com/walterhiggins/ScriptCraft / sorter

Function sorter

src/docs/js/generateApiDocs.js:31–70  ·  view source on GitHub ↗
(precedence)

Source from the content-addressed store, hash-verified

29 directory) - e.g. drone/drone.js
30 */
31function sorter(precedence) {
32 return function(a, b) {
33 // convert from Java string to JS string
34 a = '' + a;
35 b = '' + b;
36 var aparts = a.split(/\//);
37 var bparts = b.split(/\//);
38 var adir = aparts.slice(3, aparts.length - 1).join('/');
39 var afile = aparts[aparts.length - 1];
40 var bdir = bparts.slice(3, bparts.length - 1).join('/');
41 var bfile = bparts[bparts.length - 1];
42
43 for (var i = 0; i < precedence.length; i++) {
44 var re = precedence[i];
45 if (a.match(re) && b.match(re)) {
46 if (afile < bfile) return -1;
47 if (afile > bfile) return 1;
48 }
49 if (a.match(re)) return -1;
50 if (b.match(re)) return 1;
51 }
52 if (adir < bdir) return -1;
53 if (adir > bdir) return 1;
54 afile = afile.replace(/\.js$/, '');
55 if (afile == adir) {
56 return -1;
57 } else {
58 var result = 0;
59 if (afile < bfile) {
60 result = -1;
61 }
62 if (afile > bfile) {
63 result = 1;
64 }
65 //err.println("afile: " + afile + ", bfile:" + bfile + ",result=" + result);
66
67 return result;
68 }
69 };
70}
71var err = java.lang.System.err;
72args = Array.prototype.slice.call(args, 1);
73

Callers 1

generateApiDocs.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected