aboutsummaryrefslogtreecommitdiff
path: root/node_modules/discord.js/src/util/ConvertArrayBuffer.js
blob: 26b1cc8b783f54e6885c638c6cae7abd61a7c95c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function arrayBufferToBuffer(ab) {
  const buffer = new Buffer(ab.byteLength);
  const view = new Uint8Array(ab);
  for (var i = 0; i < buffer.length; ++i) buffer[i] = view[i];
  return buffer;
}

function str2ab(str) {
  const buffer = new ArrayBuffer(str.length * 2);
  const view = new Uint16Array(buffer);
  for (var i = 0, strLen = str.length; i < strLen; i++) view[i] = str.charCodeAt(i);
  return buffer;
}

module.exports = function convertArrayBuffer(x) {
  if (typeof x === 'string') x = str2ab(x);
  return arrayBufferToBuffer(x);
};