Add types of BufferSource
This commit is contained in:
parent
69d537325b
commit
f098ea3b00
1 changed files with 32 additions and 0 deletions
|
@ -78,5 +78,37 @@ make.typed = {
|
||||||
[1, [this.range, make.number.tiny]]
|
[1, [this.range, make.number.tiny]]
|
||||||
])
|
])
|
||||||
return random.chance(10) ? -value : value
|
return random.chance(10) ? -value : value
|
||||||
|
},
|
||||||
|
arrayBuffer: function(byteLength = null) {
|
||||||
|
let length = (byteLength !== null) ? byteLength : this.unsignedShort()
|
||||||
|
return 'new ArrayBuffer(' + length + ')'
|
||||||
|
},
|
||||||
|
dataView: function(byteLength = null) {
|
||||||
|
let length = (byteLength !== null) ? byteLength : this.unsignedShort()
|
||||||
|
return 'new DataView(' + this.arrayBuffer(length) + ')'
|
||||||
|
},
|
||||||
|
typedArray: function(byteLength = null) {
|
||||||
|
let length = (byteLength !== null) ? byteLength : this.unsignedShort()
|
||||||
|
let arrType = random.item([
|
||||||
|
'Int8', 'Uint8', 'Uint8Clamped',
|
||||||
|
'Int16', 'Uint16',
|
||||||
|
'Int32', 'Uint32',
|
||||||
|
'Float32', 'Float64',
|
||||||
|
])
|
||||||
|
let method = 'new ' + arrType + 'Array'
|
||||||
|
switch (random.number(16)) {
|
||||||
|
case 0:
|
||||||
|
return method + '()'
|
||||||
|
case 1:
|
||||||
|
return method + '(' + this.typedArray() + ')'
|
||||||
|
default:
|
||||||
|
return method + '(' + length + ')'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
bufferSource: function() {
|
||||||
|
return random.choose([
|
||||||
|
[1, [this.arrayBuffer, this.dataView]],
|
||||||
|
[1, [this.typedArray]]
|
||||||
|
])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue