Comparing version 1.1.0 to 1.2.0
28
index.js
@@ -7,4 +7,4 @@ /*! | ||
* | ||
* @attribution | ||
* Adapted from http://james.padolsey.com/javascript/wordwrap-for-javascript/ | ||
* @attribution | ||
*/ | ||
@@ -24,16 +24,28 @@ | ||
var newline = options.newline || '\n' + indent; | ||
var escape = typeof options.escape === 'function' | ||
? options.escape | ||
: identity; | ||
var re = new RegExp('.{1,' + width + '}(\\s+|$)|\\S+?(\\s+|$)', 'g'); | ||
if (options.cut) { | ||
re = new RegExp('.{1,' + width + '}', 'g'); | ||
var regexString = '.{1,' + width + '}'; | ||
if (options.cut !== true) { | ||
regexString += '([\\s\u200B]+|$)|[^\\s\u200B]+?([\\s\u200B]+|$)'; | ||
} | ||
var re = new RegExp(regexString, 'g'); | ||
var lines = str.match(re) || []; | ||
var res = indent + lines.join(newline); | ||
var result = indent + lines.map(function(line) { | ||
if (line.slice(-1) === '\n') { | ||
line = line.slice(0, line.length - 1); | ||
} | ||
return escape(line); | ||
}).join(newline); | ||
if (options.trim === true) { | ||
res = res.replace(/[ \t]*$/gm, ''); | ||
result = result.replace(/[ \t]*$/gm, ''); | ||
} | ||
return res; | ||
return result; | ||
}; | ||
function identity(str) { | ||
return str; | ||
} |
{ | ||
"name": "word-wrap", | ||
"description": "Wrap words to a specified length.", | ||
"version": "1.1.0", | ||
"version": "1.2.0", | ||
"homepage": "https://github.com/jonschlinkert/word-wrap", | ||
@@ -23,9 +23,10 @@ "author": "Jon Schlinkert (https://github.com/jonschlinkert)", | ||
"devDependencies": { | ||
"mocha": "*" | ||
"gulp-format-md": "^0.1.11", | ||
"mocha": "^3.2.0" | ||
}, | ||
"keywords": [ | ||
"break", | ||
"carriage", | ||
"line", | ||
"new-line", | ||
"carriage", | ||
"newline", | ||
@@ -39,3 +40,28 @@ "return", | ||
"wrap" | ||
] | ||
], | ||
"verb": { | ||
"toc": false, | ||
"layout": "default", | ||
"tasks": [ | ||
"readme" | ||
], | ||
"plugins": [ | ||
"gulp-format-md" | ||
], | ||
"lint": { | ||
"reflinks": true | ||
}, | ||
"related": { | ||
"list": [ | ||
"wordcount", | ||
"unique-words", | ||
"common-words", | ||
"shuffle-words" | ||
] | ||
}, | ||
"reflinks": [ | ||
"verb", | ||
"verb-generate-readme" | ||
] | ||
} | ||
} |
@@ -1,9 +0,11 @@ | ||
# word-wrap [![NPM version](https://badge.fury.io/js/word-wrap.svg)](http://badge.fury.io/js/word-wrap) [![Build Status](https://travis-ci.org/jonschlinkert/word-wrap.svg)](https://travis-ci.org/jonschlinkert/word-wrap) | ||
# word-wrap [![NPM version](https://img.shields.io/npm/v/word-wrap.svg?style=flat)](https://www.npmjs.com/package/word-wrap) [![NPM monthly downloads](https://img.shields.io/npm/dm/word-wrap.svg?style=flat)](https://npmjs.org/package/word-wrap) [![NPM total downloads](https://img.shields.io/npm/dt/word-wrap.svg?style=flat)](https://npmjs.org/package/word-wrap) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/word-wrap.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/word-wrap) | ||
> Wrap words to a specified length. | ||
Install with [npm](https://www.npmjs.com/) | ||
## Install | ||
Install with [npm](https://www.npmjs.com/): | ||
```sh | ||
$ npm i word-wrap --save | ||
$ npm install --save word-wrap | ||
``` | ||
@@ -31,3 +33,3 @@ | ||
[![image](https://cloud.githubusercontent.com/assets/383994/6543728/7a381c08-c4f6-11e4-8b7d-b6ba197569c9.png)](https://www.npmjs.com/) | ||
![image](https://cloud.githubusercontent.com/assets/383994/6543728/7a381c08-c4f6-11e4-8b7d-b6ba197569c9.png) | ||
@@ -76,2 +78,21 @@ ### options.width | ||
### options.escape | ||
Type: `function` | ||
Default: `function(str){return str;}` | ||
An escape function to run on each line after splitting them. | ||
**Example:** | ||
```js | ||
var xmlescape = require('xml-escape'); | ||
wrap(str, { | ||
escape: function(string){ | ||
return xmlescape(string); | ||
} | ||
}); | ||
``` | ||
### options.trim | ||
@@ -105,35 +126,59 @@ | ||
## Related projects | ||
## About | ||
* [common-words](https://github.com/jonschlinkert/common-words): Updated list (JSON) of the 100 most common words in the English language. Useful for… [more](https://github.com/jonschlinkert/common-words) | ||
* [shuffle-words](https://github.com/jonschlinkert/shuffle-words): Shuffle the words in a string and optionally the letters in each word using the… [more](https://github.com/jonschlinkert/shuffle-words) | ||
* [unique-words](https://github.com/jonschlinkert/unique-words): Return the unique words in a string or array. | ||
* [wordcount](https://github.com/jonschlinkert/wordcount): Count the words in string. Has basic support for Cyrillic and CJK. | ||
### Related projects | ||
## Running tests | ||
* [common-words](https://www.npmjs.com/package/common-words): Updated list (JSON) of the 100 most common words in the English language. Useful for… [more](https://github.com/jonschlinkert/common-words) | [homepage](https://github.com/jonschlinkert/common-words "Updated list (JSON) of the 100 most common words in the English language. Useful for excluding these words from arrays.") | ||
* [shuffle-words](https://www.npmjs.com/package/shuffle-words): Shuffle the words in a string and optionally the letters in each word using the… [more](https://github.com/jonschlinkert/shuffle-words) | [homepage](https://github.com/jonschlinkert/shuffle-words "Shuffle the words in a string and optionally the letters in each word using the Fisher-Yates algorithm. Useful for creating test fixtures, benchmarking samples, etc.") | ||
* [unique-words](https://www.npmjs.com/package/unique-words): Return the unique words in a string or array. | [homepage](https://github.com/jonschlinkert/unique-words "Return the unique words in a string or array.") | ||
* [wordcount](https://www.npmjs.com/package/wordcount): Count the words in a string. Support for english, CJK and Cyrillic. | [homepage](https://github.com/jonschlinkert/wordcount "Count the words in a string. Support for english, CJK and Cyrillic.") | ||
Install dev dependencies: | ||
### Contributing | ||
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). | ||
### Contributors | ||
| **Commits** | **Contributor**<br/> | | ||
| --- | --- | | ||
| 33 | [jonschlinkert](https://github.com/jonschlinkert) | | ||
| 2 | [lordvlad](https://github.com/lordvlad) | | ||
| 2 | [hildjj](https://github.com/hildjj) | | ||
| 1 | [danilosampaio](https://github.com/danilosampaio) | | ||
| 1 | [toddself](https://github.com/toddself) | | ||
| 1 | [wolfgang42](https://github.com/wolfgang42) | | ||
| 1 | [zachhale](https://github.com/zachhale) | | ||
### 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).)_ | ||
To generate the readme and API documentation with [verb](https://github.com/verbose/verb): | ||
```sh | ||
$ npm i -d && npm test | ||
$ npm install -g verb verb-generate-readme && verb | ||
``` | ||
## Contributing | ||
### Running tests | ||
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/word-wrap/issues/new) | ||
Install dev dependencies: | ||
## Author | ||
```sh | ||
$ npm install -d && npm test | ||
``` | ||
### Author | ||
**Jon Schlinkert** | ||
+ [github/jonschlinkert](https://github.com/jonschlinkert) | ||
+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) | ||
* [github/jonschlinkert](https://github.com/jonschlinkert) | ||
* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) | ||
## License | ||
### License | ||
Copyright © 2015 Jon Schlinkert | ||
Released under the MIT license. | ||
Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert). | ||
Released under the [MIT license](LICENSE). | ||
*** | ||
_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on July 17, 2015._ | ||
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.2.1, on December 29, 2016._ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
8784
42
181
2