Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/safris/angular-interpolate
Recursively interpolate variables in strings.
https://github.com/safris/angular-interpolate
angular interpolation
Last synced: 1 day ago
JSON representation
Recursively interpolate variables in strings.
- Host: GitHub
- URL: https://github.com/safris/angular-interpolate
- Owner: safris
- License: mit
- Created: 2016-11-18T23:02:26.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-10-07T05:43:05.000Z (about 7 years ago)
- Last Synced: 2024-10-28T23:12:32.156Z (17 days ago)
- Topics: angular, interpolation
- Language: JavaScript
- Size: 10.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
## angular-interpolate
[![CohesionFirst](https://img.shields.io/badge/CohesionFirst%E2%84%A2--blue.svg)](https://cohesionfirst.com/) [![JavaCommons](https://img.shields.io/badge/angular-js-red.svg)](https://cohesionfirst.com/) [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.txt) [![npm version](https://badge.fury.io/js/angular-interpolate.svg)](http://badge.fury.io/js/angular-interpolate)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`.
_[Comments and Issues](https://github.com/SevaSafris/angular-interpolate/issues)_
### Installation
##### NPM
```tcsh
npm install --save angular-interpolate
```##### Bower
```tcsh
bower install --save angular-interpolate
```##### Manual
```html```
### 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.
```javascript
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.```javascript
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:```javascript
{
prop1: "{{prop2}}",
prop2: "{{prop1}}"
}
```The `Interpolate` function will detect the circular relationship and throwa "Loop detected" error.
```javascript
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 minify
- `npm test` - Test### License
This project is licensed under the MIT License - see the [LICENSE.txt](LICENSE.txt) file for details