foop
Version:
interfaces that describe their intentions.
41 lines (38 loc) • 3.54 kB
JavaScript
var preAllocate = require('../array/preAllocate')
/**
* @desc turns arguments into an array, used as a util, for opt
*
* @name argumentor
* @version 2.0.0 <- use preAllocate
* @since 3.0.0
* @return {Array<Arguments>}
*
* {@link http://mrale.ph/blog/2015/11/02/crankshaft-vs-arguments-object.html crankshaft-vs-arguments}
* {@link https://github.com/jashkenas/underscore/blob/master/underscore.js#L109 underscore-rest-arts}
* {@link https://github.com/aretecode/awesome-deopt awesome-deopt}
* {@link https://github.com/petkaantonov/bluebird/wiki/Optimization-killers bluebird-optimization-killers}
* @see {@link crankshaft-vs-arguments}
* @see {@link bluebird-optimization-killers}
* @see {@link underscore-rest-arts}
* @see deps/util/lengthFromZero
* @see deps/array/preAllocate
*
* @example
*
* function eh() {
* const args = argumentor.apply(null, arguments).slice(1)
*
* console.log(args)
* //=> [1, 10, 100]
* }
* eh(0, 1, 10, 100)
*
*/
module.exports = function() {
var arguments$1 = arguments;
var len = arguments.length
var args = preAllocate(len)
for (var i = 0; i < len; ++i) { args[i] = arguments$1[i] }
return args
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnRzVG9BcnJheS5qcyIsInNvdXJjZXMiOlsiYXJndW1lbnRzVG9BcnJheS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBwcmVBbGxvY2F0ZSA9IHJlcXVpcmUoJy4uL2FycmF5L3ByZUFsbG9jYXRlJylcblxuLyoqXG4gKiBAZGVzYyB0dXJucyBhcmd1bWVudHMgaW50byBhbiBhcnJheSwgdXNlZCBhcyBhIHV0aWwsIGZvciBvcHRcbiAqXG4gKiBAbmFtZSBhcmd1bWVudG9yXG4gKiBAdmVyc2lvbiAyLjAuMCA8LSB1c2UgcHJlQWxsb2NhdGVcbiAqIEBzaW5jZSAzLjAuMFxuICogQHJldHVybiB7QXJyYXk8QXJndW1lbnRzPn1cbiAqXG4gKiB7QGxpbmsgaHR0cDovL21yYWxlLnBoL2Jsb2cvMjAxNS8xMS8wMi9jcmFua3NoYWZ0LXZzLWFyZ3VtZW50cy1vYmplY3QuaHRtbCBjcmFua3NoYWZ0LXZzLWFyZ3VtZW50c31cbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vamFzaGtlbmFzL3VuZGVyc2NvcmUvYmxvYi9tYXN0ZXIvdW5kZXJzY29yZS5qcyNMMTA5IHVuZGVyc2NvcmUtcmVzdC1hcnRzfVxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9hcmV0ZWNvZGUvYXdlc29tZS1kZW9wdCBhd2Vzb21lLWRlb3B0fVxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9wZXRrYWFudG9ub3YvYmx1ZWJpcmQvd2lraS9PcHRpbWl6YXRpb24ta2lsbGVycyBibHVlYmlyZC1vcHRpbWl6YXRpb24ta2lsbGVyc31cbiAqIEBzZWUge0BsaW5rIGNyYW5rc2hhZnQtdnMtYXJndW1lbnRzfVxuICogQHNlZSB7QGxpbmsgYmx1ZWJpcmQtb3B0aW1pemF0aW9uLWtpbGxlcnN9XG4gKiBAc2VlIHtAbGluayB1bmRlcnNjb3JlLXJlc3QtYXJ0c31cbiAqIEBzZWUgZGVwcy91dGlsL2xlbmd0aEZyb21aZXJvXG4gKiBAc2VlIGRlcHMvYXJyYXkvcHJlQWxsb2NhdGVcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqICAgIGZ1bmN0aW9uIGVoKCkge1xuICogICAgICBjb25zdCBhcmdzID0gYXJndW1lbnRvci5hcHBseShudWxsLCBhcmd1bWVudHMpLnNsaWNlKDEpXG4gKlxuICogICAgICBjb25zb2xlLmxvZyhhcmdzKVxuICogICAgICAvLz0+IFsxLCAxMCwgMTAwXVxuICogICAgfVxuICogICAgZWgoMCwgMSwgMTAsIDEwMClcbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oKSB7XG4gIGNvbnN0IGxlbiA9IGFyZ3VtZW50cy5sZW5ndGhcbiAgY29uc3QgYXJncyA9IHByZUFsbG9jYXRlKGxlbilcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47ICsraSkgYXJnc1tpXSA9IGFyZ3VtZW50c1tpXVxuICByZXR1cm4gYXJnc1xufVxuIl0sIm5hbWVzIjpbImNvbnN0IiwibGV0IiwiYXJndW1lbnRzIl0sIm1hcHBpbmdzIjoiQUFBQUEsR0FBSyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUErQm5ELE1BQU0sQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDOztBQUFBO0VBQzNCQSxHQUFLLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQyxNQUFNO0VBQzVCQSxHQUFLLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUM7RUFDN0IsS0FBS0MsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFBLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBR0MsV0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFBO0VBQ3BELE9BQU8sSUFBSTtDQUNaOyJ9