web-dev-server
Version:
Node.js simple http server for common development or training purposes.
91 lines • 3.21 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.DirItem = void 0;
var DirItem = /** @class */ (function () {
function DirItem(type, path, code) {
this.type = type;
this.path = path;
this.code = code;
}
DirItem.SortByPath = function (a, b) {
if (a.path < b.path) {
return -1;
}
else if (a.path > b.path) {
return 1;
}
else {
return 0;
}
};
/**
* @summary Return found index JS stripts for server side execution or index HTML static files.
*/
DirItem.FindIndex = function (dirItems, indexScripts, indexFiles) {
var dirItemsLowerCased = [], indexFilesFound = [], indexScriptsFound = [], dirItem = '', dirItemLowerCased = '', resultScripts = [], resultFiles = [], i, l, index = 0;
for (i = 0, l = dirItems.length; i < l; i++) {
dirItem = dirItems[i];
dirItemLowerCased = dirItem.toLocaleLowerCase();
dirItemsLowerCased.push({
original: dirItem,
lowerCase: dirItemLowerCased
});
if (indexScripts.has(dirItemLowerCased)) {
index = indexScripts.get(dirItemLowerCased);
indexScriptsFound.push({
index: index,
dir: dirItem
});
break;
}
}
if (indexScriptsFound.length > 0) {
indexScriptsFound.sort(DirItem.indexScriptsFoundSort);
indexScriptsFound.map(function (item) {
resultScripts.push(item.dir);
});
}
else {
for (i = 0, l = dirItemsLowerCased.length; i < l; i++) {
dirItem = dirItemsLowerCased[i].original;
dirItemLowerCased = dirItemsLowerCased[i].lowerCase;
if (indexFiles.has(dirItemLowerCased)) {
index = indexFiles.get(dirItemLowerCased);
indexFilesFound.push({
index: index,
file: dirItem
});
}
}
indexFilesFound.sort(DirItem.indexFilesFoundSort);
indexFilesFound.map(function (item) {
resultFiles.push(item.file);
});
}
;
return {
scripts: resultScripts,
files: resultFiles
};
};
DirItem.indexScriptsFoundSort = function (a, b) {
var ai = a.index;
var bi = b.index;
return (ai > bi) ? 1 : (ai < bi ? -1 : 0);
};
DirItem.indexFilesFoundSort = function (a, b) {
var ai = a.index;
var bi = b.index;
return (ai > bi) ? 1 : (ai < bi ? -1 : 0);
};
DirItem.TYPE_UNKNOWN = 0;
DirItem.TYPE_DIR = 1;
DirItem.TYPE_FILE = 2;
DirItem.TYPE_SYMLINK = 4;
DirItem.TYPE_SOCKET = 8;
DirItem.TYPE_BLOCK_DEVICE = 16;
DirItem.TYPE_CHARACTER_DEVICE = 32;
DirItem.TYPE_FIFO = 64;
return DirItem;
}());
exports.DirItem = DirItem;
//# sourceMappingURL=DirItem.js.map