inject-string
v0.1.4
Published
Inject a snippet of code or content into a string.
Downloads
180
Maintainers
Readme
inject-string
Inject a snippet of code or content into a string.
Installation
Install with npm
$ npm install --save inject-string
Usage
var InjectString = require('inject-string');
var inject = new InjectString('before <!-- snippet --> after');
inject.append('foo');
//=> 'before <!-- snippet -->\nfoo\n<!-- endsnippet --> after'
Actions
###append
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> after');
inject.append('bar');
//=> 'before <!-- snippet -->\nfoobar\n<!-- endsnippet --> after'
prepend
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> after');
inject.prepend('bar');
//=> 'before <!-- snippet -->\nbarfoo\n<!-- endsnippet --> after'
replace
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> after');
inject.replace('bar');
//=> 'before <!-- snippet -->\nbar\n<!-- endsnippet --> after'
strip
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> <!-- custom -->bar<!-- endcustom --> after');
inject.strip('custom');
//=> 'before <!-- snippet -->foo<!-- endsnippet --> bar after'
stripAll
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> <!-- custom -->bar<!-- endcustom --> after');
inject.stripAll();
//=> 'before foo bar after'
Static call
inject
InjectString.inject('a <!-- snippet --> b', 'foo', {stripTags: true});
//=> 'a foo b'
strip
InjectString.strip('before <!-- snippet -->foo<!-- endsnippet --> <!-- custom -->bar<!-- endcustom --> after', {tag:'custom'});
//=> 'before <!-- snippet -->foo<!-- endsnippet --> bar after'
stripAll
InjectString.stripAll('before <!-- snippet -->foo<!-- endsnippet --> <!-- custom -->bar<!-- endcustom --> after');
//=> 'before foo bar after'
Options
Keep placeholders
Inject a snippet into a string with placeholders (used for subsequent insertions):
var inject = new InjectString('before <!-- snippet --> after');
inject.append('foo', {
stripTags: false
});
//=> 'before <!-- snippet -->foo<!-- endsnippet --> after'
Strip placeholders
Inject a snippet into a string without placeholders:
var inject = new InjectString('before <!-- snippet --> after');
inject.append('foo', {
stripTags: true
});
//=> 'before foo after'
Use a custom tag name
Customize the placeholder name:
var inject = new InjectString('before <!-- xyz --> after');
inject.append(str, 'foo', {tag: 'xyz'})
//=> 'before foo after'
Use custom delimiters
Customize the placeholder delimiters:
var str = new InjectString('a {{!snippet}} b', {delimiters: ['{{!', '}}']});
var result = inject.append('foo');
//=> 'a {{! snippet }}foo{{! endsnippet }} b'
Add newlines around snippet
var inject = new InjectString('a <!-- snippet --> b', {newlines: true});
var result = inject.append('foo');
//=> 'a <!-- snippet -->\nfoo\n<!-- endsnippet --> b'
Running tests
Install dev dependencies:
$ npm install -d && npm test
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Credits
This library is based on inject-snippet.
License
MIT © amazingSurge