<commit_before># An AngularJS module adapting underscore

This module exposes underscore's API into angular app's root scope,
and provides some filters from underscore.


## Filters

Whole Underscore's API for Collections, Arrays and Objects except decision API
(e.g. functions return true|false), side effect guys, and _.range(not making sense as a filter).


For API details please check out http://underscorejs.org/

## How to use

### Install

After load angular.js and underscore.js:

<script type="text/javascript" src="angular-underscore.js"></script>

### Load angular-underscore

#### Load whole stuff

angular.module('yourAwesomeApp', ['angular-underscore']);

#### Load API only

angular.module('yourAwesomeApp', ['angular-underscore/utils']);

#### Load filters only

angular.module('yourAwesomeApp', ['angular-underscore/filters']);

#### Load specific feature only

// load `shuffle` only
angular.module('yourAwesomeApp', ['angular-underscore/filters/shuffle']);

### Usecase

```html
<script type="text/javascript">
  angular.module('example', ['angular-underscore']);
</script>

<body ng-app="example">
  <!-- generate 10 unduplicated random number from 0 to 9 --><commit_msg>more doc<commit_after># An AngularJS module adapting underscore

This module exposes underscore's API into angular app's root scope,
and provides some filters from underscore.


## Filters

Whole Underscore's API for Collections, Arrays and Objects except decision API
(e.g. functions return true|false), side effect guys, and _.range(not making sense as a filter).


For API details please check out http://underscorejs.org/

## How to use

### Install

After load angular.js and underscore.js:

```html
<script type="text/javascript" src="angular-underscore.js"></script>
```

### Load angular-underscore

#### Load whole stuff

```javascript
angular.module('yourAwesomeApp', ['angular-underscore']);
```

#### Load API only

```javascript
angular.module('yourAwesomeApp', ['angular-underscore/utils']);
```

#### Load filters only

```javascript
angular.module('yourAwesomeApp', ['angular-underscore/filters']);
```

#### Load specific feature only

```javascript
// load `shuffle` only
angular.module('yourAwesomeApp', ['angular-underscore/filters/shuffle']);
```

### Usecase

```html
<script type="text/javascript">
  angular.module('example', ['angular-underscore']);
</script>

<body ng-app="example">
  <!-- generate 10 unduplicated random number from 0 to 9 -->
{'fraction_non_alphanumeric': 0.14697523345513602, 'fraction_numerical': 0.0032480714575720666, 'mean_word_length': 5.383419689119171, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1901913', 'n_tokens_mistral': 753, 'n_tokens_neox': 688, 'n_words': 228}