diff options
Diffstat (limited to 'node_modules/clone-buffer')
-rw-r--r-- | node_modules/clone-buffer/LICENSE | 21 | ||||
-rw-r--r-- | node_modules/clone-buffer/README.md | 47 | ||||
-rw-r--r-- | node_modules/clone-buffer/index.js | 28 | ||||
-rw-r--r-- | node_modules/clone-buffer/package.json | 43 |
4 files changed, 139 insertions, 0 deletions
diff --git a/node_modules/clone-buffer/LICENSE b/node_modules/clone-buffer/LICENSE new file mode 100644 index 000000000..fa16a8943 --- /dev/null +++ b/node_modules/clone-buffer/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Blaine Bublitz <blaine.bublitz@gmail.com>, Eric Schoffstall <yo@contra.io> and other contributors + +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/clone-buffer/README.md b/node_modules/clone-buffer/README.md new file mode 100644 index 000000000..51c8a8d21 --- /dev/null +++ b/node_modules/clone-buffer/README.md @@ -0,0 +1,47 @@ +<p align="center"> + <a href="http://gulpjs.com"> + <img height="257" width="114" src="https://raw.githubusercontent.com/gulpjs/artwork/master/gulp-2x.png"> + </a> +</p> + +# clone-buffer + +[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![AppVeyor Build Status][appveyor-image]][appveyor-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url] + +Easier Buffer cloning in node. + +## Example + +```js +var cloneBuffer = require('clone-buffer'); + +var buffer = new Buffer('test'); +var cloned = cloneBuffer(buffer); +// buffer !== cloned +``` + +## API + +### `cloneBuffer(buffer)` + +Takes a `Buffer` object and returns a clone. Throws if a non-`Buffer` is passed. + +## License + +MIT + +[downloads-image]: http://img.shields.io/npm/dm/clone-buffer.svg +[npm-url]: https://npmjs.org/package/clone-buffer +[npm-image]: http://img.shields.io/npm/v/clone-buffer.svg + +[travis-url]: https://travis-ci.org/gulpjs/clone-buffer +[travis-image]: http://img.shields.io/travis/gulpjs/clone-buffer.svg?label=travis-ci + +[appveyor-url]: https://ci.appveyor.com/project/gulpjs/clone-buffer +[appveyor-image]: https://img.shields.io/appveyor/ci/gulpjs/clone-buffer.svg?label=appveyor + +[coveralls-url]: https://coveralls.io/r/gulpjs/clone-buffer +[coveralls-image]: http://img.shields.io/coveralls/gulpjs/clone-buffer/master.svg + +[gitter-url]: https://gitter.im/gulpjs/gulp +[gitter-image]: https://badges.gitter.im/gulpjs/gulp.png diff --git a/node_modules/clone-buffer/index.js b/node_modules/clone-buffer/index.js new file mode 100644 index 000000000..eb3837e67 --- /dev/null +++ b/node_modules/clone-buffer/index.js @@ -0,0 +1,28 @@ +'use strict'; + +var Buffer = require('buffer').Buffer; + +function hasFrom() { + // Node versions 5.x below 5.10 seem to have a `from` method + // However, it doesn't clone Buffers + // Luckily, it reports as `false` to hasOwnProperty + return (Buffer.hasOwnProperty('from') && typeof Buffer.from === 'function'); +} + +function cloneBuffer(buf) { + if (!Buffer.isBuffer(buf)) { + throw new Error('Can only clone Buffer.'); + } + + if (hasFrom()) { + return Buffer.from(buf); + } + + var copy = new Buffer(buf.length); + buf.copy(copy); + return copy; +} + +cloneBuffer.hasFrom = hasFrom; + +module.exports = cloneBuffer; diff --git a/node_modules/clone-buffer/package.json b/node_modules/clone-buffer/package.json new file mode 100644 index 000000000..7184797b4 --- /dev/null +++ b/node_modules/clone-buffer/package.json @@ -0,0 +1,43 @@ +{ + "name": "clone-buffer", + "version": "1.0.0", + "description": "Easier Buffer cloning in node.", + "author": "Gulp Team <team@gulpjs.com> (http://gulpjs.com/)", + "contributors": [ + "Blaine Bublitz <blaine.bublitz@gmail.com>" + ], + "repository": "gulpjs/clone-buffer", + "license": "MIT", + "engines": { + "node": ">= 0.10" + }, + "main": "index.js", + "files": [ + "LICENSE", + "index.js" + ], + "scripts": { + "lint": "eslint . && jscs index.js test/", + "pretest": "npm run lint", + "test": "mocha --async-only", + "cover": "istanbul cover _mocha --report lcovonly", + "coveralls": "npm run cover && istanbul-coveralls" + }, + "dependencies": {}, + "devDependencies": { + "eslint": "^1.7.3", + "eslint-config-gulp": "^2.0.0", + "expect": "^1.19.0", + "istanbul": "^0.4.3", + "istanbul-coveralls": "^1.0.3", + "jscs": "^2.3.5", + "jscs-preset-gulp": "^1.0.0", + "mocha": "^2.4.5" + }, + "keywords": [ + "buffer", + "clone", + "from", + "copy" + ] +} |