diff options
author | max99x <max99x@gmail.com> | 2011-08-26 01:31:20 +0300 |
---|---|---|
committer | max99x <max99x@gmail.com> | 2011-08-26 01:32:36 +0300 |
commit | b7fcc0e14805f1ef5d0cd70d8d237a005379c73d (patch) | |
tree | 3e6e2bc3d54a0ddac924cc32a06b47bfddc6a85e /src/jsifier.js | |
parent | 1d3e667d6b06402e33c20c93d044a8694790435e (diff) |
Switched from "var x = function x() {}" to plain "function x() {}" for lib functions.
Diffstat (limited to 'src/jsifier.js')
-rw-r--r-- | src/jsifier.js | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index 94f78134..ab381a03 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -285,6 +285,7 @@ function JSify(data, functionsOnly, givenFunctions, givenGlobalVariables) { var snippet = LibraryManager.library[ident]; var redirectedIdent = null; var deps = LibraryManager.library[ident + '__deps'] || []; + var isFunction = false; if (typeof snippet === 'string') { if (LibraryManager.library[snippet]) { @@ -309,10 +310,10 @@ function JSify(data, functionsOnly, givenFunctions, givenGlobalVariables) { snippet = '{' + members.join(', ') + ' }'; } } else if (typeof snippet === 'function') { + isFunction = true; snippet = snippet.toString(); - if (/function ?\(/.exec(snippet)) { // name the function, if not already named - snippet = snippet.replace('function', 'function _' + ident); - } + // name the function; overwrite if it's already named + snippet = snippet.replace(/function(?:\s+([^(]+))?\s*\(/, 'function _' + ident + '('); } var postsetId = ident + '__postset'; @@ -334,7 +335,8 @@ function JSify(data, functionsOnly, givenFunctions, givenGlobalVariables) { } else { ident = '_' + ident; } - var text = (deps ? '\n' + deps.map(addFromLibrary).join('\n') : '') + 'var ' + ident + '=' + snippet + ';'; + var text = (deps ? '\n' + deps.map(addFromLibrary).join('\n') : ''); + text += isFunction ? snippet : 'var ' + ident + '=' + snippet + ';'; if (ident in EXPORTED_FUNCTIONS) { text += '\nModule["' + ident + '"] = ' + ident + ';'; } |