util.js
 1  function isBrowser() {
 2      return typeof window !== 'undefined';
 3  }
 4  
 5  function isNode() {
 6      return typeof window === 'undefined';
 7  }
 8  
 9  function nodeBufferToArrayBuffer(buffer) {
10      const ab = new ArrayBuffer(buffer.length);
11      const view = new Uint8Array(ab);
12      for (let i = 0; i < buffer.length; ++i) {
13          view[i] = buffer[i];
14      }
15  
16      return ab;
17  }
18  
19  function arrayBufferToNodeBuffer(ab) {
20      const buffer = new Buffer(ab.byteLength);
21      const view = new Uint8Array(ab);
22      for (let i = 0; i < buffer.length; ++i) {
23          buffer[i] = view[i];
24      }
25  
26      return buffer;
27  }
28  
29  function checkArgument(expression, message) {
30      if (!expression) {
31          throw message;
32      }
33  }
34  
35  export { isBrowser, isNode, nodeBufferToArrayBuffer, arrayBufferToNodeBuffer, checkArgument };