diff options
Diffstat (limited to 'node_modules/buffer-shims')
| -rw-r--r-- | node_modules/buffer-shims/index.js | 108 | ||||
| -rw-r--r-- | node_modules/buffer-shims/license.md | 19 | ||||
| -rw-r--r-- | node_modules/buffer-shims/package.json | 18 | ||||
| -rw-r--r-- | node_modules/buffer-shims/readme.md | 21 | 
4 files changed, 166 insertions, 0 deletions
diff --git a/node_modules/buffer-shims/index.js b/node_modules/buffer-shims/index.js new file mode 100644 index 000000000..1cab4c05e --- /dev/null +++ b/node_modules/buffer-shims/index.js @@ -0,0 +1,108 @@ +'use strict'; + +var buffer = require('buffer'); +var Buffer = buffer.Buffer; +var SlowBuffer = buffer.SlowBuffer; +var MAX_LEN = buffer.kMaxLength || 2147483647; +exports.alloc = function alloc(size, fill, encoding) { +  if (typeof Buffer.alloc === 'function') { +    return Buffer.alloc(size, fill, encoding); +  } +  if (typeof encoding === 'number') { +    throw new TypeError('encoding must not be number'); +  } +  if (typeof size !== 'number') { +    throw new TypeError('size must be a number'); +  } +  if (size > MAX_LEN) { +    throw new RangeError('size is too large'); +  } +  var enc = encoding; +  var _fill = fill; +  if (_fill === undefined) { +    enc = undefined; +    _fill = 0; +  } +  var buf = new Buffer(size); +  if (typeof _fill === 'string') { +    var fillBuf = new Buffer(_fill, enc); +    var flen = fillBuf.length; +    var i = -1; +    while (++i < size) { +      buf[i] = fillBuf[i % flen]; +    } +  } else { +    buf.fill(_fill); +  } +  return buf; +} +exports.allocUnsafe = function allocUnsafe(size) { +  if (typeof Buffer.allocUnsafe === 'function') { +    return Buffer.allocUnsafe(size); +  } +  if (typeof size !== 'number') { +    throw new TypeError('size must be a number'); +  } +  if (size > MAX_LEN) { +    throw new RangeError('size is too large'); +  } +  return new Buffer(size); +} +exports.from = function from(value, encodingOrOffset, length) { +  if (typeof Buffer.from === 'function' && (!global.Uint8Array || Uint8Array.from !== Buffer.from)) { +    return Buffer.from(value, encodingOrOffset, length); +  } +  if (typeof value === 'number') { +    throw new TypeError('"value" argument must not be a number'); +  } +  if (typeof value === 'string') { +    return new Buffer(value, encodingOrOffset); +  } +  if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { +    var offset = encodingOrOffset; +    if (arguments.length === 1) { +      return new Buffer(value); +    } +    if (typeof offset === 'undefined') { +      offset = 0; +    } +    var len = length; +    if (typeof len === 'undefined') { +      len = value.byteLength - offset; +    } +    if (offset >= value.byteLength) { +      throw new RangeError('\'offset\' is out of bounds'); +    } +    if (len > value.byteLength - offset) { +      throw new RangeError('\'length\' is out of bounds'); +    } +    return new Buffer(value.slice(offset, offset + len)); +  } +  if (Buffer.isBuffer(value)) { +    var out = new Buffer(value.length); +    value.copy(out, 0, 0, value.length); +    return out; +  } +  if (value) { +    if (Array.isArray(value) || (typeof ArrayBuffer !== 'undefined' && value.buffer instanceof ArrayBuffer) || 'length' in value) { +      return new Buffer(value); +    } +    if (value.type === 'Buffer' && Array.isArray(value.data)) { +      return new Buffer(value.data); +    } +  } + +  throw new TypeError('First argument must be a string, Buffer, ' + 'ArrayBuffer, Array, or array-like object.'); +} +exports.allocUnsafeSlow = function allocUnsafeSlow(size) { +  if (typeof Buffer.allocUnsafeSlow === 'function') { +    return Buffer.allocUnsafeSlow(size); +  } +  if (typeof size !== 'number') { +    throw new TypeError('size must be a number'); +  } +  if (size >= MAX_LEN) { +    throw new RangeError('size is too large'); +  } +  return new SlowBuffer(size); +} diff --git a/node_modules/buffer-shims/license.md b/node_modules/buffer-shims/license.md new file mode 100644 index 000000000..01cfaefe2 --- /dev/null +++ b/node_modules/buffer-shims/license.md @@ -0,0 +1,19 @@ +# Copyright (c) 2016 Calvin Metcalf + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.** diff --git a/node_modules/buffer-shims/package.json b/node_modules/buffer-shims/package.json new file mode 100644 index 000000000..be34aa460 --- /dev/null +++ b/node_modules/buffer-shims/package.json @@ -0,0 +1,18 @@ +{ +  "name": "buffer-shims", +  "version": "1.0.0", +  "description": "some shims for node buffers", +  "main": "index.js", +  "scripts": { +    "test": "tape test/*.js" +  }, +  "files": ["index.js"], +  "license": "MIT", +  "devDependencies": { +    "tape": "^4.5.1" +  }, +  "repository": { +    "type": "git", +    "url": "git@github.com:calvinmetcalf/buffer-shims.git" +  } +} diff --git a/node_modules/buffer-shims/readme.md b/node_modules/buffer-shims/readme.md new file mode 100644 index 000000000..7ea6475e2 --- /dev/null +++ b/node_modules/buffer-shims/readme.md @@ -0,0 +1,21 @@ +buffer-shims +=== + +functions to make sure the new buffer methods work in older browsers. + +```js +var bufferShim = require('buffer-shims'); +bufferShim.from('foo'); +bufferShim.alloc(9, 'cafeface', 'hex'); +bufferShim.allocUnsafe(15); +bufferShim.allocUnsafeSlow(21); +``` + +should just use the original  in newer nodes and on older nodes uses fallbacks. + +Known Issues +=== +- this does not patch the buffer object, only the constructor stuff +- it's actually a polyfill + +  | 
