mirror of
https://github.com/tenrok/axios.git
synced 2026-06-20 20:00:40 +03:00
Fixing isArrayLike to allow length as a param. Added test
This commit is contained in:
+11
-1
@@ -130,6 +130,16 @@ function trim(str) {
|
|||||||
return str.replace(/^\s*/, '').replace(/\s*$/, '');
|
return str.replace(/^\s*/, '').replace(/\s*$/, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine if a value is an Arguments object
|
||||||
|
*
|
||||||
|
* @param {Object} val The value to test
|
||||||
|
* @returns {boolean} True if value is an Arguments object, otherwise false
|
||||||
|
*/
|
||||||
|
function isArguments(val) {
|
||||||
|
return toString.call(val) === '[object Arguments]';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Iterate over an Array or an Object invoking a function for each item.
|
* Iterate over an Array or an Object invoking a function for each item.
|
||||||
*
|
*
|
||||||
@@ -149,7 +159,7 @@ function forEach(obj, fn) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check if obj is array-like
|
// Check if obj is array-like
|
||||||
var isArrayLike = isArray(obj) || (typeof obj === 'object' && !isNaN(obj.length));
|
var isArrayLike = isArray(obj) || isArguments(obj);
|
||||||
|
|
||||||
// Force an array if not already something iterable
|
// Force an array if not already something iterable
|
||||||
if (typeof obj !== 'object' && !isArrayLike) {
|
if (typeof obj !== 'object' && !isArrayLike) {
|
||||||
|
|||||||
@@ -44,5 +44,13 @@ describe('helpers::buildUrl', function () {
|
|||||||
bar: 'baz'
|
bar: 'baz'
|
||||||
})).toEqual('/foo?foo=bar&bar=baz');
|
})).toEqual('/foo?foo=bar&bar=baz');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should support "length" parameter', function () {
|
||||||
|
expect(buildUrl('/foo', {
|
||||||
|
query: 'bar',
|
||||||
|
start: 0,
|
||||||
|
length: 5
|
||||||
|
})).toEqual('/foo?query=bar&start=0&length=5');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user