diff options
| -rw-r--r-- | README.md | 4 | ||||
| -rw-r--r-- | src/loslib.js | 12 | 
2 files changed, 14 insertions, 2 deletions
@@ -25,16 +25,16 @@      - [ ] Package      - [ ] os          - [x] `os.exit()` +        - [x] `os.rename()`          - [x] `os.time()` +        - [x] `os.tmpname()`          - [ ] `os.clock()`          - [ ] `os.date()`          - [ ] `os.difftime()`          - [ ] `os.execute()`          - [ ] `os.getenv()`          - [ ] `os.remove()` -        - [ ] `os.rename()`          - [ ] `os.setlocale()` -        - [ ] `os.tmpname()`      - [ ] io          - [ ] `io.stdin`          - [ ] `io.stdout` diff --git a/src/loslib.js b/src/loslib.js index 8bf38d9..06abcb6 100644 --- a/src/loslib.js +++ b/src/loslib.js @@ -100,6 +100,17 @@ if (typeof require === "function") {              return tmp.tmpNameSync();          }; +        const os_rename = function(L) { +            let fromname = lua.to_jsstring(lauxlib.luaL_checkstring(L, 1)); +            let toname = lua.to_jsstring(lauxlib.luaL_checkstring(L, 2)); +            try { +                fs.renameSync(fromname, toname); +            } catch (e) { +                return lauxlib.luaL_fileresult(L, false, false, e); +            } +            return lauxlib.luaL_fileresult(L, true); +        }; +          const os_tmpname = function(L) {              let name = lua_tmpname();              if (!name) @@ -109,6 +120,7 @@ if (typeof require === "function") {          };          syslib.tmpname = os_tmpname; +        syslib.rename = os_rename;      }  }  | 
