Protect all Node-specific code with NODE checks

This commit is contained in:
Jeff Parsons 2017-01-02 15:16:18 -08:00 committed by Jeff Parsons
commit b5d6afd210
49 changed files with 362 additions and 282 deletions

View file

@ -28,8 +28,10 @@
"use strict";
var Str = require("../../shared/es6/strlib");
var Component = require("../../shared/es6/component");
if (NODE) {
var Str = require("../../shared/es6/strlib");
var Component = require("../../shared/es6/component");
}
/**
* Debugger Address Object
@ -699,4 +701,4 @@ if (DEBUGGER) {
} // endif DEBUGGER
module.exports = Debugger;
if (NODE) module.exports = Debugger;

View file

@ -239,4 +239,4 @@ DiskAPI.ATTR = {
ARCHIVE: 0x20 // PC-DOS 2.0 and up
};
module.exports = DiskAPI;
if (NODE) module.exports = DiskAPI;

View file

@ -82,4 +82,4 @@ var DumpAPI = {
DumpAPI.asDiskCommands = [DumpAPI.QUERY.DIR, DumpAPI.QUERY.DISK, DumpAPI.QUERY.PATH];
DumpAPI.asFileCommands = [DumpAPI.QUERY.FILE];
module.exports = DumpAPI;
if (NODE) module.exports = DumpAPI;

View file

@ -28,9 +28,11 @@
"use strict";
var Str = require("../../shared/es6/strlib");
var Web = require("../../shared/es6/weblib");
var Component = require("../../shared/es6/component");
if (NODE) {
var Str = require("../../shared/es6/strlib");
var Web = require("../../shared/es6/weblib");
var Component = require("../../shared/es6/component");
}
/*
* We now support asynchronous XML and XSL file loads; simply set fAsync (below) to true.

View file

@ -248,4 +248,4 @@ Keys.SHIFTED_KEYCODES[Keys.KEYCODE.FF_DASH] = Keys.ASCII['_'];
Keys.SHIFTED_KEYCODES[Keys.KEYCODE.FF_EQUALS] = Keys.ASCII['+'];
Keys.SHIFTED_KEYCODES[Keys.KEYCODE.FF_SEMI] = Keys.ASCII[':'];
module.exports = Keys;
if (NODE) module.exports = Keys;

View file

@ -28,11 +28,12 @@
"use strict";
var fs = require("fs");
var http = require("http");
var path = require("path");
var url = require("url");
var Str = require("../../shared/es6/strlib");
if (NODE) {
var fs = require("fs");
var http = require("http");
var path = require("path");
var url = require("url");
}
class Net {
/**
@ -395,4 +396,4 @@ Net.REVEAL_PDFS = "pdfs";
Net.asPropagate = [Net.GORT_COMMAND, "autostart"];
Net.sServerRoot = null;
module.exports = Net;
if (NODE) module.exports = Net;

View file

@ -84,4 +84,4 @@ class Proc {
}
}
module.exports = Proc;
if (NODE) module.exports = Proc;

View file

@ -46,4 +46,4 @@ var ReportAPI = {
}
};
module.exports = ReportAPI;
if (NODE) module.exports = ReportAPI;

View file

@ -28,9 +28,11 @@
"use strict";
var Str = require("../../shared/es6/strlib");
var Web = require("../../shared/es6/weblib");
var Component = require("../../shared/es6/component");
if (NODE) {
var Str = require("../../shared/es6/strlib");
var Web = require("../../shared/es6/weblib");
var Component = require("../../shared/es6/component");
}
/**
* savePC(idMachine, sPCJSFile, callback)

View file

@ -28,8 +28,10 @@
"use strict";
var Web = require("../../shared/es6/weblib");
var Component = require("../../shared/es6/component");
if (NODE) {
var Web = require("../../shared/es6/weblib");
var Component = require("../../shared/es6/component");
}
class State {
/**
@ -392,4 +394,4 @@ class State {
}
}
module.exports = State;
if (NODE) module.exports = State;

View file

@ -632,4 +632,4 @@ Str.TYPES = {
ARRAY: 8
};
module.exports = Str;
if (NODE) module.exports = Str;

View file

@ -65,4 +65,4 @@ var UserAPI = {
}
};
module.exports = UserAPI;
if (NODE) module.exports = UserAPI;

View file

@ -321,4 +321,4 @@ Usr.asDays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday",
Usr.asMonths = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
Usr.aMonthDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
module.exports = Usr;
if (NODE) module.exports = Usr;

View file

@ -28,8 +28,10 @@
"use strict";
var Component = require("../../shared/es6/component");
var ReportAPI = require("../../shared/es6/reportapi");
if (NODE) {
var Component = require("../../shared/es6/component");
var ReportAPI = require("../../shared/es6/reportapi");
}
/*
* According to http://www.w3schools.com/jsref/jsref_obj_global.asp, these are the *global* properties
@ -1011,4 +1013,4 @@ Web.onPageEvent(Web.isUserAgent("Opera") || Web.isUserAgent("iOS")? 'onunload' :
Web.doPageEvent(Web.aPageEventHandlers['exit']);
});
module.exports = Web;
if (NODE) module.exports = Web;

View file

@ -38,7 +38,6 @@ if (NODE) {
var http = require("http");
var path = require("path");
var url = require("url");
var str = require("./strlib");
}
/*
@ -342,15 +341,23 @@ net.getResource = function(sURL, dataPost, fAsync, done)
var nErrorCode = -1, sResource = null, response = null;
if (net.isRemote(sURL)) {
console.log('net.getResource("' + sURL + '"): unimplemented');
/*
* TODO: This code is nothing more than a band-aid. It assumes the URL uses "http:"
* (hence the call to getFile(), which only supports HTTP GET operations), it assumes
* the requested data is UTF-8 string data (which is normally the case, because nearly
* all our requests are for JSON files), it doesn't deal with dataPost, it assumes
* that fAsync is true, and it performs very simplistic error code mapping.
*
* But, it gets the job done for what little we actually ask of it, when our machines
* are running in the Node environment.
*/
Net.getFile(sURL, "utf8", function(err, status, data) {
if (done) done(sURL, data, err? status : 0);
});
} else {
if (!sServerRoot) {
sServerRoot = path.join(path.dirname(fs.realpathSync(__filename)), "../../../");
}
/*
* TODO: Revisit why we pass back sBaseName instead of the original sURL....
*/
var sBaseName = str.getBaseName(sURL);
var sFile = path.join(sServerRoot, sURL);
if (fAsync) {
fs.readFile(sFile, {encoding: "utf8"}, function(err, s) {
@ -361,7 +368,7 @@ net.getResource = function(sURL, dataPost, fAsync, done)
sResource = s;
nErrorCode = 0;
}
if (done) done(sBaseName, sResource, nErrorCode);
if (done) done(sURL, sResource, nErrorCode);
});
} else {
try {
@ -373,7 +380,7 @@ net.getResource = function(sURL, dataPost, fAsync, done)
*/
console.log(err.message);
}
if (done) done(sBaseName, sResource, nErrorCode);
if (done) done(sURL, sResource, nErrorCode);
response = [sResource, nErrorCode];
}
}