diff options
author | daurnimator <quae@daurnimator.com> | 2017-05-04 11:21:40 +1000 |
---|---|---|
committer | daurnimator <quae@daurnimator.com> | 2017-05-04 11:21:40 +1000 |
commit | 0447737eaa41565c8ffddbe3ec5650ce148c4be8 (patch) | |
tree | 05523b6a821957897416809758735640dca6d702 /src/loadlib.js | |
parent | f12c7cc38ff89defef53f67577f5bbd4c07afc70 (diff) | |
download | fengari-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.js | 36 |
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; |