angular-interpolate v1.0.6
This Angular module is a light-weight interpolator that replaces delimited keys in a string with values from a properties map. This module was created as a simple alternative for Angular's $interpolate provider. A common use of this tool is for a template interpolation use-case that does not require $parse, $interpolate, or $compile.
Installation
NPM
npm install --save angular-interpolateBower
bower install --save angular-interpolateManual
<script src="path/to/directory/angular-interpolate.js"></script>Dependencies
- Angular.js (~1.4.0)
Usage
This module uses the default {{ and }} delimiters to distinguish interpolation keys, and these
delimiters are configurable. Keys are matched to values in a properties object.
Include angular-interpolate as a dependency in your project.
angular.module("MyModule", ["angular-interpolate"]);Interpolate with string
The Interpolate provider accepts a string argument, followed by a properties object with
key-value assignments for interpolation.
var interpolated = Interpolate("I live with {{person1}} and {{person2}}.")({person1: "John", person2: "Jane"});
console.log(interpolated); // "I live with John and Jane."Interpolate with object
The Interpolate provider accepts an object argument, which will effectively interpolate the values
for all keys in the object recursively, thus interpolating all cross-referenced keys in the object.
As one can easily make an object with a circular relationship, such as:
{
prop1: "{{prop2}}",
prop2: "{{prop1}}"
}The Interpolate function will detect the circular relationship and throwa "Loop detected" error.
var interpolated = Interpolate({person1: "John", person2: "Jane", people: "{{person1}} and {{person2}}"});
console.log(interpolated); // {person1: "John", person2: "Jane", people: "John and Jane"Configurable delimiters ({{ and }})
The Interpolate function accepts two additional parameters: open and close. By default, open = {{, and close = }}.
Development
npm run build- Build and minifynpm test- Test
License
This project is licensed under the MIT License - see the LICENSE.txt file for details