const fs = require('fs');
const path = require('path');
let pathSupplied = './';
let extFilter = 'js';
let extension = (element) => {
let extName = path.extname(element);
return extName === '.' + extFilter;
};
let walk = function (dir) {
const result = [];
fs.readdir(dir, function (err, list) {
list.forEach((item) => {
let itemPath = path.join(dir, item);
fs.stat(itemPath, (e, stats) => {
if (stats.isDirectory()) {
walk(itemPath);
} else {
if(extension(itemPath)){
console.log(itemPath)
result.push(itemPath);
}
}
});
});
});
return result;
}
walk(pathSupplied);
walkAsync = (dir)=>{
return new Promise((resolve)=>{
resolve(walk(dir))
});
}
case '/data.json':
const js = fs.readFileSync('data.json', 'utf8');
res.writeHead(200, {'Content-Type': 'application/json'});
res.end(js);
// https://stackoverflow.com/questions/3916191/download-data-url-file/45905238#45905238?newreg=ddb3c48865d04c319b39f772df762521
function download(dataurl, filename) {
var a = document.createElement("a");
a.href = dataurl;
a.setAttribute("download", filename);
a.click();
}
#someform:invalid [type=submit]{
pointer-events: none;
/* другие нужные стили, да хоть display: none; */
}
function isHasPropertyChain(obj, propertyChain){
if(!(obj instanceof Object)) throw new TypeError("obj должен быть объектом");
if((!(propertyChain instanceof Array)) && (!(typeof(propertyChain) === 'string'))) throw new TypeError("propertyChain должен строкой или массивом");
var properties = (propertyChain instanceof Array)
? propertyChain
: propertyChain.split('.');
if (properties.length == 0) return false;
var testedProp = properties[0];
var res = (testedProp in obj);
if(res){
if((properties.length > 1)){
return (obj[testedProp] instanceof Object) && isHasPropertyChain(obj[testedProp], properties.splice(1));
}
}
return res;
}
function predicator(v){
return !isHasPropertyChain(this, v);
}
var obj = {/* тестируемый объект */};
absentKeys = keys.filter(predicator, obj);