Search completed in 0.85 seconds.
SharedArrayBuffer - JavaScript
the shared
arraybuffer object is used to represent a generic, fixed-length raw binary data buffer, similar to the
arraybuffer object, but in a way that they can be used to create views on shared memory.
... unlike an
arraybuffer, a shared
arraybuffer cannot become detached.
... description allocating and sharing memory to share memory using shared
arraybuffer objects from one agent in the cluster to another (an agent is either the web page’s main program or one of its web workers), postmessage and structured cloning is used.
...And 12 more matches
ArrayBuffer.transfer() - Archive of obsolete content
the static
arraybuffer.transfer() method returns a new
arraybuffer whose contents have been taken from the oldbuffer's data and then is either truncated or zero-extended by newbytelength.
... syntax
arraybuffer.transfer(oldbuffer [, newbytelength]); parameters oldbuffer an
arraybuffer object from which to transfer.
... newbytelength the byte length of the new
arraybuffer object.
...And 7 more matches
ArrayBuffer - JavaScript
the
arraybuffer object is used to represent a generic, fixed-length raw binary data buffer.
... it is an array of bytes, often referred to in other languages as a "byte array".you cannot directly manipulate the contents of an
arraybuffer; instead, you create one of the typed array objects or a dataview object which represents the buffer in a specific format, and use that to read and write the contents of the buffer.
... the
arraybuffer() constructor creates a new
arraybuffer of the given length in bytes.
...And 6 more matches
Working with ArrayBuffers
an
arraybuffer is a simply byte array.
... bug 732936 includes a discussion of working with an
arraybuffer.
... this feature is based on the following work: //github.com/realityripple/uxp/blob/master/js/src/ctypes/ctypes.cpp#3080 //github.com/realityripple/uxp/blob/master/js/src/vm/
arraybufferobject.cpp#1301 example 1 - image data the following example illustrates how to transfer a byte array pointed by ctypes.uint8_t.ptr to imagedata of canvas.
...And 4 more matches
Body.arrayBuffer() - Web APIs
the
arraybuffer() method of the body mixin takes a response stream and reads it to completion.
... it returns a promise that resolves with an
arraybuffer.
... syntax response.
arraybuffer().then(function(buffer) { // do something with buffer }); parameters none.
...And 4 more matches
SharedArrayBuffer() constructor - JavaScript
note that shared
arraybuffer was disabled by default in all major browsers on 5 january, 2018 in response to spectre.
... the shared
arraybuffer() constructor is used to create a shared
arraybuffer object representing a generic, fixed-length raw binary data buffer, similar to the
arraybuffer object.
... syntax new shared
arraybuffer([length]) parameters length the size, in bytes, of the array buffer to create.
...And 4 more matches
ArrayBuffer() constructor - JavaScript
the
arraybuffer() constructor is used to create
arraybuffer objects.
... syntax new
arraybuffer(length) parameters length the size, in bytes, of the array buffer to create.
... return value a new
arraybuffer object of the specified size.
...And 3 more matches
ArrayBuffer.prototype.slice() - JavaScript
the slice() method returns a new
arraybuffer whose contents are a copy of this
arraybuffer's bytes from begin, inclusive, up to end, exclusive.
... syntax
arraybuffer.slice(begin[, end]) parameters begin zero-based byte index at which to begin slicing.
...if end is unspecified, the new
arraybuffer contains all bytes from begin to the end of this
arraybuffer.
...And 3 more matches
Blob.arrayBuffer() - Web APIs
the
arraybuffer() method in the blob interface returns a promise that resolves with the contents of the blob as binary data contained in an
arraybuffer.
... syntax var bufferpromise = blob.
arraybuffer(); blob.
arraybuffer().then(buffer => /* process the
arraybuffer */); var buffer = await blob.
arraybuffer(); parameters none.
... returns a promise that resolves with an
arraybuffer that contains the blob's data in binary form.
...And 2 more matches
FileReader.readAsArrayBuffer() - Web APIs
the filereader interface's readas
arraybuffer() method is used to start reading the contents of a specified blob or file.
...at that time, the result attribute contains an
arraybuffer representing the file's data.
... newer api available the blob.
arraybuffer() method is a newer promise-based api to read a file as an array buffer.
...And 2 more matches
FileReaderSync.readAsArrayBuffer() - Web APIs
the readas
arraybuffer() method of the filereadersync interface allows to read file or blob objects in a synchronous way into an
arraybuffer.
... syntax
arraybuffer readas
arraybuffer( in blob blob ); parameters blob the dom file or blob to read into the file or
arraybuffer.
... return value an
arraybuffer representing the file's data.
...And 2 more matches
PushMessageData.arrayBuffer() - Web APIs
the
arraybuffer()method of the pushmessagedata interface extracts push message data as an
arraybuffer object.
... syntax var my
arraybuffer = pushevent.data.
arraybuffer(); parameters none.
... returns an
arraybuffer.
...And 2 more matches
get ArrayBuffer[@@species] - JavaScript
the
arraybuffer[@@species] accessor property returns the
arraybuffer constructor.
... description the species accessor property returns the default constructor for
arraybuffer objects.
... examples species in ordinary objects the species property returns the default constructor function, which is the
arraybuffer constructor for
arraybuffer objects:
arraybuffer[symbol.species]; // function
arraybuffer() species in derived objects in a derived collection object (e.g.
...And 2 more matches
LockedFile.readAsArrayBuffer() - Web APIs
summary the readas
arraybuffer method is used to read the content of the lockedfile object and provide the result of that reading as an
arraybuffer.
... in many ways, it performs like the filereader.readas
arraybuffer() method.
... syntax var request = instanceoflockedfile.readas
arraybuffer(size); parameters size a number representing the number of bytes to read in the file.
...in case of success, the request's result is an
arraybuffer representing the data that have been read.
ArrayBuffer.isView() - JavaScript
the
arraybuffer.isview() method determines whether the passed value is one of the
arraybuffer views, such as typed array objects or a dataview.
... syntax
arraybuffer.isview(value) parameters value the value to be checked.
... return value true if the given argument is one of the
arraybuffer views; otherwise, false.
... examples using isview
arraybuffer.isview(); // false
arraybuffer.isview([]); // false
arraybuffer.isview({}); // false
arraybuffer.isview(null); // false
arraybuffer.isview(undefined); // false
arraybuffer.isview(new
arraybuffer(10)); // false
arraybuffer.isview(new uint8array()); // true
arraybuffer.isview(new float32array()); // true
arraybuffer.isview(new int8array(10).subarray(0, 3)); // true const buffer = new
arraybuffer(2); const dv = new dataview(buffer);
arraybuffer.isview(dv); // true specifications specification ecmascript (ecma-262)the definition of '
arraybuffer.isview' in that specification.
ArrayBuffer.prototype.byteLength - JavaScript
the bytelength accessor property represents the length of an
arraybuffer in bytes.
...this property returns 0 if this
arraybuffer has been detached.
... examples using bytelength var buffer = new
arraybuffer(8); buffer.bytelength; // 8 specifications specification ecmascript (ecma-262)the definition of '
arraybuffer.prototype.bytelength' in that specification.
SharedArrayBuffer.prototype.slice() - JavaScript
the shared
arraybuffer.prototype.slice() method returns a new shared
arraybuffer whose contents are a copy of this shared
arraybuffer's bytes from begin, inclusive, up to end, exclusive.
... return value a new shared
arraybuffer containing the extracted elements.
... examples using slice var sab = new shared
arraybuffer(1024); sab.slice(); // shared
arraybuffer { bytelength: 1024 } sab.slice(2); // shared
arraybuffer { bytelength: 1022 } sab.slice(-2); // shared
arraybuffer { bytelength: 2 } sab.slice(0, 1); // shared
arraybuffer { bytelength: 1 } specifications specification ecmascript (ecma-262)the definition of 'shared
arraybuffer.prototype.slice' in that specification.
ArrayBufferView - Web APIs
arraybufferview is a helper type representing any of the following javascript typedarray types: int8array, uint8array, uint8clampedarray, int16array, uint16array, int32array, uint32array, float32array, float64array or dataview.
... specifications specification status comment web idlthe definition of '
arraybufferview' in that specification.
SharedArrayBuffer.prototype.byteLength - JavaScript
the bytelength accessor property represents the length of an shared
arraybuffer in bytes.
... examples using bytelength var sab = new shared
arraybuffer(1024); sab.bytelength; // 1024 specifications specification ecmascript (ecma-262)the definition of 'shared
arraybuffer.prototype.bytelength' in that specification.
Index - Web APIs
98
arraybufferview api, interface, javascript, reference, typed arrays
arraybufferview is a helper type representing any of the following javascript typedarray types: 99 attr api, dom the attr interface represents one of a dom element's attributes as an object.
... 217 authenticatorassertionresponse.authenticatordata api, authenticatorassertionresponse, property, reference, web authentication api, webauthn the authenticatordata property of the authenticatorassertionresponse interface returns an
arraybuffer containing information from the authenticator such as the relying party id hash (rpidhash), a signature counter, test of user presence, user verification flags, and any extensions processed by the authenticator.
... 218 authenticatorassertionresponse.signature api, authenticatorassertionresponse, property, reference, web authentication api, webauthn the signature read-only property of the authenticatorassertionresponse interface is an
arraybuffer object which is the signature of the authenticator for both authenticatorassertionresponse.authenticatordata and a sha-256 hash of the client data (authenticatorassertionresponse.clientdatajson).
...And 32 more matches
StringView - Archive of obsolete content
the aims of this library are: to create a c-like interface for strings (i.e., an array of character codes — an
arraybufferview in javascript) based upon the javascript
arraybuffer interface to create a highly extensible library that anyone can extend by adding methods to the object stringview.prototype to create a collection of methods for such string-like objects (since now: stringviews) which work strictly on arrays of numbers rather than on creating new immutable javascript strings to work with unicode encodings other than javascript's default utf-16 domstrings introduction as web applications become more and more powerful, adding features such as audio and video manipulation, access to raw data using websockets, and so forth, it has become clear that there are times when it wou...
...*/ ntranscrtype &= 7; break typeswitch; case
arraybuffer: /* the input argument is an
arraybuffer: the buffer will be shared.
...w constructor stringview new stringview(stringview input, optional domstring encoding, optional unsigned long startoffset, optional unsigned long length); stringview new stringview(domstring input, optional domstring encoding, optional unsigned long startoffset, optional unsigned long length); stringview new stringview(unsigned long input); stringview new stringview(
arraybuffer input, optional domstring encoding, optional unsigned long byteoffset, optional unsigned long length); stringview new stringview(
arraybufferview input, optional domstring encoding, optional unsigned long startoffset, optional unsigned long length); stringview new stringview(array input, optional domstring encoding, optional unsigned long startoffset, optional unsigned long length); ...
...And 28 more matches
SubtleCrypto.importKey() - Web APIs
keydata is an
arraybuffer, a typedarray, a dataview, or a jsonwebkey object containing the key in the given format.
... in this format the key is supplied as an
arraybuffer containing the raw bytes for the key.
... the pkcs #8 format is defined in rfc 5208., using the asn.1 notation: privatekeyinfo ::= sequence { version version, privatekeyalgorithm privatekeyalgorithmidentifier, privatekey privatekey, attributes [0] implicit attributes optional } the importkey() method expects to receive this object as an
arraybuffer containing the der-encoded form of the privatekeyinfo.
...And 10 more matches
SubtleCrypto.unwrapKey() - Web APIs
wrappedkey is an
arraybuffer containing the wrapped key in the given format.
...*/ const wrappedkeybytes = [171,223,14,36,201,233,233,120,164,68,217,192,226,80, 224,39,199,235,239,60,212,169,100,23,61,54,244,197,160,80,109,230,207, 225,57,197,175,71,80,209]; /* convert an array of byte values to an
arraybuffer.
... */ function bytesto
arraybuffer(bytes) { const bytesas
arraybuffer = new
arraybuffer(bytes.length); const bytesuint8 = new uint8array(bytesas
arraybuffer); bytesuint8.set(bytes); return bytesas
arraybuffer; } /* get some key material to use as input to the derivekey method.
...And 9 more matches
Shell global objects
getshared
arraybuffer() retrieve the shared
arraybuffer object from the cross-worker mailbox.
...getshared
arraybuffer performs an ordering memory barrier.
... setshared
arraybuffer() install the shared
arraybuffer object in the cross-worker mailbox.
...And 6 more matches
OS.File for the main thread
after image loads it then draws it to canvas, makes it a blob, and uses filereader to turn it into
arraybuffer(view), then uses os.file.writeatomic to save to disk.
...as'); canvas.width = img.naturalwidth; canvas.height = img.naturalheight; var ctx = canvas.getcontext('2d'); ctx.drawimage(img, 0, 0); (canvas.toblobhd || canvas.toblob).call(canvas, function(b) { var r = cc['@mozilla.org/files/filereader;1'].createinstance(ci.nsidomfilereader); //new filereader(); r.onloadend = function() { // r.result contains the
arraybuffer.
...iteatomic(writepath, new uint8array(r.result), { tmppath: writepath + '.tmp' }); promise.then( function(aval) { console.log('successfully saved image to disk'); }, function(areason) { console.log('writeatomic failed for reason:', areason); } ); }; r.readas
arraybuffer(b); }, 'image/png'); }; //var path = os.path.tofileuri(os.path.join(os.contants.path.desktopdir, 'my.png')); //do it like this for images on disk var path = 'https://mozorg.cdn.mozilla.net/media/img/firefox/channel/toggler-beta.png?2013-06'; //do like this for images online img.src = path; example: append to file this example shows how to use open, write, and close to append to a file.
...And 4 more matches
Planned changes to shared memory - JavaScript
there is standardization work ongoing that enables developers to create shared
arraybuffer objects again, but changes are needed in order to be use these across threads (i.e., postmessage() for shared
arraybuffer objects throws by default).
... for top-level documents, two headers will need to be set: cross-origin-opener-policy with same-origin as value (protects your origin from attackers) cross-origin-embedder-policy with require-corp as value (protects victims from your origin) with these two headers set, postmessage() will no longer throw for shared
arraybuffer objects and shared memory across threads is therefore available.
... shared
arraybuffer objects are in principle always available, but unfortunately the constructor on the global object is hidden, unless the two headers mentioned above are set, for compatibility with web content.
...And 4 more matches
JavaScript typed arrays - JavaScript
a buffer (implemented by the
arraybuffer object) is an object representing a chunk of data; it has no format to speak of and offers no mechanism for accessing its contents.
...
arraybuffer the
arraybuffer is a data type that is used to represent a generic, fixed-length binary data buffer.
... you can't directly manipulate the contents of an
arraybuffer; instead, you create a typed array view or a dataview which represents the buffer in a specific format, and use that to read and write the contents of the buffer.
...And 4 more matches
PromiseWorker.jsm
only messageport and
arraybuffer objects can be transferred.
... transferring special data from main thread to worker the regular rules of workers apply; special data of messageport and
arraybuffer objects can be transferred as of firefox 40.
... atransferlist to transfer an
arraybuffer object, pass an array containing it as atransferlist argument.
...And 3 more matches
WebGLRenderingContext.vertexAttribPointer() - Web APIs
each vertex has a few attributes, like position, normal vector, or texture coordinate, that are defined in an
arraybuffer and will be supplied to the vertex buffer object (vbo).
...however, if you are designing the format yourself, or your geometry is in text files (like wavefront .obj files) and must be converted into an
arraybuffer at runtime, you have free choice on how to structure the memory.
... integer attributes while the
arraybuffer can be filled with both integers and floats, the attributes will always be converted to a float when they are sent to the vertex shader.
...And 3 more matches
Sending and Receiving Binary Data - Web APIs
possible values are the empty string (default), "
arraybuffer", "blob", "document", "json", and "text".
... the response property will contain the entity body according to responsetype, as an
arraybuffer, blob, document, json, or string.
... var oreq = new xmlhttprequest(); oreq.open("get", "/myfile.png", true); oreq.responsetype = "
arraybuffer"; oreq.onload = function (oevent) { var
arraybuffer = oreq.response; // note: not oreq.responsetext if (
arraybuffer) { var bytearray = new uint8array(
arraybuffer); for (var i = 0; i < bytearray.bytelength; i++) { // do something with each byte in the array } } }; oreq.send(null); you can also read a binary file as a blob by setting the string "blob" to the responsetype property.
...And 3 more matches
DataView - JavaScript
the dataview view provides a low-level interface for reading and writing multiple number types in a binary
arraybuffer, without having to care about the platform's endianness.
... var littleendian = (function() { var buffer = new
arraybuffer(2); new dataview(buffer).setint16(0, 256, true /* littleendian */); // int16array uses the platform's endianness.
... instance properties dataview.prototype.buffer the
arraybuffer referenced by this view.
...And 3 more matches
Understanding WebAssembly text format - WebAssembly
from javascript’s point of view, it’s as though memory is all inside one big (resizable)
arraybuffer.
...memory instances have a buffer getter, which returns an
arraybuffer that points at the whole linear memory.
...when growth occurs, since
arraybuffers can’t change size, the current
arraybuffer is detached and a new
arraybuffer is created to point to the newer, bigger memory.
...And 3 more matches
Using the WebAssembly JavaScript API - WebAssembly
these methods are easier than their non-streaming counterparts, because they can turn the byte code directly into module/instance instances, cutting out the need to separately put the response into an
arraybuffer.
... these methods don't directly access the byte code, so require an extra step to turn the response into an
arraybuffer before compiling/instantiating the wasm module.
... the equivalent code would look like this: fetch('simple.wasm').then(response => response.
arraybuffer() ).then(bytes => webassembly.instantiate(bytes, importobject) ).then(results => { results.instance.exports.exported_func(); }); viewing wasm in developer tools in firefox 54+, the developer tool debugger panel has functionality to expose the text representation of any wasm code included in a web page.
...And 3 more matches
nsIBinaryInputStream
inherits from: nsiinputstream last changed in gecko 1.7 method overview pruint8 read8(); pruint16 read16(); pruint32 read32(); pruint64 read64(); unsigned long read
arraybuffer(in pruint32 alength, in jsval a
arraybuffer); prbool readboolean(); void readbytearray(in pruint32 alength, [array, size_is(alength), retval] out pruint8 abytes); void readbytes(in pruint32 alength, [size_is(alength), retval] out string astring); acstring readcstring(); double readdouble(); float readfloat(); astring readstring(); ...
... read
arraybuffer() read opaque bytes from the stream, storing the results in an
arraybuffer.
... unsigned long read
arraybuffer(in pruint32 alength, in jsval a
arraybuffer); parameters alength the number of bytes that should be read.
...And 2 more matches
WebIDL bindings
for example, this webidl: interface test { void passtyped
arraybuffer(
arraybuffer arg); void passtypedarray(
arraybufferview arg); void passint16array(int16array?
... arg); } will correspond to these c++ function declarations: void passtyped
arraybuffer(const
arraybuffer& arg); void passtypedarray(const
arraybufferview& arg); void passint16array(const nullable<int16array>& arg); typed array return values become a js::mutablehandle<jsobject*> out param appended to the argument list.
...so for example, this idl: void passunion((object or long) arg); (object or long) receiveunion(); void passsequenceofunions(sequence<(object or long)> arg); void passotherunion((htmldivelement or
arraybuffer or eventinit) arg); would correspond to these c++ function declarations: void passunion(const objectorlong& aarg); void receiveunion(owningobjectobjectorlong& aarg); void passsequenceofunions(const sequence<owningobjectorlong>& aarg); void passotherunion(const htmldivelementor
arraybufferoreventinit& aarg); union structs expose accessors to test whether they're of a given type and to get hold...
...And 2 more matches
BaseAudioContext.decodeAudioData() - Web APIs
the decodeaudiodata() method of the baseaudiocontext interface is used to asynchronously decode audio file data contained in an
arraybuffer.
... in this case the
arraybuffer is loaded from xmlhttprequest and filereader.
... syntax older callback syntax: baseaudiocontext.decodeaudiodata(
arraybuffer, successcallback, errorcallback); newer promise-based syntax: promise<decodeddata> baseaudiocontext.decodeaudiodata(
arraybuffer); parameters
arraybuffer an
arraybuffer containing the audio data to be decoded, usually grabbed from xmlhttprequest, windoworworkerglobalscope.fetch() or filereader.
...And 2 more matches
Using XMLHttpRequest - Web APIs
for example, consider this snippet, which uses the responsetype of "
arraybuffer" to fetch the remote content into a
arraybuffer object, which stores the raw binary data.
... var oreq = new xmlhttprequest(); oreq.onload = function(e) { var
arraybuffer = oreq.response; // not responsetext /* ...
... */ } oreq.open("get", url); oreq.responsetype = "
arraybuffer"; oreq.send(); for more examples check out the sending and receiving binary data page monitoring progress xmlhttprequest provides the ability to listen to various events that can occur while the request is being processed.
...And 2 more matches
RangeError: invalid array length - JavaScript
the javascript exception "invalid array length" occurs when creating an array or an
arraybuffer which has a length which is either negative or larger or equal to 232, or when setting the array.length property to a value which is either negative or larger or equal to 232.
... an invalid array length might appear in these situations: when creating an array or an
arraybuffer which has a length which is either negative or larger or equal to 232, or when setting the array.length property to a value which is either negative or larger or equal to 232.
... why are array and
arraybuffer length limited?
...And 2 more matches
TypedArray - JavaScript
int8array), an array buffer is created internally in memory or, if an
arraybuffer object is given as constructor argument, then this is used instead.
... buffer, byteoffset, length when called with a buffer, and optionally a byteoffset and a length argument, a new typed array view is created that views the specified
arraybuffer.
... instance properties typedarray.prototype.buffer returns the
arraybuffer referenced by the typed array.
...And 2 more matches
Loading and running WebAssembly code - WebAssembly
the older webassembly.compile/webassembly.instantiate methods require you to create an
arraybuffer containing your webassembly module binary after fetching the raw bytes, and then compile/instantiate it.
... the newer webassembly.compilestreaming/webassembly.instantiatestreaming methods are a lot more efficient — they perform their actions directly on the raw stream of bytes coming from the network, cutting out the need for the
arraybuffer step.
...}); if we used the older webassembly.instantiate() method, which doesn't work on the direct stream, we'd need an extra step of converting the fetched byte code to an
arraybuffer, like so: fetch('module.wasm').then(response => response.
arraybuffer() ).then(bytes => webassembly.instantiate(bytes, importobject) ).then(results => { // do something with the results!
...And 2 more matches
AudioBuffer.copyToChannel() - Web APIs
syntax my
arraybuffer.copytochannel(source, channelnumber, startinchannel); parameters source a float32array that the channel data will be copied from.
... example var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); var anotherarray = new float32array; // copy channel data from second channel of my
arraybuffer.
... my
arraybuffer.copyfromchannel(anotherarray,1,0); // copy data from anotherarray to first channel of my
arraybuffer.
...my
arraybuffer.copytochannel (anotherarray,0,0); specification specification status comment web audio apithe definition of 'copytochannel' in that specification.
AuthenticatorResponse.clientDataJSON - Web APIs
the clientdatajson property of the authenticatorresponse interface stores a json string in an
arraybuffer, representing the client data that was passed to credentialscontainer.create() or credentialscontainer.get().
... syntax var
arraybuffer = authenticatorattestationresponse.clientdatajson; var
arraybuffer = authenticatorassertionresponse.clientdatajson; value an
arraybuffer.
... properties after the clientdatajson object is converted from an
arraybuffer to a javascript object, it will have the following properties: type a string which is either "webauthn.get" when an existing credential is retrieved or "webauthn.create" when a new credential is created.
... examples function
arraybuffertostr(buf) { return string.fromcharcode.apply(null, new uint8array(buf)); } // pk is a publickeycredential that is the result of a create() or get() promise var clientdatastr =
arraybuffertostr(pk.clientdatajson); var clientdataobj = json.parse(clientdatastr); console.log(clientdataobj.type); // "webauthn.create" or "webauthn.get" console.log(clientdataobj.challenge); // base64 encoded ...
BluetoothRemoteGATTDescriptor - Web APIs
interface interface bluetoothremotegattdescriptor { readonly attribute bluetoothgattcharacteristic characteristic; readonly attribute uuid uuid; readonly attribute
arraybuffer?
... value; promise<
arraybuffer> readvalue(); promise<void> writevalue(buffersource value); }; properties bluetoothremotegattdescriptor.characteristicread only returns the bluetoothremotegattcharacteristic this descriptor belongs to.
... methods bluetoothremotegattdescriptor.readvalue() returns a promise that resolves to an
arraybuffer holding a duplicate of the value property if it is available and supported.
... bluetoothremotegattdescriptor.writevalue() sets the value property to the bytes contained in an
arraybuffer and returns a promise.
RTCDataChannel.binaryType - Web APIs
values allowed by the websocket.binarytype property are also permitted here: "blob" if blob objects are being used or "
arraybuffer" if
arraybuffer objects are being used.
... "
arraybuffer" received binary messages' contents will be contained in
arraybuffer objects.
... example this code configures a data channel to receive binary data in
arraybuffer objects, and establishes a listener for message events which constructs a string representing the received data as a list of hexadecimal byte values.
... var dc = peerconnection.createdatachannel("binary"); dc.binarytype = "
arraybuffer"; dc.onmessage = function(event) { let bytearray = new uint8array(event.data); let hexstring = ""; bytearray.foreach(function(byte) { hexstring += byte.tostring(16) + " "; }); }; specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcdatachannel.binarytype' in that specification.
SubtleCrypto.digest() - Web APIs
data is an
arraybuffer or
arraybufferview containing the data to be digested.
... return value digest is a promise that fulfills with an
arraybuffer containing the digest.
...he inhabitants refer to it as the planet earth.'; async function digestmessage(message) { const encoder = new textencoder(); const data = encoder.encode(message); const hash = await crypto.subtle.digest('sha-256', data); return hash; } const digestbuffer = await digestmessage(text); console.log(digestbuffer.bytelength); converting a digest to a hex string the digest is returned as an
arraybuffer, but for comparison and display digests are often represented as hex strings.
... this example calculates a digest, then converts the
arraybuffer to a hex string: const text = 'an obscure body in the s-k system, your majesty.
SubtleCrypto.exportKey() - Web APIs
otherwise the promise fulfills with an
arraybuffer containing the key.
... raw export this example exports an aes key as an
arraybuffer containing the bytes for the key.
... /* convert an
arraybuffer into a string from https://developers.google.com/web/updates/2012/06/how-to-convert-
arraybuffer-to-and-from-string */ function ab2str(buf) { return string.fromcharcode.apply(null, new uint8array(buf)); } /* export the given key and write it into the "exported-key" space.
... /* convert an
arraybuffer into a string from https://developers.google.com/web/updates/2012/06/how-to-convert-
arraybuffer-to-and-from-string */ function ab2str(buf) { return string.fromcharcode.apply(null, new uint8array(buf)); } /* export the given key and write it into the "exported-key" space.
WebGL2RenderingContext.getBufferSubData() - Web APIs
the webgl2renderingcontext.getbuffersubdata() method of the webgl 2 api reads data from a buffer binding point and writes them to an
arraybuffer or shared
arraybuffer.
... syntax void gl.getbuffersubdata(target, srcbyteoffset,
arraybufferview dstdata, optional dstoffset, optional length); parameters target a glenum specifying the binding point (target).
... dstdata an
arraybuffer or shared
arraybuffer to which to write the buffer data.
... examples var buffer = gl.createbuffer(); gl.bindbuffer(gl.array_buffer, buffer); gl.bufferdata(gl.array_buffer, new float32array(vertices), gl.static_draw); var arrbuffer = new
arraybuffer(vertices.length * float32array.bytes_per_element); gl.getbuffersubdata(gl.array_buffer, 0, arrbuffer); specifications specification status comment webgl 2.0the definition of 'getbuffersubdata' in that specification.
WebGLRenderingContext.texImage2D() - Web APIs
syntax // webgl1: void gl.teximage2d(target, level, internalformat, width, height, border, format, type,
arraybufferview?
...ge2d(target, level, internalformat, width, height, border, format, type, htmlvideoelement source); void gl.teximage2d(target, level, internalformat, width, height, border, format, type, imagebitmap source); void gl.teximage2d(target, level, internalformat, width, height, border, format, type, imagedata source); void gl.teximage2d(target, level, internalformat, width, height, border, format, type,
arraybufferview srcdata, srcoffset); parameters target a glenum specifying the binding point (target) of the active texture.
... rgba unsigned_short_4_4_4_4 4 2 rgba unsigned_short_5_5_5_1 4 2 rgb unsigned_short_5_6_5 3 2 luminance_alpha unsigned_byte 2 2 luminance unsigned_byte 1 1 alpha unsigned_byte 1 1 other possible values in webgl2 for the versions of teximage2d that take an
arraybufferview or a glintptr offset sized format base format r bits g bits b bits a bits shared bits color renderable texture filterable r8 red 8 ● ● r8_snorm red s8 ● rg8 rg 8 8 ● ● rg8_snorm rg s...
... gl.byte gl.unsigned_short gl.short gl.unsigned_int gl.int gl.half_float gl.float gl.unsigned_int_2_10_10_10_rev gl.unsigned_int_10f_11f_11f_rev gl.unsigned_int_5_9_9_9_rev gl.unsigned_int_24_8 gl.float_32_unsigned_int_24_8_rev (pixels must be null) pixels one of the following objects can be used as a pixel source for the texture:
arraybufferview, a uint8array must be used if type is gl.unsigned_byte.
Worker.prototype.postMessage() - Web APIs
transferable objects are instances of classes like
arraybuffer, messageport or imagebitmap objects that can be transferred.
... transfer example this example shows a firefox add-on that transfers an
arraybuffer from the main thread to the chromeworker, and then the chromeworker transfers it back to the main thread.
... console.log('incoming message from worker, msg:', msg); switch (msg.data.atopic) { case 'do_sendmainarrbuff': sendmainarrbuff(msg.data.abuf) break; default: throw 'no atopic on incoming message to chromeworker'; } } myworker.addeventlistener('message', handlemessagefromworker); // ok lets create the buffer and send it var arrbuf = new
arraybuffer(8); console.info('arrbuf.bytelength pre transfer:', arrbuf.bytelength); myworker.postmessage( { atopic: 'do_sendworkerarrbuff', abuf: arrbuf // the array buffer that we passed to the transferrable section 3 lines below }, [ arrbuf // the array buffer we created 9 lines above ] ); console.info('arrbuf.bytelength post transfer:', arrbuf.bytelength); worke...
...to see a full working example of this firefox demo add-on see here: github :: chromeworker - demo-transfer-
arraybuffer specifications specification status comment html living standardthe definition of 'worker.postmessage()' in that specification.
BigInt64Array - JavaScript
instance properties bigint64array.prototype.buffer returns the
arraybuffer referenced by the bigint64array.
... bigint64array.prototype.bytelength returns the length (in bytes) of the bigint64array from the start of its
arraybuffer.
... bigint64array.prototype.byteoffset returns the offset (in bytes) of the bigint64array from the start of its
arraybuffer.
...a length var bigint64 = new bigint64array(2); bigint64[0] = 42n; console.log(bigint64[0]); // 42n console.log(bigint64.length); // 2 console.log(bigint64.bytes_per_element); // 8 // from an array var arr = new bigint64array([21n,31n]); console.log(arr[1]); // 31n // from another typedarray var x = new bigint64array([21n, 31n]); var y = new bigint64array(x); console.log(y[0]); // 21n // from an
arraybuffer var buffer = new
arraybuffer(32); var z = new bigint64array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1n, 2n, 3n]; }(); var bigint64 = new bigint64array(iterable); // bigint64array[1n, 2n, 3n] specifications specification ecmascript (ecma-262)the definition of 'bigint64array' in that specification.
BigUint64Array - JavaScript
instance properties biguint64array.prototype.buffer returns the
arraybuffer referenced by the biguint64array.
... biguint64array.prototype.bytelength returns the length (in bytes) of the biguint64array from the start of its
arraybuffer.
... biguint64array.prototype.byteoffset returns the offset (in bytes) of the biguint64array from the start of its
arraybuffer.
...var biguint64 = new biguint64array(2); biguint64[0] = 42n; console.log(biguint64[0]); // 42n console.log(biguint64.length); // 2 console.log(biguint64.bytes_per_element); // 8 // from an array var arr = new biguint64array([21n,31n]); console.log(arr[1]); // 31n // from another typedarray var x = new biguint64array([21n, 31n]); var y = new biguint64array(x); console.log(y[0]); // 21n // from an
arraybuffer var buffer = new
arraybuffer(32); var z = new biguint64array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1n, 2n, 3n]; }(); var biguint64 = new biguint64array(iterable); // biguint64array[1n, 2n, 3n] specifications specification ecmascript (ecma-262)the definition of 'biguint64array' in that specification.
Float32Array - JavaScript
instance properties float32array.prototype.buffer returns the
arraybuffer referenced by the float32array fixed at construction time and thus read only.
... float32array.prototype.bytelength returns the length (in bytes) of the float32array from the start of its
arraybuffer.
... float32array.prototype.byteoffset returns the offset (in bytes) of the float32array from the start of its
arraybuffer.
...32array // from a length var float32 = new float32array(2); float32[0] = 42; console.log(float32[0]); // 42 console.log(float32.length); // 2 console.log(float32.bytes_per_element); // 4 // from an array var arr = new float32array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new float32array([21, 31]); var y = new float32array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(16); var z = new float32array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var float32 = new float32array(iterable); // float32array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Float64Array - JavaScript
instance properties float64array.prototype.buffer returns the
arraybuffer referenced by the float64array fixed at construction time and thus read only.
... float64array.prototype.bytelength returns the length (in bytes) of the float64array from the start of its
arraybuffer.
... float64array.prototype.byteoffset returns the offset (in bytes) of the float64array from the start of its
arraybuffer.
...64array // from a length var float64 = new float64array(2); float64[0] = 42; console.log(float64[0]); // 42 console.log(float64.length); // 2 console.log(float64.bytes_per_element); // 8 // from an array var arr = new float64array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new float64array([21, 31]); var y = new float64array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(32); var z = new float64array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var float64 = new float64array(iterable); // float64array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Int16Array - JavaScript
instance properties int16array.prototype.buffer returns the
arraybuffer referenced by the int16array fixed at construction time and thus read only.
... int16array.prototype.bytelength returns the length (in bytes) of the int16array from the start of its
arraybuffer.
... int16array.prototype.byteoffset returns the offset (in bytes) of the int16array from the start of its
arraybuffer.
...s to create an int16array // from a length var int16 = new int16array(2); int16[0] = 42; console.log(int16[0]); // 42 console.log(int16.length); // 2 console.log(int16.bytes_per_element); // 2 // from an array var arr = new int16array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new int16array([21, 31]); var y = new int16array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(8); var z = new int16array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var int16 = new int16array(iterable); // int16array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Int32Array - JavaScript
instance properties int32array.prototype.buffer returns the
arraybuffer referenced by the int32array fixed at construction time and thus read only.
... int32array.prototype.bytelength returns the length (in bytes) of the int32array from the start of its
arraybuffer.
... int32array.prototype.byteoffset returns the offset (in bytes) of the int32array from the start of its
arraybuffer.
...s to create an int32array // from a length var int32 = new int32array(2); int32[0] = 42; console.log(int32[0]); // 42 console.log(int32.length); // 2 console.log(int32.bytes_per_element); // 4 // from an array var arr = new int32array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new int32array([21, 31]); var y = new int32array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(16); var z = new int32array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var int32 = new int32array(iterable); // int32array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Int8Array - JavaScript
instance properties int8array.prototype.buffer returns the
arraybuffer referenced by the int8array fixed at construction time and thus read only.
... int8array.prototype.bytelength returns the length (in bytes) of the int8array from the start of its
arraybuffer.
... int8array.prototype.byteoffset returns the offset (in bytes) of the int8array from the start of its
arraybuffer.
...ferent ways to create an int8array // from a length var int8 = new int8array(2); int8[0] = 42; console.log(int8[0]); // 42 console.log(int8.length); // 2 console.log(int8.bytes_per_element); // 1 // from an array var arr = new int8array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new int8array([21, 31]); var y = new int8array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(8); var z = new int8array(buffer, 1, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var int8 = new int8array(iterable); // int8array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Uint16Array - JavaScript
instance properties uint16array.prototype.buffer returns the
arraybuffer referenced by the uint16array fixed at construction time and thus read only.
... uint16array.prototype.bytelength returns the length (in bytes) of the uint16array from the start of its
arraybuffer.
... uint16array.prototype.byteoffset returns the offset (in bytes) of the uint16array from the start of its
arraybuffer.
...te a uint16array // from a length var uint16 = new uint16array(2); uint16[0] = 42; console.log(uint16[0]); // 42 console.log(uint16.length); // 2 console.log(uint16.bytes_per_element); // 2 // from an array var arr = new uint16array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new uint16array([21, 31]); var y = new uint16array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(8); var z = new uint16array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var uint16 = new uint16array(iterable); // uint16array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Uint32Array - JavaScript
instance properties uint32array.prototype.buffer returns the
arraybuffer referenced by the uint32array fixed at construction time and thus read only.
... uint32array.prototype.bytelength returns the length (in bytes) of the uint32array from the start of its
arraybuffer.
... uint32array.prototype.byteoffset returns the offset (in bytes) of the uint32array from the start of its
arraybuffer.
...te a uint32array // from a length var uint32 = new uint32array(2); uint32[0] = 42; console.log(uint32[0]); // 42 console.log(uint32.length); // 2 console.log(uint32.bytes_per_element); // 4 // from an array var arr = new uint32array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new uint32array([21, 31]); var y = new uint32array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(16); var z = new uint32array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var uint32 = new uint32array(iterable); // uint32array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Uint8ClampedArray - JavaScript
instance properties uint8clampedarray.prototype.buffer returns the
arraybuffer referenced by the uint8clampedarray fixed at construction time and thus read only.
... uint8clampedarray.prototype.bytelength returns the length (in bytes) of the uint8clampedarray from the start of its
arraybuffer.
... uint8clampedarray.prototype.byteoffset returns the offset (in bytes) of the uint8clampedarray from the start of its
arraybuffer.
... = 42; uintc8[1] = 1337; console.log(uintc8[0]); // 42 console.log(uintc8[1]); // 255 (clamped) console.log(uintc8.length); // 2 console.log(uintc8.bytes_per_element); // 1 // from an array var arr = new uint8clampedarray([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new uint8clampedarray([21, 31]); var y = new uint8clampedarray(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(8); var z = new uint8clampedarray(buffer, 1, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var uintc8 = new uint8clampedarray(iterable); // uint8clampedarray[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
WebAssembly.instantiate() - JavaScript
this function has two overloads: the primary overload takes the webassembly binary code, in the form of a typed array or
arraybuffer, and performs both compilation and instantiation in one step.
...if at all possible, you should use the newer webassembly.instantiatestreaming() method instead, which fetches, compiles, and instantiates a module all in one step, directly from the raw bytecode, so doesn't require conversion to an
arraybuffer.
... syntax primary overload — taking wasm binary code promise<resultobject> webassembly.instantiate(buffersource, importobject); parameters buffersource a typed array or
arraybuffer containing the binary code of the .wasm module you want to compile.
... var importobject = { imports: { imported_func: function(arg) { console.log(arg); } } }; fetch('simple.wasm').then(response => response.
arraybuffer() ).then(bytes => webassembly.instantiate(bytes, importobject) ).then(result => result.instance.exports.exported_func() ); note: you can also find this example at index.html on github (view it live also).
ECMAScript 2016 to ES.Next support in Mozilla - Archive of obsolete content
firefox 48) object.getownpropertydescriptors() (firefox 50) async functions async function (firefox 52) async function expression (firefox 52) asyncfunction (firefox 52) await (firefox 52) trailing commas in function parameter lists (firefox 52) ecmascript 2018 spread in object literals and rest parameters (firefox 55) for await...of (firefox 57) global_objects/shared
arraybuffer (firefox 57, with flags) global_objects/promise/finally (firefox 58) global_objects/regexp/dotall (not yet implemented; in other browsers) regexp lookbehind assertions (not yet implemented; in other browsers) regexp unicode property escapes (not yet implemented; in other browsers) regexp named capture groups (not yet implemented; in other browsers) ecmascript 2019 array.flat() (firefox ...
... additions to the
arraybuffer object
arraybuffer.transfer() (spec) new typedobject objects based on typed objects draft, and exposed via a global typedobject object, e.g.
... new shared memory objects shared
arraybuffer atomics ...
JSProtoKey
ntaxerror syntaxerror mxr search for jsproto_syntaxerror jsproto_typeerror typeerror mxr search for jsproto_typeerror jsproto_urierror urierror mxr search for jsproto_urierror jsproto_iterator iterator mxr search for jsproto_iterator jsproto_stopiteration stopiteration mxr search for jsproto_stopiteration jsproto_
arraybuffer arraybuffer mxr search for jsproto_
arraybuffer jsproto_int8array int8array mxr search for jsproto_int8array jsproto_uint8array uint8array mxr search for jsproto_uint8array jsproto_int16array int16array mxr search for jsproto_int16array jsproto_uint16array uint16array mxr search for jsproto_uint16array jsproto_int...
...r jsproto_proxy jsproto_weakmap weakmap mxr search for jsproto_weakmap jsproto_map map mxr search for jsproto_map jsproto_set set mxr search for jsproto_set jsproto_dataview dataview mxr search for jsproto_dataview jsproto_symbol symbol added in spidermonkey 38 mxr search for jsproto_symbol jsproto_shared
arraybuffer shared
arraybuffer (nightly only) mxr search for jsproto_shared
arraybuffer jsproto_intl intl mxr search for jsproto_intl jsproto_typedobject typedobject (nightly only) mxr search for jsproto_typedobject jsproto_generatorfunction generatorfunction added in spidermonkey 31 mxr search for jsproto_generatorfunction jsproto_simd sim...
... see also bug 789635 bug 645416 - added jsproto_symbol bug 769872 - added jsproto_intl bug 792439 - added jsproto_weakset bug 896116 - added jsproto_typedarray bug 904701 - added jsproto_generatorfunction bug 914220 - added jsproto_typedobject bug 933001 - added jsproto_shared
arraybuffer bug 946042 - added jsproto_simd bug 1054882 - added jsproto_shared*arrays ...
Type conversion
gument, the following rules are also applied: target type source converted value ctypes.char.ptr js string pointer to temporary allocated null-terminated utf8 string ctypes.signed_char.ptr ctypes.unsigned_char.ptr ctypes.char16.ptr js string pointer to temporary allocated null-terminated utf16 string any pointer types any
arraybuffer object pointer to the
arraybuffer ctypes.voidptr_t any typedarray/dataview object pointer to the typedarray/dataview ctypes.char.ptr ctypes.int8_t.ptr int8array pointer to the int8array ctypes.uint8_t.ptr uint8array pointer to the uint8array uintclamped8array pointer to the uintclamped8array ctypes.int16_t.ptr int16a...
... if utf8 representation fits to the array) null-terminated utf8 string ctypes.signed_char.array(n) ctypes.unsigned_char.array(n) ctypes.char16_t.array(n) js string (only if fits to the array) null-terminated utf16 string any array types js array (only if array length is same) convert each element implicitly any array types any
arraybuffer object (only if array length is same in bytes) copy data ctypes.int8_t.array(n) int8array (only if array length is same in bytes) ctypes.uint8_t.array(n) uint8array (only if array length is same in bytes) uintclamped8array (only if array length is same in bytes) ctypes.int16_t.array(n) int16array (only if array length is same in ...
...es.int32_t(10)' pointer types target type source converted value any pointer types js number (only if fits to the pointer size) c-style cast ctypes.int64 (only if fits to the pointer size) c-style cast console.log(ctypes.int32_t.ptr(0xfffffffff).tostring()); // 'ctypes.int32_t.ptr(ctypes.uint64("0xfffffffff"))' see also working with
arraybuffers ...
AudioBuffer.getChannelData() - Web APIs
syntax var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); var nowbuffering = my
arraybuffer.getchanneldata(channel); parameters channel the channel property is an index representing the particular channel to get data for.
...= new (window.audiocontext || window.webkitaudiocontext)(); var button = document.queryselector('button'); var pre = document.queryselector('pre'); var myscript = document.queryselector('script'); pre.innerhtml = myscript.innerhtml; // stereo var channels = 2; // create an empty two second stereo buffer at the // sample rate of the audiocontext var framecount = audioctx.samplerate * 2.0; var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); button.onclick = function() { // fill the buffer with white noise; //just random values between -1.0 and 1.0 for (var channel = 0; channel < channels; channel++) { // this gives us the actual
arraybuffer that contains the data var nowbuffering = my
arraybuffer.getchanneldata(channel); for (var i = 0; i < framecount; i++) ...
... // this is the audionode to use when we want to play an audiobuffer var source = audioctx.createbuffersource(); // set the buffer in the audiobuffersourcenode source.buffer = my
arraybuffer; // connect the audiobuffersourcenode to the // destination so we can hear the sound source.connect(audioctx.destination); // start the source playing source.start(); } specification specification status comment web audio apithe definition of 'getchanneldata' in that specification.
AuthenticatorAttestationResponse.attestationObject - Web APIs
the attestationobject property of the authenticatorattestationresponse interface returns an
arraybuffer containing the new public key, as well as signature over the entire attestationobject with a private key that is stored in the authenticator when it is manufactured.
... syntax attestobj = authenticatorattestationresponse.attestationobject properties after decoding the cbor encoded
arraybuffer, the resulting javascript object will contain the following properties: authdata the same as authenticatorassertionresponse.authenticatordata.
... : "login.example.com" }, user: { id: new uint8array(16), name: "jdoe@example.com", displayname: "john doe" }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { var attestationobj = newcredentialinfo.response.attestationobject; // this will be a cbor encoded
arraybuffer // do something with the response // (sending it back to the relying party server maybe?) }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'attestationobject' in that specification.
BlobBuilder - Web APIs
method overview void append(in
arraybuffer data); void append(in blob data); void append(in string data, [optional] in string endings); blob getblob([optional] in domstring contenttype); file getfile(in domstring name, [optional] in domstring contenttype); methods append() appends the contents of the specified javascript object to the blob being built.
... if the value you specify isn't a blob,
arraybuffer, or string, the value is coerced to a string before being appended to the blob.
... void append( in
arraybuffer data ); void append( in blob data ); void append( in string data, [optional] in string endings ); parameters data the data to append to the blob being constructed.
FileReaderSync - Web APIs
methods filereadersync.readas
arraybuffer() this method converts a specified blob or a file into an
arraybuffer representing the input data as a binary string.
...this method is deprecated, consider using readas
arraybuffer() instead.
... yeschrome android full support yesfirefox android full support 8opera android full support yessafari ios full support yessamsung internet android full support yesreadas
arraybufferchrome full support yesedge full support 12firefox full support 8ie full support yesopera full support yessafari full support yesw...
PublicKeyCredential.getClientExtensionResults() - Web APIs
getclientextensionresults() is a method of the publickeycredential interface that returns an
arraybuffer which contains a map between the extensions identifiers and their results after having being processed by the client.
... syntax map
arraybuffer = publickeycredential.getclientextensionresults() parameters none.
... return value an
arraybuffer containing the result of the processing of the different extensions by the client.
SubtleCrypto.deriveBits() - Web APIs
it returns a promise which will be fulfilled with an
arraybuffer containing the derived bits.
... this method is very similar to subtlecrypto.derivekey(), except that derivekey() returns a cryptokey object rather than an
arraybuffer.
... return value result is a promise that fulfills with an
arraybuffer containing the derived bits.
WebGL2RenderingContext.texImage3D() - Web APIs
format, width, height, depth, border, format, type, htmlvideoelement source); void gl.teximage3d(target, level, internalformat, width, height, depth, border, format, type, imagebitmap source); void gl.teximage3d(target, level, internalformat, width, height, depth, border, format, type, imagedata source); void gl.teximage3d(target, level, internalformat, width, height, depth, border, format, type,
arraybufferview?
... srcdata); void gl.teximage3d(target, level, internalformat, width, height, depth, border, format, type,
arraybufferview srcdata, srcoffset); parameters target a glenum specifying the binding point (target) of the active texture.
... gl.byte gl.unsigned_short gl.short gl.unsigned_int gl.int gl.half_float gl.float gl.unsigned_int_2_10_10_10_rev gl.unsigned_int_10f_11f_11f_rev gl.unsigned_int_5_9_9_9_rev gl.unsigned_int_24_8 gl.float_32_unsigned_int_24_8_rev (pixels must be null) source one of the following objects can be used as a pixel source for the texture:
arraybufferview, imagebitmap, imagedata, htmlimageelement, htmlcanvaselement, htmlvideoelement.
WebGLRenderingContext.bufferData() - Web APIs
syntax // webgl1: void gl.bufferdata(target, size, usage); void gl.bufferdata(target,
arraybuffer?
... srcdata, usage); void gl.bufferdata(target,
arraybufferview srcdata, usage); // webgl2: void gl.bufferdata(target,
arraybufferview srcdata, usage, srcoffset, length); parameters target a glenum specifying the binding point (target).
... srcdata optional an
arraybuffer, shared
arraybuffer or one of the
arraybufferview typed array types that will be copied into the data store.
WebGLRenderingContext.compressedTexImage[23]D() - Web APIs
syntax // webgl 1: void gl.compressedteximage2d(target, level, internalformat, width, height, border,
arraybufferview?
... pixels); // additionally available in webgl 2: // read from buffer bound to gl.pixel_unpack_buffer void gl.compressedteximage2d(target, level, internalformat, width, height, border, glsizei imagesize, glintptr offset); void gl.compressedteximage2d(target, level, internalformat, width, height, border,
arraybufferview srcdata, optional srcoffset, optional srclengthoverride); // read from buffer bound to gl.pixel_unpack_buffer void gl.compressedteximage3d(target, level, internalformat, width, height, depth, border, glsizei imagesize, glintptr offset); void gl.compressedteximage3d(target, level, internalformat, width, height, depth, border,
arraybufferview srcdata, optional srcoffset, optional srclengthoverride); parameters target a glenu...
... pixels an
arraybufferview that be used as a data store for the compressed image data in memory.
WebGLRenderingContext.compressedTexSubImage2D() - Web APIs
syntax // webgl 1: void gl.compressedtexsubimage2d(target, level, xoffset, yoffset, width, height, format,
arraybufferview?
... pixels); // additionally available in webgl 2: void gl.compressedtexsubimage2d(target, level, xoffset, yoffset, width, height, format, imagesize, offset); void gl.compressedtexsubimage2d(target, level, xoffset, yoffset, width, height, format,
arraybufferview srcdata, optional srcoffset, optional srclengthoverride); parameters target a glenum specifying the binding point (target) of the active compressed texture.
... pixels an
arraybufferview that be used as a data store for the compressed image data in memory.
WebGLRenderingContext.readPixels() - Web APIs
the webglrenderingcontext.readpixels() method of the webgl api reads a block of pixels from a specified rectangle of the current color framebuffer into an
arraybufferview object.
... syntax // webgl1: void gl.readpixels(x, y, width, height, format, type, pixels); // webgl2: void gl.readpixels(x, y, width, height, format, type, glintptr offset); void gl.readpixels(x, y, width, height, format, type,
arraybufferview pixels, gluint dstoffset); parameters x a glint specifying the first horizontal pixel that is read from the lower left corner of a rectangular block of pixels.
...possible values: gl.unsigned_byte gl.unsigned_short_5_6_5 gl.unsigned_short_4_4_4_4 gl.unsigned_short_5_5_5_1 gl.float webgl2 adds gl.byte gl.unsigned_int_2_10_10_10_rev gl.half_float gl.short gl.unsigned_short gl.int gl.unsigned_int gl.unsigned_int_10f_11f_11f_rev gl.unsigned_int_5_9_9_9_rev pixels an
arraybufferview object to read data into.
WebGLRenderingContext.texSubImage2D() - Web APIs
syntax // webgl 1: void gl.texsubimage2d(target, level, xoffset, yoffset, width, height, format, type,
arraybufferview?
...id gl.texsubimage2d(target, level, xoffset, yoffset, width, height, format, type, htmlvideoelement source); void gl.texsubimage2d(target, level, xoffset, yoffset, width, height, format, type, imagebitmap source); void gl.texsubimage2d(target, level, xoffset, yoffset, width, height, format, type, imagedata source); void gl.texsubimage2d(target, level, xoffset, yoffset, width, height, format, type,
arraybufferview srcdata, srcoffset); parameters target a glenum specifying the binding point (target) of the active texture.
... gl.byte gl.unsigned_short gl.short gl.unsigned_int gl.int gl.half_float gl.float gl.unsigned_int_2_10_10_10_rev gl.unsigned_int_10f_11f_11f_rev gl.unsigned_int_5_9_9_9_rev gl.unsigned_int_24_8 gl.float_32_unsigned_int_24_8_rev (pixels must be null) pixels one of the following objects can be used as a pixel source for the texture:
arraybufferview, a uint8array must be used if type is gl.unsigned_byte.
WebSocket.send() - Web APIs
arraybuffer you can send the underlying binary data used by a typed array object; its binary data contents are queued in the buffer, increasing the value of bufferedamount by the requisite number of bytes.
...
arraybufferview you can send any javascript typed array object as a binary frame; its binary data contents are queued in the buffer, increasing the value of bufferedamount by the requisite number of bytes.
... as of gecko 11.0, support for
arraybuffer is implemented but not blob data types.
Migrating from webkitAudioContext - Web APIs
in order to port it to the standard audiocontext api: var osc = context.createoscillator(); osc.start(1); osc.stop(1.5); var src = context.createbuffersource(); src.start(1, 0.25); src.stop(2); remove synchronous buffer creation in the old webkit implementation of web audio, there were two versions of createbuffer(), one which created an initially empty buffer, and one which took an existing
arraybuffer containing encoded audio, decoded it and returned the result in the form of an audiobuffer.
... the example below shows old code which downloads an audio file over the network, and then decoded it using createbuffer(): var xhr = new xmlhttprequest(); xhr.open("get", "/path/to/audio.ogg", true); xhr.responsetype = "
arraybuffer"; xhr.send(); xhr.onload = function() { var decodedbuffer = context.createbuffer(xhr.response, false); if (decodedbuffer) { // decoding was successful, do something useful with the audio buffer } else { alert("decoding the audio buffer failed"); } }; converting this code to use decodeaudiodata() is relatively simple, as can be seen below: var xhr = new xmlhttprequest(); xhr.ope...
...n("get", "/path/to/audio.ogg", true); xhr.responsetype = "
arraybuffer"; xhr.send(); xhr.onload = function() { context.decodeaudiodata(xhr.response, function onsuccess(decodedbuffer) { // decoding was successful, do something useful with the audio buffer }, function onfailure() { alert("decoding the audio buffer failed"); }); }; note that the decodeaudiodata() method is asynchronous, which means that it will return immediately, and then when the decoding finishes, one of the success or failure callback functions will get called depending on whether the audio decoding was successful.
Attestation and Assertion - Web APIs
the attestation format contains two basic
arraybuffers: clientdatajson - an
arraybuffer that contains a json representation of what the browser saw when being asked to authenticate.
...the assertion format is fairly simple as it contains four basic
arraybuffers: clientdatajson - the same as in attestation.
... an
arraybuffer that contains a json representation of what the browser saw when being asked to authenticate.
XMLHttpRequest.sendAsBinary() - Web APIs
nary() polyfill :: |*| |*| https://developer.mozilla.org/docs/dom/xmlhttprequest#sendasbinary() |*| \*/ if (!xmlhttprequest.prototype.sendasbinary) { xmlhttprequest.prototype.sendasbinary = function (sdata) { var nbytes = sdata.length, ui8data = new uint8array(nbytes); for (var nidx = 0; nidx < nbytes; nidx++) { ui8data[nidx] = sdata.charcodeat(nidx) & 0xff; } /* send as
arraybufferview...: */ this.send(ui8data); /* ...or as
arraybuffer (legacy)...: this.send(ui8data.buffer); */ }; } note: it's possible to build this polyfill putting two types of data as argument for send(): an
arraybuffer (ui8data.buffer – the commented code) or an
arraybufferview (ui8data, which is a typed array of 8-bit unsigned integers – uncommented code).
... however, on google chrome, when you try to send an
arraybuffer, the following warning message will appear:
arraybuffer is deprecated in xmlhttprequest.send().
... use
arraybufferview instead.
Indexed collections - JavaScript
a buffer (implemented by the
arraybuffer object) is an object representing a chunk of data; it has no format to speak of, and offers no mechanism for accessing its contents.
...
arraybuffer the
arraybuffer is a data type that is used to represent a generic, fixed-length binary data buffer.
... you can't directly manipulate the contents of an
arraybuffer; instead, you create a typed array view or a dataview which represents the buffer in a specific format, and use that to read and write the contents of the buffer.
Atomics.notify() - JavaScript
it will return 0 on non-shared
arraybuffer objects.
... returns 0, if a non-shared
arraybuffer object is used.
... examples using notify given a shared int32array: const sab = new shared
arraybuffer(1024); const int32 = new int32array(sab); a reading thread is sleeping and waiting on location 0 which is expected to be 0.
Atomics - JavaScript
they are used with shared
arraybuffer and
arraybuffer objects.
... examples using atomics const sab = new shared
arraybuffer(1024); const ta = new uint8array(sab); ta[0] = 5; atomics.add(ta, 0, 12); atomics.load(ta, 0); // 12 atomics.and(ta, 0, 1); atomics.load(ta, 0); // 1 atomics.compareexchange(ta, 0, 5, 12); atomics.load(ta, 0); // 12 atomics.exchange(ta, 0, 12); atomics.load(ta, 0); // 12 atomics.islockfree(1); // true atomics.islockfree(2); // true atomics.islockfree(3); // false atomics.islockfree(4); // t...
...rue atomics.or(ta, 0, 1); atomics.load(ta, 0); // 5 atomics.store(ta, 0, 12); // 12 atomics.sub(ta, 0, 2); atomics.load(ta, 0); // 3 atomics.xor(ta, 0, 1); atomics.load(ta, 0); // 4 waiting and notifiying given a shared int32array: const sab = new shared
arraybuffer(1024); const int32 = new int32array(sab); a reading thread is sleeping and waiting on location 0 which is expected to be 0.
DataView.prototype.byteLength - JavaScript
the bytelength accessor property represents the length (in bytes) of this view from the start of its
arraybuffer or shared
arraybuffer.
...if the dataview is not specifying an offset or a bytelength, the bytelength of the referenced
arraybuffer or shared
arraybuffer will be returned.
... examples using the bytelength property var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.bytelength; // 8 (matches the bytelength of the buffer) var dataview2 = new dataview(buffer, 1, 5); dataview2.bytelength; // 5 (as specified when constructing the dataview) var dataview3 = new dataview(buffer, 2); dataview3.bytelength; // 6 (due to the offset of the constructed dataview) specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.bytelength' in that specification.
Uint8Array - JavaScript
instance properties uint8array.prototype.buffer returns the
arraybuffer referenced by the uint8array fixed at construction time and thus read only.
... uint8array.prototype.byteoffset returns the offset (in bytes) of the uint8array from the start of its
arraybuffer.
...ys to create a uint8array // from a length var uint8 = new uint8array(2); uint8[0] = 42; console.log(uint8[0]); // 42 console.log(uint8.length); // 2 console.log(uint8.bytes_per_element); // 1 // from an array var arr = new uint8array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new uint8array([21, 31]); var y = new uint8array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(8); var z = new uint8array(buffer, 1, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var uint8 = new uint8array(iterable); // uint8array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
WebAssembly.Memory() constructor - JavaScript
the webassembly.memory() constructor creates a new memory object whose buffer property is a resizable
arraybuffer or shared
arraybuffer that holds the raw bytes of memory accessed by a webassembly instance.
...its buffer property will return an
arraybuffer.
...you can create a shared memory by passing shared: true in the constructor's initialization object: let memory = new webassembly.memory({initial:10, maximum:100, shared:true}); this memory's buffer property will return a shared
arraybuffer.
WebAssembly.Memory - JavaScript
the webassembly.memory object is a resizable
arraybuffer or shared
arraybuffer that holds the raw bytes of memory accessed by a webassembly instance.
...its buffer property will return an
arraybuffer.
...you can create a shared memory by passing shared: true in the constructor's initialization object: let memory = new webassembly.memory({initial:10, maximum:100, shared: true}); this memory's buffer property will return a shared
arraybuffer.
WebAssembly.validate() - JavaScript
syntax webassembly.validate(buffersource); parameters buffersource a typed array or
arraybuffer containing webassembly binary code to be validated.
... exceptions if buffersource is not a typed array or
arraybuffer, a typeerror is thrown.
... fetch('simple.wasm').then(response => response.
arraybuffer() ).then(function(bytes) { var valid = webassembly.validate(bytes); console.log("the given bytes are " + (valid ?
nsIXMLHttpRequest
.status + ']'); break; } }; let evf = f => ['load', 'error', 'abort'].foreach(f); evf(m => xhr.addeventlistener(m, handler, false)); xhr.mozbackgroundrequest = true; xhr.open('get', url, true); xhr.channel.loadflags |= ci.nsirequest.load_anonymous | ci.nsirequest.load_bypass_cache | ci.nsirequest.inhibit_persistent_caching; xhr.responsetype = "
arraybuffer"; //dont set it, so it returns string, you dont want
arraybuffer.
... you only want this if your url is to a zip file or some file you want to download and make a nsi
arraybufferinputstream out of it or something xhr.send(null); } xhr('https://www.gravatar.com/avatar/eb9895ade1bd6627e054429d1e18b576?s=24&d=identicon&r=pg&f=1', data => { services.prompt.alert(null, 'xhr success', data); var file = os.path.join(os.constants.path.desktopdir, "test.png"); var promised = os.file.writeatomic(file, new uint8array(data)); promised.then( function() { alert('succesfully saved image to desktop') }, function(ex) { alert('failed in saving image to desktop') } ); }); ...
AudioBuffer.copyFromChannel() - Web APIs
syntax my
arraybuffer.copyfromchannel(destination, channelnumber, startinchannel); parameters destination a float32array to copy the channel's samples to.
... var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); var anotherarray = new float32array(length); my
arraybuffer.copyfromchannel(anotherarray, 1, 0); specification specification status comment web audio apithe definition of 'copyfromchannel' in that specification.
AudioBuffer.duration - Web APIs
syntax var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); my
arraybuffer.duration; value a double.
... example // stereo var channels = 2; // create an empty two second stereo buffer at the // sample rate of the audiocontext var framecount = audioctx.samplerate * 2.0; var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); button.onclick = function() { // fill the buffer with white noise; // just random values between -1.0 and 1.0 for (var channel = 0; channel < channels; channel++) { // this gives us the actual
arraybuffer that contains the data var nowbuffering = my
arraybuffer.getchanneldata(channel); for (var i = 0; i < framecount; i++) { // math.random() is in [0; 1.0] // audio needs to be in [-1.0; 1.0] nowbuffering[i] = math.random() * 2 - 1; } } console.log(my
arraybuffer.duration); } specification specification...
AudioBuffer.length - Web APIs
syntax var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); my
arraybuffer.length; value an integer.
... example // stereo var channels = 2; // create an empty two second stereo buffer at the // sample rate of the audiocontext var framecount = audioctx.samplerate * 2.0; var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); button.onclick = function() { // fill the buffer with white noise; // just random values between -1.0 and 1.0 for (var channel = 0; channel < channels; channel++) { // this gives us the actual
arraybuffer that contains the data var nowbuffering = my
arraybuffer.getchanneldata(channel); for (var i = 0; i < framecount; i++) { // math.random() is in [0; 1.0] // audio needs to be in [-1.0; 1.0] nowbuffering[i] = math.random() * 2 - 1; } } console.log(my
arraybuffer.length); } specification specification ...
AudioBuffer.numberOfChannels - Web APIs
syntax var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); my
arraybuffer.numberofchannels; value an integer.
... example // stereo var channels = 2; // create an empty two second stereo buffer at the // sample rate of the audiocontext var framecount = audioctx.samplerate * 2.0; var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); button.onclick = function() { // fill the buffer with white noise; // just random values between -1.0 and 1.0 for (var channel = 0; channel < channels; channel++) { // this gives us the actual
arraybuffer that contains the data var nowbuffering = my
arraybuffer.getchanneldata(channel); for (var i = 0; i < framecount; i++) { // math.random() is in [0; 1.0] // audio needs to be in [-1.0; 1.0] nowbuffering[i] = math.random() * 2 - 1; } } console.log(my
arraybuffer.numberofchannels); } specification specif...
AudioBuffer.sampleRate - Web APIs
syntax var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); my
arraybuffer.samplerate; value a floating-point value indicating the current sample rate of the buffers data, in samples per second.
... example // stereo var channels = 2; // create an empty two second stereo buffer at the // sample rate of the audiocontext var framecount = audioctx.samplerate * 2.0; var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); button.onclick = function() { // fill the buffer with white noise; // just random values between -1.0 and 1.0 for (var channel = 0; channel < channels; channel++) { // this gives us the actual
arraybuffer that contains the data var nowbuffering = my
arraybuffer.getchanneldata(channel); for (var i = 0; i < framecount; i++) { // math.random() is in [0; 1.0] // audio needs to be in [-1.0; 1.0] nowbuffering[i] = math.random() * 2 - 1; } } console.log(my
arraybuffer.samplerate); } specification specificatio...
AudioBuffer - Web APIs
var audioctx = new (window.audiocontext || window.webkitaudiocontext)(); // create an empty three-second stereo buffer at the sample rate of the audiocontext var my
arraybuffer = audioctx.createbuffer(2, audioctx.samplerate * 3, audioctx.samplerate); // fill the buffer with white noise; // just random values between -1.0 and 1.0 for (var channel = 0; channel < my
arraybuffer.numberofchannels; channel++) { // this gives us the actual array that contains the data var nowbuffering = my
arraybuffer.getchanneldata(channel); for (var i = 0; i < my
arraybuffer.length; i++)...
...// this is the audionode to use when we want to play an audiobuffer var source = audioctx.createbuffersource(); // set the buffer in the audiobuffersourcenode source.buffer = my
arraybuffer; // connect the audiobuffersourcenode to the // destination so we can hear the sound source.connect(audioctx.destination); // start the source playing source.start(); specifications specification status comment web audio apithe definition of 'audiobuffer' in that specification.
AudioBufferSourceNode.buffer - Web APIs
var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); button.onclick = function() { // fill the buffer with white noise; //just random values between -1.0 and 1.0 for (var channel = 0; channel < channels; channel++) { // this gives us the actual
arraybuffer that contains the data var nowbuffering = my
arraybuffer.getchanneldata(channel); for (var i = 0; i < framecount; i++) ...
... // this is the audionode to use when we want to play an audiobuffer var source = audioctx.createbuffersource(); // set the buffer in the audiobuffersourcenode source.buffer = my
arraybuffer; specifications specification status comment web audio apithe definition of 'buffer' in that specification.
AudioBufferSourceNode - Web APIs
var audioctx = new (window.audiocontext || window.webkitaudiocontext)(); // create an empty three-second stereo buffer at the sample rate of the audiocontext var my
arraybuffer = audioctx.createbuffer(2, audioctx.samplerate * 3, audioctx.samplerate); // fill the buffer with white noise; //just random values between -1.0 and 1.0 for (var channel = 0; channel < my
arraybuffer.numberofchannels; channel++) { // this gives us the actual
arraybuffer that contains the data var nowbuffering = my
arraybuffer.getchanneldata(channel); for (var i = 0; i < my
arraybuffer.length;...
...// this is the audionode to use when we want to play an audiobuffer var source = audioctx.createbuffersource(); // set the buffer in the audiobuffersourcenode source.buffer = my
arraybuffer; // connect the audiobuffersourcenode to the // destination so we can hear the sound source.connect(audioctx.destination); // start the source playing source.start(); for a decodeaudiodata() example, see the audiocontext.decodeaudiodata() page.
AuthenticatorAssertionResponse.authenticatorData - Web APIs
the authenticatordata property of the authenticatorassertionresponse interface returns an
arraybuffer containing information from the authenticator such as the relying party id hash (rpidhash), a signature counter, test of user presence, user verification flags, and any extensions processed by the authenticator.
... syntax var authnrdata = authenticatorassertionresponse.authenticatordata; value an
arraybuffer that has a
arraybuffer.bytelength of at least 37 bytes, containing the following fields: rpidhash (32 bytes) - a sha256 hash of the relying party id that was seen by the browser.
AuthenticatorAssertionResponse.signature - Web APIs
the signature read-only property of the authenticatorassertionresponse interface is an
arraybuffer object which is the signature of the authenticator for both authenticatorassertionresponse.authenticatordata and a sha-256 hash of the client data (authenticatorassertionresponse.clientdatajson).
... syntax signature = authenticatorassertionresponse.signature value an
arraybuffer object which the signature of the authenticator (using its private key) for both authenticatorassertionresponse.authenticatordata and a sha-256 hash given by the client for its data (the challenge, the origin, etc.
AuthenticatorAssertionResponse.userHandle - Web APIs
the userhandle read-only property of the authenticatorassertionresponse interface is an
arraybuffer object which is an opaque identifier for the given user.
... syntax userhandle = authenticatorassertionresponse.userhandle value an
arraybuffer object which is an opaque identifier for the current user.
AuthenticatorAssertionResponse - Web APIs
authenticatorassertionresponse.authenticatordata secure contextread only an
arraybuffer containing information from the authenticator such as the relying party id hash (rpidhash), a signature counter, test of user presence and user verification flags, and any extensions processed by the authenticator.
... authenticatorassertionresponse.userhandle secure contextread only an
arraybuffer containing an opaque user identifier.
BaseAudioContext.createBuffer() - Web APIs
var audioctx = new (window.audiocontext || window.webkitaudiocontext)(); // create an empty three-second stereo buffer at the sample rate of the audiocontext var my
arraybuffer = audioctx.createbuffer(2, audioctx.samplerate * 3, audioctx.samplerate); // fill the buffer with white noise; // just random values between -1.0 and 1.0 for (var channel = 0; channel < my
arraybuffer.numberofchannels; channel++) { // this gives us the actual
arraybuffer that contains the data var nowbuffering = my
arraybuffer.getchanneldata(channel); for (var i = 0; i < my
arraybuffer.length...
...// this is the audionode to use when we want to play an audiobuffer var source = audioctx.createbuffersource(); // set the buffer in the audiobuffersourcenode source.buffer = my
arraybuffer; // connect the audiobuffersourcenode to the // destination so we can hear the sound source.connect(audioctx.destination); // start the source playing source.start(); specifications specification status comment web audio apithe definition of 'createbuffer()' in that specification.
BaseAudioContext.createBufferSource() - Web APIs
= new (window.audiocontext || window.webkitaudiocontext)(); var button = document.queryselector('button'); var pre = document.queryselector('pre'); var myscript = document.queryselector('script'); pre.innerhtml = myscript.innerhtml; // stereo var channels = 2; // create an empty two second stereo buffer at the // sample rate of the audiocontext var framecount = audioctx.samplerate * 2.0; var my
arraybuffer = audioctx.createbuffer(2, framecount, audioctx.samplerate); button.onclick = function() { // fill the buffer with white noise; //just random values between -1.0 and 1.0 for (var channel = 0; channel < channels; channel++) { // this gives us the actual
arraybuffer that contains the data var nowbuffering = my
arraybuffer.getchanneldata(channel); for (var i = 0; i < framecount; i++) ...
... // this is the audionode to use when we want to play an audiobuffer var source = audioctx.createbuffersource(); // set the buffer in the audiobuffersourcenode source.buffer = my
arraybuffer; // connect the audiobuffersourcenode to the // destination so we can hear the sound source.connect(audioctx.destination); // start the source playing source.start(); } specifications specification status comment web audio apithe definition of 'createbuffersource()' in that specification.
BaseAudioContext - Web APIs
baseaudiocontext.decodeaudiodata() asynchronously decodes audio file data contained in an
arraybuffer.
... in this case, the
arraybuffer is usually loaded from an xmlhttprequest's response attribute after setting the responsetype to
arraybuffer.
Beacon API - Web APIs
the data argument is optional and its type may be an
arraybufferview, blob, domstring, or formdata.
...the data argument is optional and its type may be an
arraybufferview, blob, domstring, or formdata.
Blob - Web APIs
instance methods blob.prototype.
arraybuffer() returns a promise that resolves with an
arraybuffer containing the entire contents of the blob as binary data.
...the following code reads the content of a blob as a typed array: const reader = new filereader(); reader.addeventlistener('loadend', () => { // reader.result contains the contents of blob as a typed array }); reader.readas
arraybuffer(blob); another way to read content from a blob is to use a response.
BluetoothAdvertisingData - Web APIs
bluetoothadvertisingdata.manufacturerdata read only returns a map that relates company identifier codes to
arraybuffers.
... bluetoothadvertisingdata.servicedata read only returns a map that relates uuids to
arraybuffers.
BluetoothRemoteGATTCharacteristic - Web APIs
bluetoothremotegattcharacteristic.readvalue() returns a promise that resolves to an
arraybuffer holding a duplicate of the value property if it is available and supported.
... bluetoothremotegattcharacteristic.writevalue() sets the value property to the bytes contained in an
arraybuffer and returns a promise.
readValue() - Web APIs
the bluetoothremotegattdescriptor.readvalue() method returns a promise that resolves to an
arraybuffer holding a duplicate of the value property if it is available and supported.
...}) returns a promise that resolves to an
arraybuffer.
value - Web APIs
the bluetoothremotegattdescriptor.value read-only property returns an
arraybuffer containing the currently cached descriptor value.
... syntax var characteristic = bluetoothremotegattdescriptor.characteristic returns an
arraybuffer.
Body - Web APIs
methods body.
arraybuffer() takes a response stream and reads it to completion.
... it returns a promise that resolves with an
arraybuffer.
Using Fetch - Web APIs
a body is an instance of any of the following types:
arraybuffer arraybufferview (uint8array and friends) blob/file string urlsearchparams formdata the body mixin defines the following methods to extract a body (implemented by both request and response).
...
arraybuffer() blob() json() text() formdata() this makes usage of non-textual data much easier than it was with xhr.
File - Web APIs
blob.prototype.
arraybuffer() transforms the file into a stream and reads it to completion.
... it returns a promise that resolves with an
arraybuffer.
FileReader.result - Web APIs
syntax var file = instanceoffilereader.result value an appropiate string or
arraybuffer based on which of the reading methods was used to initiate the read operation.
... method description readas
arraybuffer() the result is a javascript
arraybuffer containing binary data.
FileHandle API - Web APIs
the lockedfile interface provides a readastext method and a readas
arraybuffer method.
... var progress = document.queryselector('progress'); var myfile = myfilehandle.open('readonly'); // let's read a 1gb file var action = myfile.readas
arraybuffer(1000000000); action.onprogress = function (event) { if (progress) { progress.value = event.loaded; progress.max = event.total; } } action.onsuccess = function () { console.log('yeah \o/ just read a 1gb file'); } action.onerror = function () { console.log('oups :( unable to read a 1gb file') } file storage when a file handle is created, the associated file only exists as a ...
HTMLCanvasElement.toBlob() - Web APIs
var canvas = document.getelementbyid('canvas'); var d = canvas.width; ctx = canvas.getcontext('2d'); ctx.beginpath(); ctx.moveto(d / 2, 0); ctx.lineto(d, d); ctx.lineto(0, d); ctx.closepath(); ctx.fillstyle = 'yellow'; ctx.fill(); function blobcallback(iconname) { return function(b) { var r = new filereader(); r.onloadend = function () { // r.result contains the
arraybuffer.
...ath.desktopdir, iconname + '.ico'); var promise = os.file.writeatomic(writepath, new uint8array(r.result), {tmppath:writepath + '.tmp'}); promise.then( function() { console.log('successfully wrote file'); }, function() { console.log('failure writing file') } ); }; r.readas
arraybuffer(b); } } canvas.toblob(blobcallback('passthisstring'), 'image/vnd.microsoft.icon', '-moz-parse-options:format=bmp;bpp=32'); specifications specification status comment html living standardthe definition of 'htmlcanvaselement.toblob' in that specification.
Using microtasks in JavaScript with queueMicrotask() - Web APIs
consider code such as this: customelement.prototype.getdata = url => { if (this.cache[url]) { this.data = this.cache[url]; this.dispatchevent(new event("load")); } else { fetch(url).then(result => result.
arraybuffer()).then(data => { this.cache[url] = data; this.data = data; this.dispatchevent(new event("load")); }); } }; the problem introduced here is that by using a task in one branch of the if...else statement (in the case in which the image is available in the cache) but having promises involved in the else clause, we have a situation in which the order of operations can vary; fo...
... we can ensure consistent ordering of these operations by using a microtask in the if clause to balance the two clauses: customelement.prototype.getdata = url => { if (this.cache[url]) { queuemicrotask(() => { this.data = this.cache[url]; this.dispatchevent(new event("load")); }); } else { fetch(url).then(result => result.
arraybuffer()).then(data => { this.cache[url] = data; this.data = data; this.dispatchevent(new event("load")); }); } }; this balances the clauses by having both situations handle the setting of data and firing of the load event within a microtask (using queuemicrotask() in the if clause and using the promises used by fetch() in the else clause).
PublicKeyCredential.rawId - Web APIs
the rawid read-only property of the publickeycredential interface is an
arraybuffer object containing the identifier of the credentials.
... syntax rawid = publickeycredential.rawid value a
arraybuffer containing the identifier of the credentials.
PublicKeyCredentialRequestOptions.extensions - Web APIs
txauthgeneric an object with two properties: contenttype (usvstring) content (
arraybuffer) generic transaction authorization.
...if true, the client outputs an
arraybuffer which contains a value uniquely identifying a user verification data record.
PushSubscription.getKey() - Web APIs
the getkey() method of the pushsubscription interface returns an
arraybuffer representing a client public key, which can then be sent to a server and used in encrypting push message data.
... returns an
arraybuffer.
Request - Web APIs
request implements body, so it also has the following methods available to it: body.
arraybuffer() returns a promise that resolves with an
arraybuffer representation of the request body.
... note: the body functions can be run only once; subsequent calls will resolve with empty strings/
arraybuffers.
Response - Web APIs
body interface methods response implements body, so it also has the following methods available to it: body.
arraybuffer() takes a response stream and reads it to completion.
... it returns a promise that resolves with an
arraybuffer.
SourceBuffer.appendBuffer() - Web APIs
the appendbuffer() method of the sourcebuffer interface appends media segment data from an
arraybuffer or
arraybufferview object to the sourcebuffer.
... syntax sourcebuffer.appendbuffer(source); parameters source a buffersource (that is, either an
arraybufferview or
arraybuffer) which contains the media segment data you want to add to the sourcebuffer.
SourceBuffer.appendBufferAsync() - Web APIs
the appendbufferasync() method of the sourcebuffer interface begins the process of asynchronously appending media segment data from an
arraybuffer or
arraybufferview object to the sourcebuffer.
... syntax appendpromise = sourcebuffer.appendbufferasync(source); parameters source a buffersource (that is, either an
arraybufferview or
arraybuffer) which contains the media segment data you want to add to the sourcebuffer.
SourceBuffer - Web APIs
sourcebuffer.appendbuffer() appends media segment data from an
arraybuffer or
arraybufferview object to the sourcebuffer.
...r(mimecodec); fetchab(asseturl, function (buf) { sourcebuffer.addeventlistener('updateend', function (_) { mediasource.endofstream(); video.play(); //console.log(mediasource.readystate); // ended }); sourcebuffer.appendbuffer(buf); }); } function fetchab (url, cb) { console.log(url); var xhr = new xmlhttprequest; xhr.open('get', url); xhr.responsetype = '
arraybuffer'; xhr.onload = function () { cb(xhr.response); }; xhr.send(); } specifications specification status comment media source extensionsthe definition of 'sourcebuffer' in that specification.
SubtleCrypto.sign() - Web APIs
data is an
arraybuffer or
arraybufferview object containing the data to be signed.
... return value signature is a promise that fulfills with an
arraybuffer containing the signature.
SubtleCrypto.verify() - Web APIs
signature is a
arraybuffer containing the signature to verify.
... data is a
arraybuffer containing the data whose signature is to be verified.
WebGL2RenderingContext.compressedTexSubImage3D() - Web APIs
syntax // read from the buffer bound to gl.pixel_unpack_buffer void gl.compressedtexsubimage3d(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imagesize, offset); void gl.compressedtexsubimage3d(target, level, xoffset, yoffset, zoffset, width, height, depth, format,
arraybufferview srcdata, optional srcoffset, optional srclengthoverride); parameters target a glenum specifying the binding point (target) of the active texture.
... srcdata an
arraybufferview that be used as a data store for the compressed image data in memory.
WebGL2RenderingContext.texSubImage3D() - Web APIs
syntax void gl.texsubimage3d(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type,
arraybufferview?
... gl.byte gl.unsigned_short gl.short gl.unsigned_int gl.int gl.half_float gl.float gl.unsigned_int_2_10_10_10_rev gl.unsigned_int_10f_11f_11f_rev gl.unsigned_int_5_9_9_9_rev gl.unsigned_int_24_8 gl.float_32_unsigned_int_24_8_rev (pixels must be null) pixels one of the following objects can be used as a pixel source for the texture:
arraybufferview, a uint8array must be used if type is gl.unsigned_byte.
WebGLRenderingContext.bufferSubData() - Web APIs
syntax // webgl1: void gl.buffersubdata(target, offset,
arraybuffer srcdata); void gl.buffersubdata(target, offset,
arraybufferview srcdata); // webgl2: void gl.buffersubdata(target, dstbyteoffset,
arraybufferview srcdata, srcoffset, length); parameters target a glenum specifying the binding point (target).
... srcdata optional an
arraybuffer, shared
arraybuffer or one of the
arraybufferview typed array types that will be copied into the data store.
window.postMessage() - Web APIs
secure shared memory messaging if postmessage() throws when used with shared
arraybuffer objects, you might need to make sure you cross-site isolated your site properly.
...r origin from attackers) cross-origin-embedder-policy with require-corp as value (protects victims from your origin) cross-origin-opener-policy: same-origin cross-origin-embedder-policy: require-corp to check if cross origin isolation has been successful, you can test against the crossoriginisolated property available to window and worker contexts: if (crossoriginisolated) { // post shared
arraybuffer } else { // do something else } see also planned changes to shared memory which is starting to roll out to browsers (firefox 79, for example).
WindowOrWorkerGlobalScope.crossOriginIsolated - Web APIs
the crossoriginisolated read-only property of the windoworworkerglobalscope interface returns a boolean value that indicates whether a shared
arraybuffer can be sent via a window.postmessage() call.
... syntax var mycrossoriginisolated = self.crossoriginisolated; // or just crossoriginisolated value a boolean value examples if(crossoriginisolated) { // post shared
arraybuffer } else { // do something else } specifications specification status comment html living standardthe definition of 'crossoriginisolated' in that specification.
XMLHttpRequest.response - Web APIs
the xmlhttprequest response property returns the response's body content as an
arraybuffer, blob, document, javascript object, or domstring, depending on the value of the request's responsetype property.
...
arraybuffer the response is a javascript
arraybuffer containing binary data.
XMLHttpRequest - Web APIs
xmlhttprequest.response read only returns an
arraybuffer, blob, document, javascript object, or a domstring, depending on the value of xmlhttprequest.responsetype, that contains the response entity body.
... xmlhttprequest.mozresponse
arraybuffer obsolete since gecko 6 read only
arraybuffer.
XMLHttpRequestResponseType - Web APIs
arraybuffer the response is a javascript
arraybuffer containing binary data.
... deprecated values moz-chunked-
arraybuffer a firefox-only value which instructs xmlhttprequest to deliver
arraybuffer objects containing chunks of the incoming data.
Ajax - Developer guides
possible values are the empty string (default),
arraybuffer, blob, document, json, and text.
... the response property will contain the entity body according to responsetype, as an
arraybuffer, blob, document, json, or string.
Cross-Origin-Embedder-Policy - HTTP
examples certain features depend on cross-origin isolation you can only access certain features like shared
arraybuffer objects or performance.now() with unthrottled timers, if your document has a coep header with the value require-corp value set.
... to check if cross origin isolation has been successful, you can test against the crossoriginisolated property available to window and worker contexts: if (crossoriginisolated) { // post shared
arraybuffer } else { // do something else } avoiding coep blockage with cors if you enable coep using require-corp and have a cross origin resource that needs to be loaded, it needs to support cors and you need to explicitly mark the resource as loadable from another origin to avoid blockage from coep.
Cross-Origin-Opener-Policy - HTTP
examples certain features depend on cross-origin isolation certain features like shared
arraybuffer objects or performance.now() with unthrottled timers are only available if your document has a coop header with the value same-origin value set.
... to check if cross-origin isolation has been successful, you can test against the crossoriginisolated property available to window and worker contexts: if (crossoriginisolated) { // post shared
arraybuffer } else { // do something else } specifications specification html living standardthe definition of 'cross-origin-opener-policy header' in that specification.
TypeError: invalid arguments - JavaScript
typed array constructors require either a length, another typed array, array-like objects, iterable objects or an
arraybuffer object to create a new typed array.
...reate a valid uint8array: // from a length var uint8 = new uint8array(2); uint8[0] = 42; console.log(uint8[0]); // 42 console.log(uint8.length); // 2 console.log(uint8.bytes_per_element); // 1 // from an array var arr = new uint8array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new uint8array([21, 31]); var y = new uint8array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(8); var z = new uint8array(buffer, 1, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var uint8 = new uint8array(iterable); // uint8array[1, 2, 3] ...
BigInt64Array() constructor - JavaScript
buffer, byteoffset, length when called with a buffer, and optionally a byteoffset and a length argument, a new typed array view is created that views the specified
arraybuffer.
...a length var bigint64 = new bigint64array(2); bigint64[0] = 42n; console.log(bigint64[0]); // 42n console.log(bigint64.length); // 2 console.log(bigint64.bytes_per_element); // 8 // from an array var arr = new bigint64array([21n,31n]); console.log(arr[1]); // 31n // from another typedarray var x = new bigint64array([21n, 31n]); var y = new bigint64array(x); console.log(y[0]); // 21n // from an
arraybuffer var buffer = new
arraybuffer(32); var z = new bigint64array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1n, 2n, 3n]; }(); var bigint64 = new bigint64array(iterable); // bigint64array[1n, 2n, 3n] specifications specification ecmascript (ecma-262)the definition of 'bigint64array' in that specification.
BigUint64Array() constructor - JavaScript
buffer, byteoffset, length when called with a buffer, and optionally a byteoffset and a length argument, a new typed array view is created that views the specified
arraybuffer.
...var biguint64 = new biguint64array(2); biguint64[0] = 42n; console.log(biguint64[0]); // 42n console.log(biguint64.length); // 2 console.log(biguint64.bytes_per_element); // 8 // from an array var arr = new biguint64array([21n,31n]); console.log(arr[1]); // 31n // from another typedarray var x = new biguint64array([21n, 31n]); var y = new biguint64array(x); console.log(y[0]); // 21n // from an
arraybuffer var buffer = new
arraybuffer(32); var z = new biguint64array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1n, 2n, 3n]; }(); var biguint64 = new biguint64array(iterable); // biguint64array[1n, 2n, 3n] specifications specification ecmascript (ecma-262)the definition of 'biguint64array' in that specification.
DataView() constructor - JavaScript
syntax new dataview(buffer [, byteoffset [, bytelength]]) parameters buffer an existing
arraybuffer or shared
arraybuffer to use as the storage backing the new dataview object.
... examples using dataview var buffer = new
arraybuffer(16); var view = new dataview(buffer, 0); view.setint16(1, 42); view.getint16(1); // 42 specifications specification ecmascript (ecma-262)the definition of 'dataview constructor' in that specification.
DataView.prototype.buffer - JavaScript
the buffer accessor property represents the
arraybuffer or shared
arraybuffer referenced by the dataview at construction time.
... examples using the buffer property var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.buffer; //
arraybuffer { bytelength: 8 } specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.buffer' in that specification.
DataView.prototype.byteOffset - JavaScript
the byteoffset accessor property represents the offset (in bytes) of this view from the start of its
arraybuffer or shared
arraybuffer.
... examples using the byteoffset property var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.byteoffset; // 0 (no offset specified) var dataview2 = new dataview(buffer, 3); dataview2.byteoffset; // 3 (as specified when constructing the dataview) specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.byteoffset' in that specification.
Float32Array() constructor - JavaScript
buffer, byteoffset, length when called with a buffer, and optionally a byteoffset and a length argument, a new typed array view is created that views the specified
arraybuffer.
...32array // from a length var float32 = new float32array(2); float32[0] = 42; console.log(float32[0]); // 42 console.log(float32.length); // 2 console.log(float32.bytes_per_element); // 4 // from an array var arr = new float32array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new float32array([21, 31]); var y = new float32array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(16); var z = new float32array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var float32 = new float32array(iterable); // float32array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Float64Array() constructor - JavaScript
buffer, byteoffset, length when called with a buffer, and optionally a byteoffset and a length argument, a new typed array view is created that views the specified
arraybuffer.
...64array // from a length var float64 = new float64array(2); float64[0] = 42; console.log(float64[0]); // 42 console.log(float64.length); // 2 console.log(float64.bytes_per_element); // 8 // from an array var arr = new float64array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new float64array([21, 31]); var y = new float64array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(32); var z = new float64array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var float64 = new float64array(iterable); // float64array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Int16Array() constructor - JavaScript
buffer, byteoffset, length when called with a buffer, and optionally a byteoffset and a length argument, a new typed array view is created that views the specified
arraybuffer.
...s to create an int16array // from a length var int16 = new int16array(2); int16[0] = 42; console.log(int16[0]); // 42 console.log(int16.length); // 2 console.log(int16.bytes_per_element); // 2 // from an array var arr = new int16array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new int16array([21, 31]); var y = new int16array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(8); var z = new int16array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var int16 = new int16array(iterable); // int16array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Int32Array() constructor - JavaScript
buffer, byteoffset, length when called with a buffer, and optionally a byteoffset and a length argument, a new typed array view is created that views the specified
arraybuffer.
...s to create an int32array // from a length var int32 = new int32array(2); int32[0] = 42; console.log(int32[0]); // 42 console.log(int32.length); // 2 console.log(int32.bytes_per_element); // 4 // from an array var arr = new int32array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new int32array([21, 31]); var y = new int32array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(16); var z = new int32array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var int32 = new int32array(iterable); // int32array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Int8Array() constructor - JavaScript
buffer, byteoffset, length when called with a buffer, and optionally a byteoffset and a length argument, a new typed array view is created that views the specified
arraybuffer.
...ferent ways to create an int8array // from a length var int8 = new int8array(2); int8[0] = 42; console.log(int8[0]); // 42 console.log(int8.length); // 2 console.log(int8.bytes_per_element); // 1 // from an array var arr = new int8array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new int8array([21, 31]); var y = new int8array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(8); var z = new int8array(buffer, 1, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var int8 = new int8array(iterable); // int8array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Object.freeze() - JavaScript
> object.freeze(1) typeerror: 1 is not an object // es5 code > object.freeze(1) 1 // es2015 code an
arraybufferview with elements will cause a typeerror, as they are views over memory and will definitely cause other possible issues: > object.freeze(new uint8array(0)) // no elements uint8array [] > object.freeze(new uint8array(1)) // has elements typeerror: cannot freeze array buffer views with elements > object.freeze(new dataview(new
arraybuffer(32))) // no elements dataview {} > object.freeze(new flo...
...at64array(new
arraybuffer(64), 63, 0)) // no elements float64array [] > object.freeze(new float64array(new
arraybuffer(64), 32, 2)) // has elements typeerror: cannot freeze array buffer views with elements note that; as the standard three properties (buf.bytelength, buf.byteoffset and buf.buffer) are read-only (as are those of an
arraybuffer or shared
arraybuffer), there is no reason for attempting to freeze these properties.
TypedArray.prototype.buffer - JavaScript
the buffer accessor property represents the
arraybuffer referenced by a typedarray at construction time.
... examples using the buffer property var buffer = new
arraybuffer(8); var uint16 = new uint16array(buffer); uint16.buffer; //
arraybuffer { bytelength: 8 } specifications specification ecmascript (ecma-262)the definition of 'typedarray.prototype.buffer' in that specification.
TypedArray.prototype.byteLength - JavaScript
if the typedarray is not specifying an byteoffset or a length, the length of the referenced
arraybuffer will be returned.
... examples using the bytelength property var buffer = new
arraybuffer(8); var uint8 = new uint8array(buffer); uint8.bytelength; // 8 (matches the bytelength of the buffer) var uint8 = new uint8array(buffer, 1, 5); uint8.bytelength; // 5 (as specified when constructing the uint8array) var uint8 = new uint8array(buffer, 2); uint8.bytelength; // 6 (due to the offset of the constructed uint8array) specifications specification ecmascript (ecma-262)the definition of 'typedarray.prototype.bytelength' in that specification.
TypedArray.prototype.byteOffset - JavaScript
the byteoffset accessor property represents the offset (in bytes) of a typed array from the start of its
arraybuffer.
... examples using the byteoffset property var buffer = new
arraybuffer(8); var uint8 = new uint8array(buffer); uint8.byteoffset; // 0 (no offset specified) var uint8 = new uint8array(buffer, 3); uint8.byteoffset; // 3 (as specified when constructing uint8array) specifications specification ecmascript (ecma-262)the definition of 'typedarray.prototype.byteoffset' in that specification.
TypedArray.prototype.length - JavaScript
if the typedarray is not specifying an byteoffset or a length, the length of the referenced
arraybuffer will be returned.
... examples using the length property var buffer = new
arraybuffer(8); var uint8 = new uint8array(buffer); uint8.length; // 8 (matches the length of the buffer) var uint8 = new uint8array(buffer, 1, 5); uint8.length; // 5 (as specified when constructing the uint8array) var uint8 = new uint8array(buffer, 2); uint8.length; // 6 (due to the offset of the constructed uint8array) specifications specification ecmascript (ecma-262)the definition of 'typedarray.prototype.length' in that specification.
TypedArray.prototype.set() - JavaScript
typedarray if the source array is a typed array, the two arrays may share the same underlying
arraybuffer; the javascript engine will intelligently copy the source range of the buffer to the destination range.
... examples using set() var buffer = new
arraybuffer(8); var uint8 = new uint8array(buffer); uint8.set([1, 2, 3], 3); console.log(uint8); // uint8array [ 0, 0, 0, 1, 2, 3, 0, 0 ] specifications specification ecmascript (ecma-262)the definition of 'typedarray.prototype.set' in that specification.
TypedArray.prototype.subarray() - JavaScript
the subarray() method returns a new typedarray on the same
arraybuffer store and with the same element types as for this typedarray object.
... examples using the subarray method var buffer = new
arraybuffer(8); var uint8 = new uint8array(buffer); uint8.set([1,2,3]); console.log(uint8); // uint8array [ 1, 2, 3, 0, 0, 0, 0, 0 ] var sub = uint8.subarray(0,4); console.log(sub); // uint8array [ 1, 2, 3, 0 ] specifications specification ecmascript (ecma-262)the definition of 'typedarray.prototype.subarray' in that specification.
Uint16Array() constructor - JavaScript
buffer, byteoffset, length when called with a buffer, and optionally a byteoffset and a length argument, a new typed array view is created that views the specified
arraybuffer.
...te a uint16array // from a length var uint16 = new uint16array(2); uint16[0] = 42; console.log(uint16[0]); // 42 console.log(uint16.length); // 2 console.log(uint16.bytes_per_element); // 2 // from an array var arr = new uint16array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new uint16array([21, 31]); var y = new uint16array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(8); var z = new uint16array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var uint16 = new uint16array(iterable); // uint16array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Uint32Array() constructor - JavaScript
buffer, byteoffset, length when called with a buffer, and optionally a byteoffset and a length argument, a new typed array view is created that views the specified
arraybuffer.
...te a uint32array // from a length var uint32 = new uint32array(2); uint32[0] = 42; console.log(uint32[0]); // 42 console.log(uint32.length); // 2 console.log(uint32.bytes_per_element); // 4 // from an array var arr = new uint32array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new uint32array([21, 31]); var y = new uint32array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(16); var z = new uint32array(buffer, 0, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var uint32 = new uint32array(iterable); // uint32array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Uint8Array() constructor - JavaScript
buffer, byteoffset, length when called with a buffer, and optionally a byteoffset and a length argument, a new typed array view is created that views the specified
arraybuffer.
...ys to create a uint8array // from a length var uint8 = new uint8array(2); uint8[0] = 42; console.log(uint8[0]); // 42 console.log(uint8.length); // 2 console.log(uint8.bytes_per_element); // 1 // from an array var arr = new uint8array([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new uint8array([21, 31]); var y = new uint8array(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(8); var z = new uint8array(buffer, 1, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var uint8 = new uint8array(iterable); // uint8array[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
Uint8ClampedArray() constructor - JavaScript
buffer, byteoffset, length when called with a buffer, and optionally a byteoffset and a length argument, a new typed array view is created that views the specified
arraybuffer.
... = 42; uintc8[1] = 1337; console.log(uintc8[0]); // 42 console.log(uintc8[1]); // 255 (clamped) console.log(uintc8.length); // 2 console.log(uintc8.bytes_per_element); // 1 // from an array var arr = new uint8clampedarray([21,31]); console.log(arr[1]); // 31 // from another typedarray var x = new uint8clampedarray([21, 31]); var y = new uint8clampedarray(x); console.log(y[0]); // 21 // from an
arraybuffer var buffer = new
arraybuffer(8); var z = new uint8clampedarray(buffer, 1, 4); // from an iterable var iterable = function*(){ yield* [1,2,3]; }(); var uintc8 = new uint8clampedarray(iterable); // uint8clampedarray[1, 2, 3] specifications specification ecmascript (ecma-262)the definition of 'typedarray constructors' in that specification.
WebAssembly.Module() constructor - JavaScript
new webassembly.module(buffersource); parameters buffersource a typed array or
arraybuffer containing the binary code of the .wasm module you want to compile.
... examples synchronously compiling a webassembly module var importobject = { imports: { imported_func: function(arg) { console.log(arg); } } }; function createwasmmodule(bytes) { return new webassembly.module(bytes); } fetch('simple.wasm').then(response => response.
arraybuffer() ).then(bytes => { let mod = createwasmmodule(bytes); webassembly.instantiate(mod, importobject) .then(result => result.exports.exported_func() ); }) specifications specification webassembly javascript interfacethe definition of 'webassembly.module()' in that specification.
WebAssembly.Module.customSections() - JavaScript
return value a (possibly empty) array containing
arraybuffer copies of the contents of all custom sections matching sectionname.
...since there is a "name" section in the example, an
arraybuffer object is returned.
WebAssembly.compile() - JavaScript
syntax promise<webassembly.module> webassembly.compile(buffersource); parameters buffersource a typed array or
arraybuffer containing the binary code of the .wasm module you want to compile.
... var worker = new worker("wasm_worker.js"); fetch('simple.wasm').then(response => response.
arraybuffer() ).then(bytes => webassembly.compile(bytes) ).then(mod => worker.postmessage(mod) ); note: you'll probably want to use webassembly.compilestreaming() in most cases, as it is more efficient than compile().
Canvas code snippets - Archive of obsolete content
function savecanvas(canvas, path, type, options) { return task.spawn(function *() { var reader = new filereader; var blob = yield new promise(accept => canvas.toblob(accept, type, options)); reader.readas
arraybuffer(blob); yield new promise(accept => { reader.onloadend = accept }); return yield os.file.writeatomic(path, new uint8array(reader.result), { tmppath: path + '.tmp' }); }); } loading a remote page onto a canvas element the following class first creates a hidden iframe element and attaches a listener to the frame's load event.
Index - Archive of obsolete content
2007
arraybuffer.transfer()
arraybuffer, experimental, javascript, method, reference, typedarrays the static
arraybuffer.transfer() method returns a new
arraybuffer whose contents have been taken from the oldbuffer's data and then is either truncated or zero-extended by newbytelength.
ECMAScript 2015 support in Mozilla - Archive of obsolete content
arraybuffer get
arraybuffer[@@species] (firefox 48) dataview int8array uint8array uint8clampedarray int16array uint16array int32array uint32array float32array float64array get %typedarray%[@@species] (firefox 48) expressions and operators new.target (firefox 41) spread operator for arrays (firefox 16) use symbol.iterator property (firefox 36) spread operator for function calls (...
Archived JavaScript Reference - Archive of obsolete content
you can use the more general proxy object instead.
arraybuffer.transfer()the static
arraybuffer.transfer() method returns a new
arraybuffer whose contents have been taken from the oldbuffer's data and then is either truncated or zero-extended by newbytelength.
Audio for Web games - Game development
const trackels = document.queryselectorall('li'); we want to make sure each file has loaded and been decoded into a buffer before we use it, so let's create an async function to allow us to do this: async function getfile(filepath) { const response = await fetch(filepath); const
arraybuffer = await response.
arraybuffer(); const audiobuffer = await audioctx.decodeaudiodata(
arraybuffer); return audiobuffer; } we can then use the await operator when calling this function, which ensures that we can run subsequent code when it has finished executing.
Using JS in Mozilla code
arraybuffer.transfer() proposed for es2016 no, nightly-only for now shared
arraybuffer, sharedint8array..., atomics proposed for es2016 no, nightly-only for now typedobject proposed for es2016 no, nightly-only for now simd proposed for es2016 no, nightly-only for now ...
js-ctypes
using js-ctypes ctypes.open custom native file standard os libraries finding window handles working with data working with
arraybuffers declaring types declaring and calling functions declaring and using callbacks type conversion memory management chromeworker js-ctypes reference a reference guide to the js-ctypes api.
AudioBufferSourceNode.detune - Web APIs
example const audioctx = new audiocontext(); const channelcount = 2; const framecount = audioctx.samplerate * 2.0; // 2 seconds const my
arraybuffer = audioctx.createbuffer(channelcount, framecount, audioctx.samplerate); for (let channel = 0; channel < channelcount; channel++) { const nowbuffering = my
arraybuffer.getchanneldata(channel); for (let i = 0; i < framecount; i++) { nowbuffering[i] = math.random() * 2 - 1; } } const source = audioctx.createbuffersource(); source.buffer = my
arraybuffer; source.connect(audioctx.destination...
AudioBufferSourceNode.loop - Web APIs
you can run the full example live (or view the source.) function getdata() { source = audioctx.createbuffersource(); request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = '
arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; source.playbackrate.value = playbackcontrol.value; source.connect(audioctx.destination); source.loop = true; }, function(e){"error with decoding audio data" + e.err}); ...
AudioBufferSourceNode.loopEnd - Web APIs
function getdata() { source = audioctx.createbuffersource(); request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = '
arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; songlength = buffer.duration; source.buffer = mybuffer; source.playbackrate.value = playbackcontrol.value; source.connect(audioctx.destination); source.loop = true; loopstartcontrol.setattr...
AudioBufferSourceNode.loopStart - Web APIs
function getdata() { source = audioctx.createbuffersource(); request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = '
arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; songlength = buffer.duration; source.buffer = mybuffer; source.playbackrate.value = playbackcontrol.value; source.connect(audioctx.destination); source.loop = true; loopstartcontrol.setattri...
AudioBufferSourceNode.playbackRate - Web APIs
<input class="playback-rate-control" type="range" min="0.25" max="3" step="0.05" value="1"> <span class="playback-rate-value">1.0</span> function getdata() { source = audioctx.createbuffersource(); request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = '
arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; source.playbackrate.value = playbackcontrol.value; source.connect(audioctx.destination); source.loop = true; }, function(e){"error with decoding audio data" + e.err}); ...
AudioProcessingEvent - Web APIs
octx.createbuffersource(); // create a scriptprocessornode with a buffersize of 4096 and a single input and output channel var scriptnode = audioctx.createscriptprocessor(4096, 1, 1); console.log(scriptnode.buffersize); // load in an audio track via xhr and decodeaudiodata function getdata() { request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = '
arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; }, function(e){"error with decoding audio data" + e.err}); } request.send(); } // give the node a function to process audio events scriptnode.onaudioprocess = function(audioprocessingevent) { // the...
AudioWorkletGlobalScope - Web APIs
ly output silence, // which the outputs are already filled with process (inputs, outputs, parameters) { return true } } // the sample rate is not going to change ever, // because it's a read-only property of a baseaudiocontext // and is set only during its instantiation console.log(samplerate) // you can declare any variables and use them in your processors // for example it may be an
arraybuffer with a wavetable const usefulvariable = 42 console.log(usefulvariable) registerprocessor('test-processor', testprocessor) next, in our main scripts file we'll load the processor, create an instance of audioworkletnode — passing the name of the processor to it — and connect the node to an audio graph.
AuthenticatorAttestationResponse - Web APIs
authenticatorattestationresponse.attestationobject secure contextread only an
arraybuffer containing authenticator data and an attestation statement for a newly-created key pair.
AuthenticatorResponse - Web APIs
authenticatorassertionresponse authenticatorattestationresponse properties authenticatorresponse.clientdatajson a json string in an
arraybuffer, representing the client data that was passed to credentialscontainer.create() or credentialscontainer.get().
BaseAudioContext.createConvolver() - Web APIs
// grab audio track via xhr for convolver node var soundsource, concerthallbuffer; ajaxrequest = new xmlhttprequest(); ajaxrequest.open('get', 'concert-crowd.ogg', true); ajaxrequest.responsetype = '
arraybuffer'; ajaxrequest.onload = function() { var audiodata = ajaxrequest.response; audioctx.decodeaudiodata(audiodata, function(buffer) { concerthallbuffer = buffer; soundsource = audioctx.createbuffersource(); soundsource.buffer = concerthallbuffer; }, function(e){"error with decoding audio data" + e.err}); } ajaxrequest.send(); ...
BaseAudioContext.createScriptProcessor() - Web APIs
octx.createbuffersource(); // create a scriptprocessornode with a buffersize of 4096 and a single input and output channel var scriptnode = audioctx.createscriptprocessor(4096, 1, 1); console.log(scriptnode.buffersize); // load in an audio track via xhr and decodeaudiodata function getdata() { request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = '
arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; }, function(e){"error with decoding audio data" + e.err}); } request.send(); } // give the node a function to process audio events scriptnode.onaudioprocess = function(audioprocessingevent) { // the...
Blob() - Web APIs
syntax var newblob = new blob(array, options); parameters array an array of
arraybuffer,
arraybufferview, blob, usvstring objects, or a mix of any of such objects, that will be put inside the blob.
manufacturerData - Web APIs
the manufacturerdata read-only property of the bluetoothadvertisingdata interface returns a map that relates company identifier codes to
arraybuffers.
serviceData - Web APIs
the servicedata read-only property of the bluetoothadvertisingdata interface returns a map that relates uuids to
arraybuffers.
writeValue() - Web APIs
the bluetoothremotegattdescriptor.writevalue() method sets the value property to the bytes contained in an
arraybuffer and returns a promise.
BufferSource - Web APIs
buffersource is a typedef used to represent objects that are either themselves an
arraybuffer, or which are a typedarray providing an
arraybufferview.
ConvolverNode.buffer - Web APIs
// grab audio track via xhr for convolver node var soundsource, concerthallbuffer; ajaxrequest = new xmlhttprequest(); ajaxrequest.open('get', 'concert-crowd.ogg', true); ajaxrequest.responsetype = '
arraybuffer'; ajaxrequest.onload = function() { var audiodata = ajaxrequest.response; audioctx.decodeaudiodata(audiodata, function(buffer) { concerthallbuffer = buffer; soundsource = audioctx.createbuffersource(); soundsource.buffer = concerthallbuffer; }, function(e){"error with decoding audio data" + e.err}); } ajaxrequest.send(); ...
ConvolverNode.normalize - Web APIs
// grab audio track via xhr for convolver node var soundsource, concerthallbuffer; ajaxrequest = new xmlhttprequest(); ajaxrequest.open('get', 'concert-crowd.ogg', true); ajaxrequest.responsetype = '
arraybuffer'; ajaxrequest.onload = function() { var audiodata = ajaxrequest.response; audioctx.decodeaudiodata(audiodata, function(buffer) { concerthallbuffer = buffer; soundsource = audioctx.createbuffersource(); soundsource.buffer = concerthallbuffer; }, function(e){"error with decoding audio data" + e.err}); } ajaxrequest.send(); ...
ConvolverNode - Web APIs
let audioctx = new window.audiocontext(); async function createreverb() { let convolver = audioctx.createconvolver(); // load impulse response from file let response = await fetch("path/to/impulse-response.wav"); let
arraybuffer = await response.
arraybuffer(); convolver.buffer = await audioctx.decodeaudiodata(
arraybuffer); return convolver; } ...
File.File() - Web APIs
syntax new file(bits, name[, options]); parameters bits an array of
arraybuffer,
arraybufferview, blob, usvstring objects, or a mix of any of such objects, that will be put inside the file.
File.getAsBinary() - Web APIs
note: this method is obsolete; you should use the filereader method readasbinarystring() or readas
arraybuffer() instead.
FileReader.onload - Web APIs
the filereader.onload property contains an event handler executed when the load event is fired, when content read with readas
arraybuffer, readasbinarystring, readasdataurl or readastext is available.
FileReader - Web APIs
filereader.readas
arraybuffer() starts reading the contents of the specified blob, once finished, the result attribute contains an
arraybuffer representing the file's data.
FontFace - Web APIs
constructor fontface() constructs and returns a new fontface object, built from an external resource described by an url or from an
arraybuffer.
LockedFile - Web APIs
lockedfile.readas
arraybuffer() allows to retrieve a part of the content of the file as an
arraybuffer.
message - Web APIs
the mediakeymessageevent.message read-only property returns an
arraybuffer with a message from the content decryption module.
MediaSource - Web APIs
(mimecodec); fetchab(asseturl, function (buf) { sourcebuffer.addeventlistener('updateend', function (_) { mediasource.endofstream(); video.play(); //console.log(mediasource.readystate); // ended }); sourcebuffer.appendbuffer(buf); }); }; function fetchab (url, cb) { console.log(url); var xhr = new xmlhttprequest; xhr.open('get', url); xhr.responsetype = '
arraybuffer'; xhr.onload = function () { cb(xhr.response); }; xhr.send(); }; specifications specification status comment media source extensionsthe definition of 'mediasource' in that specification.
OfflineAudioContext.startRendering() - Web APIs
and offline audio context var audioctx = new audiocontext(); var offlinectx = new offlineaudiocontext(2,44100*40,44100); source = offlinectx.createbuffersource(); // use xhr to load an audio track, and // decodeaudiodata to decode it and offlineaudiocontext to render it function getdata() { request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = '
arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; source.connect(offlinectx.destination); source.start(); //source.loop = true; offlinectx.startrendering().then(function(renderedbuffer) { console.log('rendering completed succes...
OfflineAudioContext - Web APIs
and offline audio context var audioctx = new audiocontext(); var offlinectx = new offlineaudiocontext(2,44100*40,44100); source = offlinectx.createbuffersource(); // use xhr to load an audio track, and // decodeaudiodata to decode it and offlineaudiocontext to render it function getdata() { request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = '
arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; source.connect(offlinectx.destination); source.start(); //source.loop = true; offlinectx.startrendering().then(function(renderedbuffer) { console.log('rendering completed succes...
PublicKeyCredential - Web APIs
publickeycredential.rawid read only secure context an
arraybuffer that holds the globally unique identifier for this publickeycredential.
PushManager.subscribe() - Web APIs
applicationserverkey: a base64-encoded domstring or
arraybuffer containing an ecdsa p-256 public key that the push server will use to authenticate your application server.
PushSubscription - Web APIs
methods pushsubscription.getkey() returns an
arraybuffer which contains the client's public key, which can then be sent to a server and used in encrypting push message data.
RTCDataChannel - Web APIs
values allowed by the websocket.binarytype property are also permitted here: "blob" if blob objects are being used or "
arraybuffer" if
arraybuffer objects are being used.
ReadableStream.ReadableStream() - Web APIs
with this turned on, the stream implementation will automatically allocate an
arraybuffer with a size of the given integer, and the consumer can also use a default reader.
ScriptProcessorNode.bufferSize - Web APIs
octx.createbuffersource(); // create a scriptprocessornode with a buffersize of 4096 and a single input and output channel var scriptnode = audioctx.createscriptprocessor(4096, 1, 1); console.log(scriptnode.buffersize); // load in an audio track via xhr and decodeaudiodata function getdata() { request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = '
arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; }, function(e){"error with decoding audio data" + e.err}); } request.send(); } // give the node a function to process audio events scriptnode.onaudioprocess = function(audioprocessingevent) { // the in...
ScriptProcessorNode.onaudioprocess - Web APIs
octx.createbuffersource(); // create a scriptprocessornode with a buffersize of 4096 and a single input and output channel var scriptnode = audioctx.createscriptprocessor(4096, 1, 1); console.log(scriptnode.buffersize); // load in an audio track via xhr and decodeaudiodata function getdata() { request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = '
arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; }, function(e){"error with decoding audio data" + e.err}); } request.send(); } // give the node a function to process audio events scriptnode.onaudioprocess = function(audioprocessingevent) { // the...
ScriptProcessorNode - Web APIs
octx.createbuffersource(); // create a scriptprocessornode with a buffersize of 4096 and a single input and output channel var scriptnode = audioctx.createscriptprocessor(4096, 1, 1); console.log(scriptnode.buffersize); // load in an audio track via xhr and decodeaudiodata function getdata() { request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = '
arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; }, function(e){"error with decoding audio data" + e.err}); } request.send(); } // give the node a function to process audio events scriptnode.onaudioprocess = function(audioprocessingevent) { // the in...
Using writable streams - Web APIs
the constructor call in our example looks like this: const decoder = new textdecoder("utf-8"); const queuingstrategy = new countqueuingstrategy({ highwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new
arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listite...
TextDecoder.prototype.decode() - Web APIs
syntax b1 = decoder.decode(buffer, options); b2 = decoder.decode(buffer); b3 = decoder.decode(); parameters buffer optional is either an
arraybuffer or an
arraybufferview containing the text to decode.
Transferable - Web APIs
the
arraybuffer, messageport, imagebitmap and offscreencanvas types implement this interface.
TransformStream - Web APIs
async transform(chunk, controller) { chunk = await chunk switch (typeof chunk) { case 'object': // just say the stream is done i guess if (chunk === null) controller.terminate() else if (
arraybuffer.isview(chunk)) controller.enqueue(new uint8array(chunk.buffer, chunk.byteoffset, chunk.bytelength)) else if (array.isarray(chunk) && chunk.every(value => typeof value === 'number')) controller.enqueue(new uint8array(chunk)) else if ('function' === typeof chunk.valueof && chunk.valueof() !== chunk) this.transform(chunk.valueof(), controller) // hack ...
WEBGL_compressed_texture_astc - Web APIs
constants blocks bits per pixel
arraybuffer bytelength bytes if height and width are 512 ext.compressed_rgba_astc_4x4_khr ext.compressed_srgb8_alpha8_astc_4x4_khr 4x4 8.00 floor((width + 3) / 4) * floor((height + 3) / 4) * 16 262144 ext.compressed_rgba_astc_5x4_khr ext.compressed_srgb8_alpha8_astc_5x4_khr 5x4 6.40 floor((width + 4) / 5) * floor((height + 3) / 4) * 16 210944 ext...
Compressed texture formats - Web APIs
no examples async function getcompressedtextureifavailable(gl) { const texture = gl.createtexture(); gl.bindtexture(gl.texture_2d, texture); // create texture object on gpu const ext = gl.getextension('webgl_compressed_texture_s3tc'); // will be null if not supported if (ext) { // the file is already in the correct compressed format const data
arraybuffer = await fetch('/textures/foobar512x512.rgba_s3tc_dxt1') .then(response => response.
arraybuffer()); gl.compressedteximage2d(gl.texture_2d, 0, // set the base image level ext.compressed_rgba_s3tc_dxt1_ext, // the compressed format we are using 512, 512, // width, height of the image 0, // border, always 0 new dataview(data
arraybuffer)); gl.generatemipmap(...
Writing WebSocket client applications - Web APIs
to do this, simply call the websocket object's send() method for each message you want to send: examplesocket.send("here's some text that the server is urgently awaiting!"); you can send data as a string, blob, or
arraybuffer.
Advanced techniques: Creating and sequencing audio - Web APIs
loading the sample we want to make sure our file has loaded and been decoded into a buffer before we use it, so let's create an async function to allow us to do this: async function getfile(audiocontext, filepath) { const response = await fetch(filepath); const
arraybuffer = await response.
arraybuffer(); const audiobuffer = await audiocontext.decodeaudiodata(
arraybuffer); return audiobuffer; } we can then use the await operator when calling this function, which ensures that we can only run subsequent code when it has finished executing.
Web Authentication API - Web APIs
the publickeycredential is sent back to the server using any desired formatting and protocol (note that the
arraybuffer properties need to be be base64 encoded or similar).
Using Web Workers - Web APIs
for example, when transferring an
arraybuffer from your main app to a worker script, the original
arraybuffer is cleared and no longer usable.
WindowOrWorkerGlobalScope.queueMicrotask() - Web APIs
examples self.queuemicrotask(() => { // function contents here }) taken from the queuemicrotask spec: myelement.prototype.loaddata = function (url) { if (this._cache[url]) { queuemicrotask(() => { this._setdata(this._cache[url]); this.dispatchevent(new event("load")); }); } else { fetch(url).then(res => res.
arraybuffer()).then(data => { this._cache[url] = data; this._setdata(data); this.dispatchevent(new event("load")); }); } }; when queuemicrotask() isn't available the code below is basically a monkey-patch for queuemicrotask() for modern engines.
WindowOrWorkerGlobalScope - Web APIs
windoworworkerglobalscope.crossoriginisolated read only returns a boolean value that indicates whether a shared
arraybuffer can be sent via a window.postmessage() call.
WorkerGlobalScope.self - Web APIs
��} infinity: infinity array: function array() { [native code] } arguments: null caller: null isarray: function isarray() { [native code] } length: 1 name: "array" observe: function observe() { [native code] } prototype: array[0] unobserve: function unobserve() { [native code] } __proto__: function empty() {} <function scope>
arraybuffer: function
arraybuffer() { [native code] } blob: function blob() { [native code] } boolean: function boolean() { [native code] } dataview: function dataview() { [native code] } date: function date() { [native code] } dedicatedworkerglobalscope: function dedicatedworkerglobalscope() { [native code] } error: function error() { [native code] } // etc.
WritableStream.WritableStream() - Web APIs
onsole.log("all chunks written"); }) .catch((err) => { console.log("stream error:", err); }); } const decoder = new textdecoder("utf-8"); const queuingstrategy = new countqueuingstrategy({ highwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new
arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listite...
WritableStream.getWriter() - Web APIs
onsole.log("all chunks written"); }) .catch((err) => { console.log("stream error:", err); }); } const decoder = new textdecoder("utf-8"); const queuingstrategy = new countqueuingstrategy({ highwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new
arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listite...
WritableStream - Web APIs
onsole.log("all chunks written"); }) .catch((err) => { console.log("stream error:", err); }); } const decoder = new textdecoder("utf-8"); const queuingstrategy = new countqueuingstrategy({ highwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new
arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listite...
WritableStreamDefaultWriter.WritableStreamDefaultWriter() - Web APIs
onsole.log("all chunks written"); }) .catch((err) => { console.log("stream error:", err); }); } const decoder = new textdecoder("utf-8"); const queuingstrategy = new countqueuingstrategy({ highwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new
arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listite...
WritableStreamDefaultWriter.close() - Web APIs
onsole.log("all chunks written"); }) .catch((err) => { console.log("stream error:", err); }); } const decoder = new textdecoder("utf-8"); const queuingstrategy = new countqueuingstrategy({ highwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new
arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listite...
WritableStreamDefaultWriter.write() - Web APIs
onsole.log("all chunks written"); }) .catch((err) => { console.log("stream error:", err); }); } const decoder = new textdecoder("utf-8"); const queuingstrategy = new countqueuingstrategy({ highwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new
arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listite...
WritableStreamDefaultWriter - Web APIs
ll chunks written"); }) .catch((err) => { console.log("stream error:", err); }); } const decoder = new textdecoder("utf-8"); const queuingstrategy = new countqueuingstrategy({ highwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new
arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li');...
Web APIs
a angle_instanced_arrays abortcontroller abortsignal absoluteorientationsensor abstractrange abstractworker accelerometer addresserrors aescbcparams aesctrparams aesgcmparams aeskeygenparams ambientlightsensor analysernode animation animationeffect animationevent animationplaybackevent animationtimeline
arraybufferview attr audiobuffer audiobuffersourcenode audioconfiguration audiocontext audiocontextlatencycategory audiocontextoptions audiodestinationnode audiolistener audionode audionodeoptions audioparam audioparamdescriptor audioparammap audioprocessingevent audioscheduledsourcenode audiotrack audiotracklist audioworklet audioworkletglobalscope audioworkletnode audioworkletnodeoptions audioworkl...
Audio and Video Delivery - Developer guides
web audio api var context; var request; var source; try { context = new audiocontext(); request = new xmlhttprequest(); request.open("get","http://jplayer.org/audio/mp3/riomez-01-sleep_together.mp3",true); request.responsetype = "
arraybuffer"; request.onload = function() { context.decodeaudiodata(request.response, function(buffer) { source = context.createbuffersource(); source.buffer = buffer; source.connect(context.destination); // auto play source.start(0); // start was previously noteon }); }; request.send(); } catch(e) { alert('web audio api not supported')...
Equality comparisons and sameness - JavaScript
there are four equality algorithms in es2015: abstract equality comparison (==) strict equality comparison (===): used by array.prototype.indexof, array.prototype.lastindexof, and case-matching samevaluezero: used by %typedarray% and
arraybuffer constructors, as well as map and set operations, and also string.prototype.includes and array.prototype.includes since es2016 samevalue: used in all other places javascript provides three different value-comparison operations: === - strict equality comparison ("strict equality", "identity", "triple equals") == - abstract equality comparison ("loose equality", "double equals") object.is provides samevalue (new in es2015).
Atomics.add() - JavaScript
examples using add() const sab = new shared
arraybuffer(1024); const ta = new uint8array(sab); atomics.add(ta, 0, 12); // returns 0, the old value atomics.load(ta, 0); // 12 specifications specification ecmascript (ecma-262)the definition of 'atomics.add' in that specification.
Atomics.and() - JavaScript
5 0101 1 0001 ---- 1 0001 examples using and() const sab = new shared
arraybuffer(1024); const ta = new uint8array(sab); ta[0] = 5; atomics.and(ta, 0, 1); // returns 0, the old value atomics.load(ta, 0); // 1 specifications specification ecmascript (ecma-262)the definition of 'atomics.and' in that specification.
Atomics.compareExchange() - JavaScript
examples using compareexchange() const sab = new shared
arraybuffer(1024); const ta = new uint8array(sab); ta[0] = 7; atomics.compareexchange(ta, 0, 7, 12); // returns 7, the old value atomics.load(ta, 0); // 12 specifications specification ecmascript (ecma-262)the definition of 'atomics.compareexchange' in that specification.
Atomics.exchange() - JavaScript
examples using exchange() const sab = new shared
arraybuffer(1024); const ta = new uint8array(sab); atomics.exchange(ta, 0, 12); // returns 0, the old value atomics.load(ta, 0); // 12 specifications specification ecmascript (ecma-262)the definition of 'atomics.exchange' in that specification.
Atomics.load() - JavaScript
examples using load const sab = new shared
arraybuffer(1024); const ta = new uint8array(sab); atomics.add(ta, 0, 12); atomics.load(ta, 0); // 12 specifications specification ecmascript (ecma-262)the definition of 'atomics.load' in that specification.
Atomics.or() - JavaScript
5 0101 1 0001 ---- 5 0101 examples using or const sab = new shared
arraybuffer(1024); const ta = new uint8array(sab); ta[0] = 2; atomics.or(ta, 0, 1); // returns 2, the old value atomics.load(ta, 0); // 3 specifications specification ecmascript (ecma-262)the definition of 'atomics.or' in that specification.
Atomics.store() - JavaScript
examples using store() var sab = new shared
arraybuffer(1024); var ta = new uint8array(sab); atomics.store(ta, 0, 12); // 12 specifications specification ecmascript (ecma-262)the definition of 'atomics.store' in that specification.
Atomics.sub() - JavaScript
examples using sub const sab = new shared
arraybuffer(1024); const ta = new uint8array(sab); ta[0] = 48; atomics.sub(ta, 0, 12); // returns 48, the old value atomics.load(ta, 0); // 36 specifications specification ecmascript (ecma-262)the definition of 'atomics.sub' in that specification.
Atomics.wait() - JavaScript
examples using wait() given a shared int32array: const sab = new shared
arraybuffer(1024); const int32 = new int32array(sab); a reading thread is sleeping and waiting on location 0 which is expected to be 0.
Atomics.xor() - JavaScript
5 0101 1 0001 ---- 4 0100 examples using xor const sab = new shared
arraybuffer(1024); const ta = new uint8array(sab); ta[0] = 5; atomics.xor(ta, 0, 1); // returns 5, the old value atomics.load(ta, 0); // 4 specifications specification ecmascript (ecma-262)the definition of 'atomics.xor' in that specification.
DataView.prototype.getBigInt64() - JavaScript
examples using the getbigint64 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.getbigint64(0); // 0n specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.getbigint64()' in that specification.
DataView.prototype.getBigUint64() - JavaScript
examples using the getbiguint64 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.getbiguint64(0); // 0n specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.getbiguint64()' in that specification.
DataView.prototype.getFloat32() - JavaScript
examples using the getfloat32 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.getfloat32(1); // 0 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.getfloat32' in that specification.
DataView.prototype.getFloat64() - JavaScript
examples using the getfloat64 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.getfloat64(0); // 0 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.getfloat64' in that specification.
DataView.prototype.getInt16() - JavaScript
examples using the getint16 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.getint16(1); // 0 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.getint16' in that specification.
DataView.prototype.getInt32() - JavaScript
examples using the getint32 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.getint32(1); // 0 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.getint32' in that specification.
DataView.prototype.getInt8() - JavaScript
examples using the getint8 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.getint8(1); // 0 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.getint8' in that specification.
DataView.prototype.getUint16() - JavaScript
examples using the getuint16 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.getuint16(1); // 0 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.getuint16' in that specification.
DataView.prototype.getUint32() - JavaScript
examples using the getuint32 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.getuint32(1); // 0 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.getuint32' in that specification.
DataView.prototype.getUint8() - JavaScript
examples using the getuint8 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.getuint8(1); // 0 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.getuint8' in that specification.
DataView.prototype.setBigInt64() - JavaScript
examples using the setbigint64 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.setbigint64(0, 3n); dataview.getbigint64(0); // 3n specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.setbigint64()' in that specification.
DataView.prototype.setBigUint64() - JavaScript
examples using the setbiguint64 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.setbiguint64(0, 3n); dataview.getbiguint64(0); // 3n specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.setbiguint64()' in that specification.
DataView.prototype.setFloat32() - JavaScript
examples using the setfloat32 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.setfloat32(1, 3); dataview.getfloat32(1); // 3 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.setfloat32' in that specification.
DataView.prototype.setFloat64() - JavaScript
examples using the setfloat64 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.setfloat64(0, 3); dataview.getfloat64(0); // 3 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.setfloat64' in that specification.
DataView.prototype.setInt16() - JavaScript
examples using the setint16 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.setint16(1, 3); dataview.getint16(1); // 3 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.setint16' in that specification.
DataView.prototype.setInt32() - JavaScript
examples using the setint32 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.setint32(1, 3); dataview.getint32(1); // 3 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.setint32' in that specification.
DataView.prototype.setInt8() - JavaScript
examples using the setint8 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.setint8(1, 3); dataview.getint8(1); // 3 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.setint8' in that specification.
DataView.prototype.setUint16() - JavaScript
examples using the setuint16 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.setuint16(1, 3); dataview.getuint16(1); // 3 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.setuint16' in that specification.
DataView.prototype.setUint32() - JavaScript
examples using the setuint32 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.setuint32(1, 3); dataview.getuint32(1); // 3 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.setuint32' in that specification.
DataView.prototype.setUint8() - JavaScript
examples using the setuint8 method var buffer = new
arraybuffer(8); var dataview = new dataview(buffer); dataview.setuint8(1, 3); dataview.getuint8(1); // 3 specifications specification ecmascript (ecma-262)the definition of 'dataview.prototype.setuint8' in that specification.
TypedArray.prototype.copyWithin() - JavaScript
examples using copywithin var buffer = new
arraybuffer(8); var uint8 = new uint8array(buffer); uint8.set([1,2,3]); console.log(uint8); // uint8array [ 1, 2, 3, 0, 0, 0, 0, 0 ] uint8.copywithin(3,0,3); console.log(uint8); // uint8array [ 1, 2, 3, 1, 2, 3, 0, 0 ] specifications specification ecmascript (ecma-262)the definition of 'typedarray.prototype.copywithin' in that specification.
WebAssembly.Instance() constructor - JavaScript
examples synchronously instantiating a webassembly module the webassembly.instance() constructor function can be called to synchronously instantiate a given webassembly.module object, for example: const importobject = { imports: { imported_func: function(arg) { console.log(arg); } } }; fetch('simple.wasm').then(response => response.
arraybuffer() ).then(bytes => { let mod = new webassembly.module(bytes); let instance = new webassembly.instance(mod, importobject); instance.exports.exported_func(); }) however, the preferred way to get an instance is through the asynchronous webassembly.instantiatestreaming() function, for example like this: const importobject = { imports: { imported_func: function(arg) { console.log(ar...
WebAssembly.Instance - JavaScript
examples synchronously instantiating a webassembly module the webassembly.instance() constructor function can be called to synchronously instantiate a given webassembly.module object, for example: const importobject = { imports: { imported_func: function(arg) { console.log(arg); } } }; fetch('simple.wasm').then(response => response.
arraybuffer() ).then(bytes => { let mod = new webassembly.module(bytes); let instance = new webassembly.instance(mod, importobject); instance.exports.exported_func(); }) the preferred way to get an instance is asynchronously, for example using the webassembly.instantiatestreaming() function like this: const importobject = { imports: { imported_func: function(arg) { console.log(arg); }...
WebAssembly - JavaScript
webassembly.memory() an object whose buffer property is a resizable
arraybuffer that holds the raw bytes of memory accessed by a webassembly instance.
Standard built-in objects - JavaScript
arraybuffer shared
arraybuffer atomics dataview json control abstraction objects control abstractions can help to structure code, especially async code (without using deeply nested callbacks, for example).
JavaScript reference - JavaScript
taxerror typeerror urierror numbers & dates number bigint math date text processing string regexp indexed collections array int8array uint8array uint8clampedarray int16array uint16array int32array uint32array float32array float64array bigint64array biguint64array keyed collections map set weakmap weakset structured data
arraybuffer shared
arraybuffer atomics dataview json control abstraction promise generator generatorfunction asyncfunction reflection reflect proxy internationalization intl intl.collator intl.datetimeformat intl.displaynames intl.listformat intl.locale intl.numberformat intl.pluralrules intl.relativetimeformat webassembly webassembly ...
WebAssembly Concepts - WebAssembly
memory: a resizable
arraybuffer that contains the linear array of bytes read and written by webassembly’s low-level memory access instructions.
WebAssembly
webassembly.memory() a webassembly.memory object is a resizable
arraybuffer that holds the raw bytes of memory accessed by an instance.