mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-06 09:47:48 +00:00
Update vendors.
Former-commit-id: a2830d4097d13884391abe792c319bf1e699df08
This commit is contained in:
222
vendor/benchmark.js/benchmark.js
vendored
222
vendor/benchmark.js/benchmark.js
vendored
@@ -1156,7 +1156,7 @@
|
|||||||
// reset if the state has changed
|
// reset if the state has changed
|
||||||
else if ((suite.aborted || suite.running) &&
|
else if ((suite.aborted || suite.running) &&
|
||||||
(suite.emit(event = Event('reset')), !event.cancelled)) {
|
(suite.emit(event = Event('reset')), !event.cancelled)) {
|
||||||
suite.running = false;
|
suite.aborted = suite.running = false;
|
||||||
if (!aborting) {
|
if (!aborting) {
|
||||||
invoke(suite, 'reset');
|
invoke(suite, 'reset');
|
||||||
}
|
}
|
||||||
@@ -1569,16 +1569,119 @@
|
|||||||
// lazy define for hi-res timers
|
// lazy define for hi-res timers
|
||||||
clock = function(clone) {
|
clock = function(clone) {
|
||||||
var deferred;
|
var deferred;
|
||||||
templateData.uid = uid + uidCounter++;
|
|
||||||
|
|
||||||
if (clone instanceof Deferred) {
|
if (clone instanceof Deferred) {
|
||||||
deferred = clone;
|
deferred = clone;
|
||||||
clone = deferred.benchmark;
|
clone = deferred.benchmark;
|
||||||
}
|
}
|
||||||
var bench = clone._original,
|
var bench = clone._original,
|
||||||
fn = bench.fn,
|
stringable = isStringable(bench.fn),
|
||||||
fnArg = deferred ? getFirstArgument(fn) || 'deferred' : '',
|
count = bench.count = clone.count,
|
||||||
stringable = isStringable(fn);
|
decompilable = support.decompilation || stringable,
|
||||||
|
id = bench.id,
|
||||||
|
name = bench.name || (typeof id == 'number' ? '<Test #' + id + '>' : id),
|
||||||
|
result = 0;
|
||||||
|
|
||||||
|
// init `minTime` if needed
|
||||||
|
clone.minTime = bench.minTime || (bench.minTime = bench.options.minTime = options.minTime);
|
||||||
|
|
||||||
|
// repair nanosecond timer
|
||||||
|
// (some Chrome builds erase the `ns` variable after millions of executions)
|
||||||
|
if (applet) {
|
||||||
|
try {
|
||||||
|
timer.ns.nanoTime();
|
||||||
|
} catch(e) {
|
||||||
|
// use non-element to avoid issues with libs that augment them
|
||||||
|
timer.ns = new applet.Packages.nano;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Compile in setup/teardown functions and the test loop.
|
||||||
|
// Create a new compiled test, instead of using the cached `bench.compiled`,
|
||||||
|
// to avoid potential engine optimizations enabled over the life of the test.
|
||||||
|
var funcBody = deferred
|
||||||
|
? 'var d#=this,${fnArg}=d#,m#=d#.benchmark._original,f#=m#.fn,su#=m#.setup,td#=m#.teardown;' +
|
||||||
|
// when `deferred.cycles` is `0` then...
|
||||||
|
'if(!d#.cycles){' +
|
||||||
|
// set `deferred.fn`
|
||||||
|
'd#.fn=function(){var ${fnArg}=d#;if(typeof f#=="function"){try{${fn}\n}catch(e#){f#(d#)}}else{${fn}\n}};' +
|
||||||
|
// set `deferred.teardown`
|
||||||
|
'd#.teardown=function(){d#.cycles=0;if(typeof td#=="function"){try{${teardown}\n}catch(e#){td#()}}else{${teardown}\n}};' +
|
||||||
|
// execute the benchmark's `setup`
|
||||||
|
'if(typeof su#=="function"){try{${setup}\n}catch(e#){su#()}}else{${setup}\n};' +
|
||||||
|
// start timer
|
||||||
|
't#.start(d#);' +
|
||||||
|
// execute `deferred.fn` and return a dummy object
|
||||||
|
'}d#.fn();return{uid:"${uid}"}'
|
||||||
|
|
||||||
|
: 'var r#,s#,m#=this,f#=m#.fn,i#=m#.count,n#=t#.ns;${setup}\n${begin};' +
|
||||||
|
'while(i#--){${fn}\n}${end};${teardown}\nreturn{elapsed:r#,uid:"${uid}"}';
|
||||||
|
|
||||||
|
var compiled = bench.compiled = clone.compiled = createCompiled(bench, deferred, funcBody),
|
||||||
|
isEmpty = !(templateData.fn || stringable);
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (isEmpty) {
|
||||||
|
// Firefox may remove dead code from Function#toString results
|
||||||
|
// http://bugzil.la/536085
|
||||||
|
throw new Error('The test "' + name + '" is empty. This may be the result of dead code removal.');
|
||||||
|
}
|
||||||
|
else if (!deferred) {
|
||||||
|
// pretest to determine if compiled code is exits early, usually by a
|
||||||
|
// rogue `return` statement, by checking for a return object with the uid
|
||||||
|
bench.count = 1;
|
||||||
|
compiled = (compiled.call(bench, context, timer) || {}).uid == templateData.uid && compiled;
|
||||||
|
bench.count = count;
|
||||||
|
}
|
||||||
|
} catch(e) {
|
||||||
|
compiled = null;
|
||||||
|
clone.error = e || new Error(String(e));
|
||||||
|
bench.count = count;
|
||||||
|
}
|
||||||
|
// fallback when a test exits early or errors during pretest
|
||||||
|
if (decompilable && !compiled && !deferred && !isEmpty) {
|
||||||
|
funcBody = (
|
||||||
|
clone.error && !stringable
|
||||||
|
? 'var r#,s#,m#=this,f#=m#.fn,i#=m#.count'
|
||||||
|
: 'function f#(){${fn}\n}var r#,s#,m#=this,i#=m#.count'
|
||||||
|
) +
|
||||||
|
',n#=t#.ns;${setup}\n${begin};m#.f#=f#;while(i#--){m#.f#()}${end};' +
|
||||||
|
'delete m#.f#;${teardown}\nreturn{elapsed:r#}';
|
||||||
|
|
||||||
|
compiled = createCompiled(bench, deferred, funcBody);
|
||||||
|
|
||||||
|
try {
|
||||||
|
// pretest one more time to check for errors
|
||||||
|
bench.count = 1;
|
||||||
|
compiled.call(bench, context, timer);
|
||||||
|
bench.count = count;
|
||||||
|
delete clone.error;
|
||||||
|
}
|
||||||
|
catch(e) {
|
||||||
|
bench.count = count;
|
||||||
|
if (!clone.error) {
|
||||||
|
clone.error = e || new Error(String(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// if no errors run the full test loop
|
||||||
|
if (!clone.error) {
|
||||||
|
compiled = bench.compiled = clone.compiled = createCompiled(bench, deferred, funcBody);
|
||||||
|
result = compiled.call(deferred || bench, context, timer).elapsed;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a compiled function from the given function `body`.
|
||||||
|
*/
|
||||||
|
function createCompiled(bench, deferred, body) {
|
||||||
|
var fn = bench.fn,
|
||||||
|
fnArg = deferred ? getFirstArgument(fn) || 'deferred' : '';
|
||||||
|
|
||||||
|
templateData.uid = uid + uidCounter++;
|
||||||
|
|
||||||
_.extend(templateData, {
|
_.extend(templateData, {
|
||||||
'setup': getSource(bench.setup, interpolate('m#.setup()')),
|
'setup': getSource(bench.setup, interpolate('m#.setup()')),
|
||||||
@@ -1625,28 +1728,6 @@
|
|||||||
'end': interpolate('r#=(new n#-s#)/1e3')
|
'end': interpolate('r#=(new n#-s#)/1e3')
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var count = bench.count = clone.count,
|
|
||||||
decompilable = support.decompilation || stringable,
|
|
||||||
id = bench.id,
|
|
||||||
isEmpty = !(templateData.fn || stringable),
|
|
||||||
name = bench.name || (typeof id == 'number' ? '<Test #' + id + '>' : id),
|
|
||||||
ns = timer.ns,
|
|
||||||
result = 0;
|
|
||||||
|
|
||||||
// init `minTime` if needed
|
|
||||||
clone.minTime = bench.minTime || (bench.minTime = bench.options.minTime = options.minTime);
|
|
||||||
|
|
||||||
// repair nanosecond timer
|
|
||||||
// (some Chrome builds erase the `ns` variable after millions of executions)
|
|
||||||
if (applet) {
|
|
||||||
try {
|
|
||||||
ns.nanoTime();
|
|
||||||
} catch(e) {
|
|
||||||
// use non-element to avoid issues with libs that augment them
|
|
||||||
ns = timer.ns = new applet.Packages.nano;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// define `timer` methods
|
// define `timer` methods
|
||||||
timer.start = createFunction(
|
timer.start = createFunction(
|
||||||
interpolate('o#'),
|
interpolate('o#'),
|
||||||
@@ -1658,92 +1739,7 @@
|
|||||||
interpolate('var n#=this.ns,s#=o#.timeStamp,${end};o#.elapsed=r#')
|
interpolate('var n#=this.ns,s#=o#.timeStamp,${end};o#.elapsed=r#')
|
||||||
);
|
);
|
||||||
|
|
||||||
// Compile in setup/teardown functions and the test loop.
|
// create compiled test
|
||||||
// Create a new compiled test, instead of using the cached `bench.compiled`,
|
|
||||||
// to avoid potential engine optimizations enabled over the life of the test.
|
|
||||||
var compiled = bench.compiled = createCompiled(
|
|
||||||
deferred
|
|
||||||
? 'var d#=this,${fnArg}=d#,m#=d#.benchmark._original,f#=m#.fn,su#=m#.setup,td#=m#.teardown;' +
|
|
||||||
// when `deferred.cycles` is `0` then...
|
|
||||||
'if(!d#.cycles){' +
|
|
||||||
// set `deferred.fn`
|
|
||||||
'd#.fn=function(){var ${fnArg}=d#;if(typeof f#=="function"){try{${fn}\n}catch(e#){f#(d#)}}else{${fn}\n}};' +
|
|
||||||
// set `deferred.teardown`
|
|
||||||
'd#.teardown=function(){d#.cycles=0;if(typeof td#=="function"){try{${teardown}\n}catch(e#){td#()}}else{${teardown}\n}};' +
|
|
||||||
// execute the benchmark's `setup`
|
|
||||||
'if(typeof su#=="function"){try{${setup}\n}catch(e#){su#()}}else{${setup}\n};' +
|
|
||||||
// start timer
|
|
||||||
't#.start(d#);' +
|
|
||||||
// execute `deferred.fn` and return a dummy object
|
|
||||||
'}d#.fn();return{uid:"${uid}"}'
|
|
||||||
|
|
||||||
: 'var r#,s#,m#=this,f#=m#.fn,i#=m#.count,n#=t#.ns;${setup}\n${begin};' +
|
|
||||||
'while(i#--){${fn}\n}${end};${teardown}\nreturn{elapsed:r#,uid:"${uid}"}'
|
|
||||||
);
|
|
||||||
|
|
||||||
try {
|
|
||||||
if (isEmpty) {
|
|
||||||
// Firefox may remove dead code from Function#toString results
|
|
||||||
// http://bugzil.la/536085
|
|
||||||
throw new Error('The test "' + name + '" is empty. This may be the result of dead code removal.');
|
|
||||||
}
|
|
||||||
else if (!deferred) {
|
|
||||||
// pretest to determine if compiled code is exits early, usually by a
|
|
||||||
// rogue `return` statement, by checking for a return object with the uid
|
|
||||||
bench.count = 1;
|
|
||||||
compiled = (compiled.call(bench, context, timer) || {}).uid == templateData.uid && compiled;
|
|
||||||
bench.count = count;
|
|
||||||
}
|
|
||||||
} catch(e) {
|
|
||||||
compiled = null;
|
|
||||||
clone.error = e || new Error(String(e));
|
|
||||||
bench.count = count;
|
|
||||||
}
|
|
||||||
// fallback when a test exits early or errors during pretest
|
|
||||||
if (decompilable && !compiled && !deferred && !isEmpty) {
|
|
||||||
compiled = createCompiled(
|
|
||||||
(clone.error && !stringable
|
|
||||||
? 'var r#,s#,m#=this,f#=m#.fn,i#=m#.count'
|
|
||||||
: 'function f#(){${fn}\n}var r#,s#,m#=this,i#=m#.count'
|
|
||||||
) +
|
|
||||||
',n#=t#.ns;${setup}\n${begin};m#.f#=f#;while(i#--){m#.f#()}${end};' +
|
|
||||||
'delete m#.f#;${teardown}\nreturn{elapsed:r#}'
|
|
||||||
);
|
|
||||||
|
|
||||||
try {
|
|
||||||
// pretest one more time to check for errors
|
|
||||||
bench.count = 1;
|
|
||||||
compiled.call(bench, context, timer);
|
|
||||||
bench.compiled = compiled;
|
|
||||||
bench.count = count;
|
|
||||||
delete clone.error;
|
|
||||||
}
|
|
||||||
catch(e) {
|
|
||||||
bench.count = count;
|
|
||||||
if (clone.error) {
|
|
||||||
compiled = null;
|
|
||||||
} else {
|
|
||||||
bench.compiled = compiled;
|
|
||||||
clone.error = e || new Error(String(e));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// assign `compiled` to `clone` before calling in case a deferred benchmark
|
|
||||||
// immediately calls `deferred.resolve()`
|
|
||||||
clone.compiled = compiled;
|
|
||||||
// if no errors run the full test loop
|
|
||||||
if (!clone.error) {
|
|
||||||
result = compiled.call(deferred || bench, context, timer).elapsed;
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a compiled function from the given function `body`.
|
|
||||||
*/
|
|
||||||
function createCompiled(body) {
|
|
||||||
return createFunction(
|
return createFunction(
|
||||||
interpolate('window,t#'),
|
interpolate('window,t#'),
|
||||||
'var global = window, clearTimeout = global.clearTimeout, setTimeout = global.setTimeout;\n' +
|
'var global = window, clearTimeout = global.clearTimeout, setTimeout = global.setTimeout;\n' +
|
||||||
|
|||||||
27
vendor/curl/src/curl.js
vendored
27
vendor/curl/src/curl.js
vendored
@@ -13,7 +13,7 @@
|
|||||||
(function (global) {
|
(function (global) {
|
||||||
//"use strict"; don't restore this until the config routine is refactored
|
//"use strict"; don't restore this until the config routine is refactored
|
||||||
var
|
var
|
||||||
version = '0.7.4',
|
version = '0.7.6',
|
||||||
curlName = 'curl',
|
curlName = 'curl',
|
||||||
defineName = 'define',
|
defineName = 'define',
|
||||||
runModuleAttr = 'data-curl-run',
|
runModuleAttr = 'data-curl-run',
|
||||||
@@ -303,15 +303,32 @@
|
|||||||
|
|
||||||
// functions that dependencies will use:
|
// functions that dependencies will use:
|
||||||
|
|
||||||
function toAbsId (childId) {
|
function toAbsId (childId, checkPlugins) {
|
||||||
return core.toAbsId(childId, def.id, cfg);
|
var absId, parts, plugin;
|
||||||
|
|
||||||
|
absId = core.toAbsId(childId, def.id, cfg);
|
||||||
|
if (!checkPlugins) return absId;
|
||||||
|
|
||||||
|
parts = pluginParts(absId);
|
||||||
|
if (!parts.pluginId) return absId;
|
||||||
|
|
||||||
|
plugin = cache[parts.pluginId];
|
||||||
|
// check if plugin supports the normalize method
|
||||||
|
if ('normalize' in plugin) {
|
||||||
|
// note: dojo/has may return falsey values (0, actually)
|
||||||
|
parts.resourceId = plugin['normalize'](parts.resourceId, toAbsId, def.config) || '';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
parts.resourceId = toAbsId(parts.resourceId);
|
||||||
|
}
|
||||||
|
return parts.pluginId + '!' + parts.resourceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
function toUrl (n) {
|
function toUrl (n) {
|
||||||
// the AMD spec states that we should not append an extension
|
// the AMD spec states that we should not append an extension
|
||||||
// in this function since it could already be appended.
|
// in this function since it could already be appended.
|
||||||
// we need to use toAbsId in case this is a module id.
|
// we need to use toAbsId in case this is a module id.
|
||||||
return core.resolvePathInfo(toAbsId(n), cfg).url;
|
return core.resolvePathInfo(toAbsId(n, true), cfg).url;
|
||||||
}
|
}
|
||||||
|
|
||||||
function localRequire (ids, callback, errback) {
|
function localRequire (ids, callback, errback) {
|
||||||
@@ -327,7 +344,7 @@
|
|||||||
throw new Error('require(id, callback) not allowed');
|
throw new Error('require(id, callback) not allowed');
|
||||||
}
|
}
|
||||||
// return resource
|
// return resource
|
||||||
rvid = toAbsId(ids);
|
rvid = toAbsId(ids, true);
|
||||||
childDef = cache[rvid];
|
childDef = cache[rvid];
|
||||||
if (!(rvid in cache)) {
|
if (!(rvid in cache)) {
|
||||||
// this should only happen when devs attempt their own
|
// this should only happen when devs attempt their own
|
||||||
|
|||||||
6
vendor/requirejs/require.js
vendored
6
vendor/requirejs/require.js
vendored
@@ -1,5 +1,5 @@
|
|||||||
/** vim: et:ts=4:sw=4:sts=4
|
/** vim: et:ts=4:sw=4:sts=4
|
||||||
* @license RequireJS 2.1.8 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved.
|
* @license RequireJS 2.1.8+ Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved.
|
||||||
* Available via the MIT or new BSD license.
|
* Available via the MIT or new BSD license.
|
||||||
* see: http://github.com/jrburke/requirejs for details
|
* see: http://github.com/jrburke/requirejs for details
|
||||||
*/
|
*/
|
||||||
@@ -12,7 +12,7 @@ var requirejs, require, define;
|
|||||||
(function (global) {
|
(function (global) {
|
||||||
var req, s, head, baseElement, dataMain, src,
|
var req, s, head, baseElement, dataMain, src,
|
||||||
interactiveScript, currentlyAddingScript, mainScript, subPath,
|
interactiveScript, currentlyAddingScript, mainScript, subPath,
|
||||||
version = '2.1.8',
|
version = '2.1.8+',
|
||||||
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
|
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
|
||||||
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
|
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
|
||||||
jsSuffixRegExp = /\.js$/,
|
jsSuffixRegExp = /\.js$/,
|
||||||
@@ -1609,7 +1609,7 @@ var requirejs, require, define;
|
|||||||
|
|
||||||
//Join the path parts together, then figure out if baseUrl is needed.
|
//Join the path parts together, then figure out if baseUrl is needed.
|
||||||
url = syms.join('/');
|
url = syms.join('/');
|
||||||
url += (ext || (/\?/.test(url) || skipExt ? '' : '.js'));
|
url += (ext || (/^data\:|\?/.test(url) || skipExt ? '' : '.js'));
|
||||||
url = (url.charAt(0) === '/' || url.match(/^[\w\+\.\-]+:/) ? '' : config.baseUrl) + url;
|
url = (url.charAt(0) === '/' || url.match(/^[\w\+\.\-]+:/) ? '' : config.baseUrl) + url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user