• File: index.js
  • Full Path: /var/www/nodejs/daily_store_reports_nodejs/node_modules/simple-swizzle/index.js
  • Date Modified: 02/04/2023 9:31 PM
  • File size: 571 bytes
  • MIME-type: text/plain
  • Charset: utf-8
'use strict';

var isArrayish = require('is-arrayish');

var concat = Array.prototype.concat;
var slice = Array.prototype.slice;

var swizzle = module.exports = function swizzle(args) {
	var results = [];

	for (var i = 0, len = args.length; i < len; i++) {
		var arg = args[i];

		if (isArrayish(arg)) {
			// http://jsperf.com/javascript-array-concat-vs-push/98
			results = concat.call(results, slice.call(arg));
		} else {
			results.push(arg);
		}
	}

	return results;
};

swizzle.wrap = function (fn) {
	return function () {
		return fn(swizzle(arguments));
	};
};