aboutsummaryrefslogtreecommitdiff
path: root/src/loadlib.js
diff options
context:
space:
mode:
authordaurnimator <quae@daurnimator.com>2017-05-04 11:21:40 +1000
committerdaurnimator <quae@daurnimator.com>2017-05-04 11:21:40 +1000
commit0447737eaa41565c8ffddbe3ec5650ce148c4be8 (patch)
tree05523b6a821957897416809758735640dca6d702 /src/loadlib.js
parentf12c7cc38ff89defef53f67577f5bbd4c07afc70 (diff)
downloadfengari-0447737eaa41565c8ffddbe3ec5650ce148c4be8.tar.gz
fengari-0447737eaa41565c8ffddbe3ec5650ce148c4be8.tar.bz2
fengari-0447737eaa41565c8ffddbe3ec5650ce148c4be8.zip
package library doesn't need to be for just node
Diffstat (limited to 'src/loadlib.js')
-rw-r--r--src/loadlib.js36
1 files changed, 24 insertions, 12 deletions
diff --git a/src/loadlib.js b/src/loadlib.js
index c22fee5..15b835d 100644
--- a/src/loadlib.js
+++ b/src/loadlib.js
@@ -3,9 +3,6 @@
const lua = require('./lua.js');
const lauxlib = require('./lauxlib.js');
-const fs = require('fs');
-
-
const LUA_IGMARK = ["-".charCodeAt(0)];
const CLIBS = lua.to_luastring("__CLIBS__", true);
@@ -78,19 +75,34 @@ const noenv = function(L) {
return b;
};
-const readable = function(filename) {
- let fd = false;
+let readable = function(filename) {
+ return false;
+};
+// Only with Node
+if (typeof require === "function") {
+ let fs = false;
try {
- fd = fs.openSync(lua.to_jsstring(filename), 'r');
- } catch (e) {
- return false;
- }
+ fs = require('fs');
+ } catch (e) {}
- fs.closeSync(fd);
+ if (fs) {
+ readable = function(filename) {
+ let fd = false;
+
+ try {
+ fd = fs.openSync(lua.to_jsstring(filename), 'r');
+ } catch (e) {
+ return false;
+ }
+
+ fs.closeSync(fd);
+
+ return true;
+ };
+ }
+}
- return true;
-};
/* error codes for 'lookforfunc' */
const ERRLIB = 1;