www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit 9e8559b4be4fdc9e1b407a4639356fe4fc5366a4
parent 35f1720b086675f1fc8cf9a3eab190015d030a71
Author: Dan Stillman <dstillman@zotero.org>
Date:   Wed,  1 May 2013 18:23:09 -0400

Speed up flattenArguments()

Diffstat:
Mchrome/content/zotero/xpcom/zotero.js | 16+++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js @@ -1435,28 +1435,26 @@ Components.utils.import("resource://gre/modules/Services.jsm"); * values and/or an arbitrary number of individual values */ function flattenArguments(args){ - var isArguments = args.callee && args.length; - // Put passed scalar values into an array - if (args === null || (args.constructor.name != 'Array' && !isArguments)) { + if (args === null || typeof args == 'string' || typeof args.length == 'undefined') { args = [args]; } var returns = []; for (var i=0; i<args.length; i++){ - if (!args[i] && args[i] !== 0) { + var arg = args[i]; + if (!arg && arg !== 0) { continue; } - if (args[i].constructor.name == 'Array') { - for (var j=0; j<args[i].length; j++){ - returns.push(args[i][j]); + if (Array.isArray(arg)) { + for (var j=0; j<arg.length; j++){ + returns.push(arg[j]); } } else { - returns.push(args[i]); + returns.push(arg); } } - return returns; }