Skip to content

thecreation/inject-string

Repository files navigation

inject-string NPM version Build Status Dependency Status Coverage percentage

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'

Specify lines

var inject = new InjectString('a <!-- snippet --> b', {newlines: 2});
var result = inject.append('foo');
//=> 'a <!-- snippet -->\n\nfoo\n\n<!-- endsnippet --> b'

Specify lines for before and after separately

var inject = new InjectString('a <!-- snippet --> b', {newlines: '1,2'});
var result = inject.append('foo');
//=> 'a <!-- snippet -->\nfoo\n\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

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published