diff options
author | Alon Zakai <alonzakai@gmail.com> | 2011-05-14 11:03:17 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2011-05-14 11:03:17 -0700 |
commit | 9d376d8bde5816e357c702fea6dc463992dab02a (patch) | |
tree | 6fc368810e344f5ff59d3acfd32e2150774cc3b8 /src/jsifier.js | |
parent | d35a0c7758caec727ffe744f7f264d65233b9d49 (diff) |
additional sdl and browser stuff
Diffstat (limited to 'src/jsifier.js')
-rw-r--r-- | src/jsifier.js | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index 7c5c5f4f..0a590163 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -215,14 +215,17 @@ function JSify(data, functionsOnly, givenFunctions, givenGlobalVariables) { } else if (typeof snippet === 'object') { // JSON.stringify removes functions, so we need to make sure they are added var funcs = []; + var hasNonFunc = false; for (var x in snippet) { if (typeof snippet[x] === 'function') { funcs.push(x + ': ' + snippet[x].toString()); + } else { + hasNonFunc = true; } } snippet = JSON.stringify(snippet); if (funcs.length > 0) { - snippet = snippet.replace(/}$/, ', ' + funcs.join(', ') + ' }'); + snippet = snippet.replace(/}$/, (hasNonFunc ? ', ' : '') + funcs.join(', ') + ' }'); } } else if (typeof snippet === 'function') { snippet = snippet.toString(); @@ -241,11 +244,17 @@ function JSify(data, functionsOnly, givenFunctions, givenGlobalVariables) { }); } - var deps = Library[ident + '__deps']; + var deps = Library[ident + '__deps'] || []; if (redirectedIdent) { - deps = (deps || []).concat(Library[redirectedIdent + '__deps']); + deps = deps.concat(Library[redirectedIdent + '__deps'] || []); } - return 'var _' + ident + '=' + snippet + (deps ? '\n' + deps.map(addFromLibrary).join('\n') : ''); + // $ident's are special, we do not prefix them with a '_'. + if (ident[0] === '$') { + ident = ident.substr(1); + } else { + ident = '_' + ident; + } + return 'var ' + ident + '=' + snippet + (deps ? '\n' + deps.map(addFromLibrary).join('\n') : ''); } item.JS = addFromLibrary(shortident); } else { |