mirror of
https://github.com/chartjs/Chart.js.git
synced 2025-12-08 20:36:08 +00:00
Add support for typed arrays (#5905)
This commit is contained in:
parent
7e429a8fc6
commit
c8ce3d2018
@ -32,13 +32,20 @@ var helpers = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if `value` is an array, else returns false.
|
* Returns true if `value` is an array (including typed arrays), else returns false.
|
||||||
* @param {*} value - The value to test.
|
* @param {*} value - The value to test.
|
||||||
* @returns {Boolean}
|
* @returns {Boolean}
|
||||||
* @function
|
* @function
|
||||||
*/
|
*/
|
||||||
isArray: Array.isArray ? Array.isArray : function(value) {
|
isArray: function(value) {
|
||||||
return Object.prototype.toString.call(value) === '[object Array]';
|
if (Array.isArray && Array.isArray(value)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
var type = Object.prototype.toString.call(value);
|
||||||
|
if (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,4 +1,8 @@
|
|||||||
|
parserOptions:
|
||||||
|
ecmaVersion: 5 # don't rely on default, since its changed by env: es6
|
||||||
|
|
||||||
env:
|
env:
|
||||||
|
es6: true # also changes default ecmaVersion to 6
|
||||||
jasmine: true
|
jasmine: true
|
||||||
|
|
||||||
globals:
|
globals:
|
||||||
|
|||||||
@ -21,6 +21,15 @@ describe('Chart.helpers.core', function() {
|
|||||||
expect(helpers.isArray([42])).toBeTruthy();
|
expect(helpers.isArray([42])).toBeTruthy();
|
||||||
expect(helpers.isArray(new Array())).toBeTruthy();
|
expect(helpers.isArray(new Array())).toBeTruthy();
|
||||||
expect(helpers.isArray(Array.prototype)).toBeTruthy();
|
expect(helpers.isArray(Array.prototype)).toBeTruthy();
|
||||||
|
expect(helpers.isArray(new Int8Array(2))).toBeTruthy();
|
||||||
|
expect(helpers.isArray(new Uint8Array())).toBeTruthy();
|
||||||
|
expect(helpers.isArray(new Uint8ClampedArray([128, 244]))).toBeTruthy();
|
||||||
|
expect(helpers.isArray(new Int16Array())).toBeTruthy();
|
||||||
|
expect(helpers.isArray(new Uint16Array())).toBeTruthy();
|
||||||
|
expect(helpers.isArray(new Int32Array())).toBeTruthy();
|
||||||
|
expect(helpers.isArray(new Uint32Array())).toBeTruthy();
|
||||||
|
expect(helpers.isArray(new Float32Array([1.2]))).toBeTruthy();
|
||||||
|
expect(helpers.isArray(new Float64Array([]))).toBeTruthy();
|
||||||
});
|
});
|
||||||
it('should return false if value is not an array', function() {
|
it('should return false if value is not an array', function() {
|
||||||
expect(helpers.isArray()).toBeFalsy();
|
expect(helpers.isArray()).toBeFalsy();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user