dataView.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. exports = {
  2. getInt8: function(buf, offset) {
  3. return (buf[offset] << 24) >> 24;
  4. },
  5. getInt16: function(buf, offset, le) {
  6. if (le) {
  7. return ((buf[offset] | (buf[offset + 1] << 8)) << 16) >> 16;
  8. } else {
  9. return (((buf[offset] << 8) | buf[offset + 1]) << 16) >> 16;
  10. }
  11. },
  12. setInt16: function(buf, offset, val, le) {
  13. if (le) {
  14. buf[offset] = val;
  15. buf[offset + 1] = val >> 8;
  16. } else {
  17. buf[offset] = val >> 8;
  18. buf[offset + 1] = val;
  19. }
  20. },
  21. getUint16: function(buf, offset, le) {
  22. if (le) {
  23. return buf[offset] | (buf[offset + 1] << 8);
  24. } else {
  25. return buf[offset + 1] | (buf[offset] << 8);
  26. }
  27. },
  28. setUint16: function(buf, offset, val, le) {
  29. if (le) {
  30. buf[offset] = val;
  31. buf[offset + 1] = val >> 8;
  32. } else {
  33. buf[offset] = val >> 8;
  34. buf[offset + 1] = val;
  35. }
  36. },
  37. getInt32: function(buf, offset, le) {
  38. if (le) {
  39. return (
  40. buf[offset] |
  41. (buf[offset + 1] << 8) |
  42. (buf[offset + 2] << 16) |
  43. (buf[offset + 3] << 24)
  44. );
  45. } else {
  46. return (
  47. (buf[offset] << 24) |
  48. (buf[offset + 1] << 16) |
  49. (buf[offset + 2] << 8) |
  50. buf[offset + 3]
  51. );
  52. }
  53. },
  54. setInt32: function(buf, offset, val, le) {
  55. if (le) {
  56. buf[offset] = val;
  57. buf[offset + 1] = val >> 8;
  58. buf[offset + 2] = val >> 16;
  59. buf[offset + 3] = val >> 24;
  60. } else {
  61. buf[offset] = val >> 24;
  62. buf[offset + 1] = val >> 16;
  63. buf[offset + 2] = val >> 8;
  64. buf[offset + 3] = val;
  65. }
  66. },
  67. getUint32: function(buf, offset, le) {
  68. return this.getInt32(buf, offset, le) >>> 0;
  69. },
  70. setUint32: function(buf, offset, val, le) {
  71. this.setInt32(buf, offset, val, le);
  72. }
  73. };
  74. module.exports = exports;