diff options
Diffstat (limited to 'node_modules/repeat-string')
-rw-r--r-- | node_modules/repeat-string/LICENSE | 21 | ||||
-rw-r--r-- | node_modules/repeat-string/README.md | 118 | ||||
-rw-r--r-- | node_modules/repeat-string/index.js | 68 | ||||
-rw-r--r-- | node_modules/repeat-string/package.json | 137 |
4 files changed, 344 insertions, 0 deletions
diff --git a/node_modules/repeat-string/LICENSE b/node_modules/repeat-string/LICENSE new file mode 100644 index 000000000..39245ac1c --- /dev/null +++ b/node_modules/repeat-string/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert. + +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/repeat-string/README.md b/node_modules/repeat-string/README.md new file mode 100644 index 000000000..975c2be6a --- /dev/null +++ b/node_modules/repeat-string/README.md @@ -0,0 +1,118 @@ +# repeat-string [![NPM version](https://img.shields.io/npm/v/repeat-string.svg)](https://www.npmjs.com/package/repeat-string) [![Build Status](https://img.shields.io/travis/jonschlinkert/repeat-string.svg)](https://travis-ci.org/jonschlinkert/repeat-string) + +> Repeat the given string n times. Fastest implementation for repeating a string. + +## Install + +Install with [npm](https://www.npmjs.com/): + +```sh +$ npm install repeat-string --save +``` + +## Usage + +### [repeat](index.js#L41) + +Repeat the given `string` the specified `number` of times. + +**Example:** + +**Params** + +* `string` **{String}**: The string to repeat +* `number` **{Number}**: The number of times to repeat the string +* `returns` **{String}**: Repeated string + +**Example** + +```js +var repeat = require('repeat-string'); +repeat('A', 5); +//=> AAAAA +``` + +## Benchmarks + +Repeat string is significantly faster than the native method (which is itself faster than [repeating](https://github.com/sindresorhus/repeating)): + +```sh +#1: 5 + native x 10,484,023 ops/sec ±1.24% (89 runs sampled) + repeat-string x 16,189,255 ops/sec ±1.05% (91 runs sampled) + repeating x 9,051,715 ops/sec ±1.18% (90 runs sampled) + +#2: 50 + native x 7,975,566 ops/sec ±1.29% (91 runs sampled) + repeat-string x 15,317,972 ops/sec ±1.16% (87 runs sampled) + repeating x 6,279,112 ops/sec ±1.29% (89 runs sampled) + +#3: 250 + native x 6,212,752 ops/sec ±1.33% (91 runs sampled) + repeat-string x 14,565,168 ops/sec ±0.83% (93 runs sampled) + repeating x 5,787,124 ops/sec ±1.25% (92 runs sampled) + +#4: 2000 + native x 4,912,163 ops/sec ±1.27% (91 runs sampled) + repeat-string x 17,129,748 ops/sec ±1.01% (91 runs sampled) + repeating x 4,613,043 ops/sec ±1.37% (91 runs sampled) + +#5: 20000 + native x 4,506,624 ops/sec ±1.33% (90 runs sampled) + repeat-string x 14,877,672 ops/sec ±1.00% (93 runs sampled) + repeating x 4,305,756 ops/sec ±1.36% (89 runs sampled) +``` + +**Run the benchmarks** + +Install dev dependencies: + +```sh +npm i -d && node benchmark +``` + +## Related projects + +[repeat-element](https://www.npmjs.com/package/repeat-element): Create an array by repeating the given value n times. | [homepage](https://github.com/jonschlinkert/repeat-element) + +## Contributing + +Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/repeat-string/issues/new). + +## Building docs + +Generate readme and API documentation with [verb](https://github.com/verbose/verb): + +```sh +$ npm install verb && npm run docs +``` + +Or, if [verb](https://github.com/verbose/verb) is installed globally: + +```sh +$ verb +``` + +## Running tests + +Install dev dependencies: + +```sh +$ npm install -d && npm test +``` + +## Author + +**Jon Schlinkert** + +* [github/jonschlinkert](https://github.com/jonschlinkert) +* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) + +## License + +Copyright © 2016 [Jon Schlinkert](http://github.com/jonschlinkert) +Released under the [MIT license](https://github.com/jonschlinkert/repeat-string/blob/master/LICENSE). + +*** + +_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on February 29, 2016._
\ No newline at end of file diff --git a/node_modules/repeat-string/index.js b/node_modules/repeat-string/index.js new file mode 100644 index 000000000..496c6db26 --- /dev/null +++ b/node_modules/repeat-string/index.js @@ -0,0 +1,68 @@ +/*! + * repeat-string <https://github.com/jonschlinkert/repeat-string> + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */ + +'use strict'; + +/** + * Results cache + */ + +var res = ''; +var cache; + +/** + * Expose `repeat` + */ + +module.exports = repeat; + +/** + * Repeat the given `string` the specified `number` + * of times. + * + * **Example:** + * + * ```js + * var repeat = require('repeat-string'); + * repeat('A', 5); + * //=> AAAAA + * ``` + * + * @param {String} `string` The string to repeat + * @param {Number} `number` The number of times to repeat the string + * @return {String} Repeated string + * @api public + */ + +function repeat(str, num) { + if (typeof str !== 'string') { + throw new TypeError('repeat-string expects a string.'); + } + + // cover common, quick use cases + if (num === 1) return str; + if (num === 2) return str + str; + + var max = str.length * num; + if (cache !== str || typeof cache === 'undefined') { + cache = str; + res = ''; + } + + while (max > res.length && num > 0) { + if (num & 1) { + res += str; + } + + num >>= 1; + if (!num) break; + str += str; + } + + return res.substr(0, max); +} + diff --git a/node_modules/repeat-string/package.json b/node_modules/repeat-string/package.json new file mode 100644 index 000000000..90abf7df6 --- /dev/null +++ b/node_modules/repeat-string/package.json @@ -0,0 +1,137 @@ +{ + "_args": [ + [ + { + "raw": "repeat-string@^1.5.2", + "scope": null, + "escapedName": "repeat-string", + "name": "repeat-string", + "rawSpec": "^1.5.2", + "spec": ">=1.5.2 <2.0.0", + "type": "range" + }, + "/home/dold/repos/taler/wallet-webex/node_modules/fill-range" + ] + ], + "_from": "repeat-string@>=1.5.2 <2.0.0", + "_id": "repeat-string@1.5.4", + "_inCache": true, + "_location": "/repeat-string", + "_nodeVersion": "5.5.0", + "_npmOperationalInternal": { + "host": "packages-5-east.internal.npmjs.com", + "tmp": "tmp/repeat-string-1.5.4.tgz_1456747759357_0.14794702967628837" + }, + "_npmUser": { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + "_npmVersion": "3.6.0", + "_phantomChildren": {}, + "_requested": { + "raw": "repeat-string@^1.5.2", + "scope": null, + "escapedName": "repeat-string", + "name": "repeat-string", + "rawSpec": "^1.5.2", + "spec": ">=1.5.2 <2.0.0", + "type": "range" + }, + "_requiredBy": [ + "/fill-range" + ], + "_resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz", + "_shasum": "64ec0c91e0f4b475f90d5b643651e3e6e5b6c2d5", + "_shrinkwrap": null, + "_spec": "repeat-string@^1.5.2", + "_where": "/home/dold/repos/taler/wallet-webex/node_modules/fill-range", + "author": { + "name": "Jon Schlinkert", + "url": "http://github.com/jonschlinkert" + }, + "bugs": { + "url": "https://github.com/jonschlinkert/repeat-string/issues" + }, + "dependencies": {}, + "description": "Repeat the given string n times. Fastest implementation for repeating a string.", + "devDependencies": { + "benchmarked": "^0.1.5", + "chalk": "^1.1.1", + "glob": "^7.0.0", + "gulp-format-md": "^0.1.7", + "mocha": "*", + "repeating": "^2.0.0", + "should": "*" + }, + "directories": {}, + "dist": { + "shasum": "64ec0c91e0f4b475f90d5b643651e3e6e5b6c2d5", + "tarball": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz" + }, + "engines": { + "node": ">=0.10" + }, + "files": [ + "index.js" + ], + "gitHead": "53b4ac32e4cfa5bf339aed73544fe86b0f3e9190", + "homepage": "https://github.com/jonschlinkert/repeat-string", + "keywords": [ + "fast", + "fastest", + "fill", + "left", + "left-pad", + "multiple", + "pad", + "padding", + "repeat", + "repeating", + "repetition", + "right", + "right-pad", + "string", + "times" + ], + "license": "MIT", + "main": "index.js", + "maintainers": [ + { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + { + "name": "doowb", + "email": "brian.woodward@gmail.com" + } + ], + "name": "repeat-string", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jonschlinkert/repeat-string.git" + }, + "scripts": { + "test": "mocha" + }, + "verb": { + "related": { + "list": [ + "repeat-element" + ] + }, + "toc": false, + "layout": "default", + "tasks": [ + "readme" + ], + "plugins": [ + "gulp-format-md" + ], + "reflinks": [ + "verb" + ] + }, + "version": "1.5.4" +} |