diff options
Diffstat (limited to 'node_modules/repeat-string')
-rw-r--r-- | node_modules/repeat-string/README.md | 114 | ||||
-rw-r--r-- | node_modules/repeat-string/index.js | 12 | ||||
-rw-r--r-- | node_modules/repeat-string/package.json | 138 |
3 files changed, 112 insertions, 152 deletions
diff --git a/node_modules/repeat-string/README.md b/node_modules/repeat-string/README.md index 975c2be6a..aaa5e91c7 100644 --- a/node_modules/repeat-string/README.md +++ b/node_modules/repeat-string/README.md @@ -1,4 +1,4 @@ -# 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-string [![NPM version](https://img.shields.io/npm/v/repeat-string.svg?style=flat)](https://www.npmjs.com/package/repeat-string) [![NPM monthly downloads](https://img.shields.io/npm/dm/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![NPM total downloads](https://img.shields.io/npm/dt/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/repeat-string.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/repeat-string) > Repeat the given string n times. Fastest implementation for repeating a string. @@ -7,7 +7,7 @@ Install with [npm](https://www.npmjs.com/): ```sh -$ npm install repeat-string --save +$ npm install --save repeat-string ``` ## Usage @@ -18,12 +18,6 @@ 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 @@ -32,35 +26,51 @@ repeat('A', 5); //=> AAAAA ``` +**Params** + +* `string` **{String}**: The string to repeat +* `number` **{Number}**: The number of times to repeat the string +* `returns` **{String}**: Repeated string + ## 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) +# 2x +repeat-string █████████████████████████ (26,953,977 ops/sec) +repeating █████████ (9,855,695 ops/sec) +native ██████████████████ (19,453,895 ops/sec) + +# 3x +repeat-string █████████████████████████ (19,445,252 ops/sec) +repeating ███████████ (8,661,565 ops/sec) +native ████████████████████ (16,020,598 ops/sec) + +# 10x +repeat-string █████████████████████████ (23,792,521 ops/sec) +repeating █████████ (8,571,332 ops/sec) +native ███████████████ (14,582,955 ops/sec) + +# 50x +repeat-string █████████████████████████ (23,640,179 ops/sec) +repeating █████ (5,505,509 ops/sec) +native ██████████ (10,085,557 ops/sec) + +# 250x +repeat-string █████████████████████████ (23,489,618 ops/sec) +repeating ████ (3,962,937 ops/sec) +native ████████ (7,724,892 ops/sec) + +# 2000x +repeat-string █████████████████████████ (20,315,172 ops/sec) +repeating ████ (3,297,079 ops/sec) +native ███████ (6,203,331 ops/sec) + +# 20000x +repeat-string █████████████████████████ (23,382,915 ops/sec) +repeating ███ (2,980,058 ops/sec) +native █████ (5,578,808 ops/sec) ``` **Run the benchmarks** @@ -71,29 +81,37 @@ Install dev dependencies: npm i -d && node benchmark ``` -## Related projects +## About -[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) +### Related projects -## Contributing +[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 "Create an array by repeating the given value n times.") -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/repeat-string/issues/new). +### Contributing -## Building docs +Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). -Generate readme and API documentation with [verb](https://github.com/verbose/verb): +### Contributors -```sh -$ npm install verb && npm run docs -``` +| **Commits** | **Contributor**<br/> | +| --- | --- | +| 51 | [jonschlinkert](https://github.com/jonschlinkert) | +| 2 | [LinusU](https://github.com/LinusU) | +| 2 | [tbusser](https://github.com/tbusser) | +| 1 | [doowb](https://github.com/doowb) | +| 1 | [wooorm](https://github.com/wooorm) | + +### Building docs + +_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_ -Or, if [verb](https://github.com/verbose/verb) is installed globally: +To generate the readme and API documentation with [verb](https://github.com/verbose/verb): ```sh -$ verb +$ npm install -g verb verb-generate-readme && verb ``` -## Running tests +### Running tests Install dev dependencies: @@ -101,18 +119,18 @@ Install dev dependencies: $ npm install -d && npm test ``` -## Author +### Author **Jon Schlinkert** * [github/jonschlinkert](https://github.com/jonschlinkert) * [twitter/jonschlinkert](http://twitter.com/jonschlinkert) -## License +### License -Copyright © 2016 [Jon Schlinkert](http://github.com/jonschlinkert) +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 +_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.2.0, on October 23, 2016._
\ No newline at end of file diff --git a/node_modules/repeat-string/index.js b/node_modules/repeat-string/index.js index 496c6db26..4459afd80 100644 --- a/node_modules/repeat-string/index.js +++ b/node_modules/repeat-string/index.js @@ -40,7 +40,7 @@ module.exports = repeat; function repeat(str, num) { if (typeof str !== 'string') { - throw new TypeError('repeat-string expects a string.'); + throw new TypeError('expected a string'); } // cover common, quick use cases @@ -51,18 +51,20 @@ function repeat(str, num) { if (cache !== str || typeof cache === 'undefined') { cache = str; res = ''; + } else if (res.length >= max) { + return res.substr(0, max); } - while (max > res.length && num > 0) { + while (max > res.length && num > 1) { if (num & 1) { res += str; } num >>= 1; - if (!num) break; str += str; } - return res.substr(0, max); + res += str; + res = res.substr(0, max); + return res; } - diff --git a/node_modules/repeat-string/package.json b/node_modules/repeat-string/package.json index 90abf7df6..09f889299 100644 --- a/node_modules/repeat-string/package.json +++ b/node_modules/repeat-string/package.json @@ -1,81 +1,41 @@ { - "_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" + "name": "repeat-string", + "description": "Repeat the given string n times. Fastest implementation for repeating a string.", + "version": "1.6.1", + "homepage": "https://github.com/jonschlinkert/repeat-string", + "author": "Jon Schlinkert (http://github.com/jonschlinkert)", + "contributors": [ + "Brian Woodward <brian.woodward@gmail.com> (https://github.com/doowb)", + "Jon Schlinkert <jon.schlinkert@sellside.com> (http://twitter.com/jonschlinkert)", + "Linus Unnebäck <linus@folkdatorn.se> (http://linus.unnebäck.se)", + "Thijs Busser <tbusser@gmail.com> (http://tbusser.net)", + "Titus <tituswormer@gmail.com> (wooorm.com)" ], - "_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" - }, + "repository": "jonschlinkert/repeat-string", "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" - }, + "license": "MIT", "files": [ "index.js" ], - "gitHead": "53b4ac32e4cfa5bf339aed73544fe86b0f3e9190", - "homepage": "https://github.com/jonschlinkert/repeat-string", + "main": "index.js", + "engines": { + "node": ">=0.10" + }, + "scripts": { + "test": "mocha" + }, + "devDependencies": { + "ansi-cyan": "^0.1.1", + "benchmarked": "^0.2.5", + "gulp-format-md": "^0.1.11", + "isobject": "^2.1.0", + "mocha": "^3.1.2", + "repeating": "^3.0.0", + "text-table": "^0.2.0", + "yargs-parser": "^4.0.2" + }, "keywords": [ "fast", "fastest", @@ -93,34 +53,7 @@ "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": [ @@ -129,9 +62,16 @@ "plugins": [ "gulp-format-md" ], + "related": { + "list": [ + "repeat-element" + ] + }, + "helpers": [ + "./benchmark/helper.js" + ], "reflinks": [ "verb" ] - }, - "version": "1.5.4" + } } |