@@ -11905,6 +11905,17 @@ var identity = new Float32Array([
11905
11905
0, 0, 1, 0,
11906
11906
0, 0, 0, 1])
11907
11907
11908
+ var ab = ArrayBuffer
11909
+ var dv = DataView
11910
+
11911
+ function isTypedArray(a) {
11912
+ return ab.isView(a) && !(a instanceof dv)
11913
+ }
11914
+
11915
+ function isArrayOrTypedArray(a) {
11916
+ return Array.isArray(a) || isTypedArray(a)
11917
+ }
11918
+
11908
11919
function copyVec3(a, b) {
11909
11920
a[0] = b[0]
11910
11921
a[1] = b[1]
@@ -11992,8 +12003,8 @@ proto.update = function(options) {
11992
12003
var opt = options[name]
11993
12004
var prev = this[name]
11994
12005
var next
11995
- if(nest ? (Array.isArray (opt) && Array.isArray (opt[0])) :
11996
- Array.isArray (opt) ) {
12006
+ if(nest ? (isArrayOrTypedArray (opt) && isArrayOrTypedArray (opt[0])) :
12007
+ isArrayOrTypedArray (opt) ) {
11997
12008
this[name] = next = [ cons(opt[0]), cons(opt[1]), cons(opt[2]) ]
11998
12009
} else {
11999
12010
this[name] = next = [ cons(opt), cons(opt), cons(opt) ]
@@ -12011,7 +12022,7 @@ proto.update = function(options) {
12011
12022
var BOOLEAN = parseOption.bind(this, false, Boolean)
12012
12023
var STRING = parseOption.bind(this, false, String)
12013
12024
var COLOR = parseOption.bind(this, true, function(v) {
12014
- if(Array.isArray (v)) {
12025
+ if(isArrayOrTypedArray (v)) {
12015
12026
if(v.length === 3) {
12016
12027
return [ +v[0], +v[1], +v[2], 1.0 ]
12017
12028
} else if(v.length === 4) {
0 commit comments