diff options
author | Anthony Pesch <inolen@gmail.com> | 2013-08-08 18:07:46 -0700 |
---|---|---|
committer | Anthony Pesch <inolen@gmail.com> | 2013-08-08 18:08:54 -0700 |
commit | bd1d02e02cf0f39c8d7f672520910714d1c2d4e5 (patch) | |
tree | aa4bf75712b70faa9ff45661c7de47b084890d2c /src/library.js | |
parent | a1b5846d8edf2ddf3fe970715072584fc6cd49dd (diff) |
converted Object.defineProperty calls to use Object.defineProperties in order to make closure happy
Diffstat (limited to 'src/library.js')
-rw-r--r-- | src/library.js | 53 |
1 files changed, 31 insertions, 22 deletions
diff --git a/src/library.js b/src/library.js index 591d4350..69f413d2 100644 --- a/src/library.js +++ b/src/library.js @@ -135,17 +135,24 @@ LibraryManager.library = { // compatibility var readMode = {{{ cDefine('S_IRUGO') }}} | {{{ cDefine('S_IXUGO') }}}; var writeMode = {{{ cDefine('S_IWUGO') }}}; - Object.defineProperty(node, 'read', { - get: function() { return (node.mode & readMode) === readMode; }, - set: function(val) { val ? node.mode |= readMode : node.mode &= ~readMode; } - }); - Object.defineProperty(node, 'write', { - get: function() { return (node.mode & writeMode) === writeMode; }, - set: function(val) { val ? node.mode |= writeMode : node.mode &= ~writeMode; } + // NOTE we must use Object.defineProperties instead of individual calls to + // Object.defineProperty in order to make closure compiler happy + Object.defineProperties(node, { + read: { + get: function() { return (node.mode & readMode) === readMode; }, + set: function(val) { val ? node.mode |= readMode : node.mode &= ~readMode; } + }, + write: { + get: function() { return (node.mode & writeMode) === writeMode; }, + set: function(val) { val ? node.mode |= writeMode : node.mode &= ~writeMode; } + }, + isFolder: { + get: function() { return FS.isDir(node.mode); }, + }, + isDevice: { + get: function() { return FS.isChrdev(node.mode); }, + }, }); - // TODO add: - // isFolder - // isDevice FS.hashAddNode(node); return node; }, @@ -421,18 +428,20 @@ LibraryManager.library = { var fd = FS.nextfd(fd_start, fd_end); stream.fd = fd; // compatibility - Object.defineProperty(stream, 'object', { - get: function() { return stream.node; }, - set: function(val) { stream.node = val; } - }); - Object.defineProperty(stream, 'isRead', { - get: function() { return (stream.flags & {{{ cDefine('O_ACCMODE') }}}) !== {{{ cDefine('O_WRONLY') }}}; } - }); - Object.defineProperty(stream, 'isWrite', { - get: function() { return (stream.flags & {{{ cDefine('O_ACCMODE') }}}) !== {{{ cDefine('O_RDONLY') }}}; } - }); - Object.defineProperty(stream, 'isAppend', { - get: function() { return (stream.flags & {{{ cDefine('O_APPEND') }}}); } + Object.defineProperties(stream, { + object: { + get: function() { return stream.node; }, + set: function(val) { stream.node = val; } + }, + isRead: { + get: function() { return (stream.flags & {{{ cDefine('O_ACCMODE') }}}) !== {{{ cDefine('O_WRONLY') }}}; } + }, + isWrite: { + get: function() { return (stream.flags & {{{ cDefine('O_ACCMODE') }}}) !== {{{ cDefine('O_RDONLY') }}}; } + }, + isAppend: { + get: function() { return (stream.flags & {{{ cDefine('O_APPEND') }}}); } + } }); FS.streams[fd] = stream; return stream; |