Easily replace and transform :props in strings.
Strings is the result of many hours on screenhero and a truly collaborative effort between Brian Woodward and Jon Schlinkert.
Please report any bugs or feature requests, thanks!
Install
npm
npm install strings --save
bower
bower install strings --save
API
Strings
Strings constructor method
Create a new instance of Strings
, optionally passing a default context to use.
Example
var strings = destbase: '_gh_pages/';
return
{Object} Instance of a Strings object
.propstring
Set or get a named propstring.
strings
Example
strings;
name
{String}propstring
{String}return
{Strings} to allow chaining
.pattern
Set or get a string or regex pattern to be used for matching.
strings;
Example
strings;
name
{String}: The name of the stored pattern.pattern
{String|RegExp|Function}: The pattern to use for matching.flags
{String}: Optionally pass RegExp flags to use.return
{Strings} to allow chaining
.source
Return the RegExp source from a stored pattern
.
stringssourcename;
Example
strings;stringssource'foo';//=> ':([\\w]+)'
name
{String}: The name of the stored pattern.
.replacement
Set or get a replacement pattern. Replacement patterns can be a regular expression, string or function.
strings
Example
strings;
name
{String}replacement
{String|Function}: The replacement to use when patterns are matched.return
{Strings} to allow chaining
.parser
Set a parser that can later be used to parse any given string.
strings
Example
Pass an object:
strings
Or an array
strings;
name
{String}arr
{Object|Array}: Object or array of replacement patterns to associate.return
{Strings} to allow chaining
.parsers
Get an array of stored parsers by passing a parser name or array of parser names.
strings
Example
// pass an array of parser namesstrings; // or a stringstrings;
Using parsers
like this:
strings;
is just sugar for:
var parsers = strings strings strings strings strings strings strings;
For an example, see markdown-symbols, which uses this to store replacement patterns for custom markdown symbols.
parsers
{String|Array}: string or array of parsers to get.return
{Array}
.extendParser
Extend a parser with additional replacement patterns. Useful if you're using an external module for replacement patterns and you need to extend it.
strings
Example
strings
name
{String}: name of the parser to extend.arr
{Object|Array}: array of replacement patterns to store with the given name.pattern
{String|RegExp}replacement
{String|Function}return
{Strings} to allow chaining
.template
Set or get a reusable Strings template, consisting of a propstring and an array of parsers.
Templates are useful since they can be stored and then later used with any context.
strings;
Example
strings;// or use a named propstringstrings; here ^
name
{String}propstring
{String}parsers
{Array}: Names of the parsers to use with the template.return
{Strings} to allow chaining
.replace
Replace :propstrings
with the real values.
strings
Example
strings;//=> foo/bar/baz
str
{String}: The string with:propstrings
to replace.context
{String}: The object with replacement properties.return
{Strings} to allow chaining
.process
Directly process the given prop-string, using a named replacement pattern or array of named replacement patterns, with the given context.
strings
Examples:
Pass a propstring and the parsers to use:
// define some parsers to do simple key-value replacementsstrings;strings;strings;console;// => 'AAA/BBB/CCC'
str
{String}: the string to processparsers
{String|Object|Array}: named parsers or parser objects to use when processing.context
{Object}: context to use. optional if a global context is passed.return
{String}
.run
Process a template with the given context.
strings
Example
strings;
template
{String}: The template to process.context
{Object}: Optional context object, to bind to replacement function asthis
return
{String}
Authors
Jon Schlinkert
Brian Woodward
License
Copyright (c) 2014 Brian Woodward, contributors.
Released under the MIT license
This file was generated by verb-cli on July 03, 2014.