pd.serv-con/src/service-loader.js

38 lines
1.0 KiB
JavaScript

const fs = require('fs');
const path = require('path');
function loadJS(file, callback){
fs.readFile(file, { encoding: 'utf-8' }, (err, data) => {
if(err){
console.error(err);
}else {
let service = eval(data);
callback(service);
}
});
}
module.exports.loadService = (file, callback) => {
let file_ext = file.match(/\.[0-9a-z]+$/i)[0];
fs.exists(file, exists => {
if(exists){
fs.stat(file, (err, stats) => {
if(err){
console.error(err);
}else {
let modtime = stats.mtimeMs;
let cb = service => {
service = service || {};
service.modMs = modtime;
callback(service);
}
switch(file_ext){
case '.js': loadJS(file, cb); break;
}
}
});
}
});
}