프로젝트

일반

사용자정보

통계
| 개정판:

root / HServer / 00.Server / 00.Program / node_modules / safe-buffer / index.js

이력 | 보기 | 이력해설 | 다운로드 (1.49 KB)

1 39 HKM
/* eslint-disable node/no-deprecated-api */
2
var buffer = require('buffer')
3
var Buffer = buffer.Buffer
4
5
// alternative to using Object.keys for old browsers
6
function copyProps (src, dst) {
7
  for (var key in src) {
8
    dst[key] = src[key]
9
  }
10
}
11
if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {
12
  module.exports = buffer
13
} else {
14
  // Copy properties from require('buffer')
15
  copyProps(buffer, exports)
16
  exports.Buffer = SafeBuffer
17
}
18
19
function SafeBuffer (arg, encodingOrOffset, length) {
20
  return Buffer(arg, encodingOrOffset, length)
21
}
22
23
// Copy static methods from Buffer
24
copyProps(Buffer, SafeBuffer)
25
26
SafeBuffer.from = function (arg, encodingOrOffset, length) {
27
  if (typeof arg === 'number') {
28
    throw new TypeError('Argument must not be a number')
29
  }
30
  return Buffer(arg, encodingOrOffset, length)
31
}
32
33
SafeBuffer.alloc = function (size, fill, encoding) {
34
  if (typeof size !== 'number') {
35
    throw new TypeError('Argument must be a number')
36
  }
37
  var buf = Buffer(size)
38
  if (fill !== undefined) {
39
    if (typeof encoding === 'string') {
40
      buf.fill(fill, encoding)
41
    } else {
42
      buf.fill(fill)
43
    }
44
  } else {
45
    buf.fill(0)
46
  }
47
  return buf
48
}
49
50
SafeBuffer.allocUnsafe = function (size) {
51
  if (typeof size !== 'number') {
52
    throw new TypeError('Argument must be a number')
53
  }
54
  return Buffer(size)
55
}
56
57
SafeBuffer.allocUnsafeSlow = function (size) {
58
  if (typeof size !== 'number') {
59
    throw new TypeError('Argument must be a number')
60
  }
61
  return buffer.SlowBuffer(size)
62
}