Angular bindings for geheugen.
npm install --save @kjots/geheugen-angular
<script src="babel-polyfill/dist/polyfill.js"></script>
<script src="angular/angular.js"></script>
<script src="@kjots/geheugen-angular/dist/geheugen-angular.js"></script>
<script>
angular.module('exampleApp', [ 'geheugen' ]);
</script>
Type: Class
The geheugen Memo class.
Type: Object<String,Memo>
The registry of geheugen Memo instances, keyed by their name.
Type: Function
Returns an Angular factory1 for the resolved value of the memo with the provided name.
The return value of this function is suitable for being used as a dependency of an Angular route, e.g.:
angular.module('exampleApp')
.config(($routeProvider, memosProvider) => {
$routeProvider.when('/exampleRoute', {
resolve: {
example: memosProvider('example')
}
});
});
Type: String
The name of the memo.
Type: Function
Register a memo with the provided name.
Returns an Angular factory1 for the memo.
The return value of this function is suitable for being used as the $get
method of an Angular provider, e.g.:
angular.module('exampleApp')
.provider('exampleMemo', function (memosProvider) {
this.$get = memosProvider('example',
$filter => $filter('number')('3.1415', 2));
});
Type: String
The name of the memo.
Type: Object<String, ?>
Default: {}
The memo options.
Type: Object<String, Object>
The memo properties.
These properties will be defined on the memo via Object.defineProperties()
.
Properties with the names get
, set
, reset
, and resetDependants
will be ignored.
Type: Boolean
Default: true
The singleton flag.
Type: Array<String>
Default: []
The dependencies of the memo.
This array contains the names of the memos upon which this memo depends.
The resolved values of the dependant memos will be available as locals to the Angular factory1
provided via factory
, e.g.:
angular.module('exampleApp')
.provider('dependencyMemo', function (memosProvider) {
this.$get = memosProvider('dependency', () => '3.1415');
})
.provider('exampleMemo', function (memosProvider) {
this.$get = memosProvider('example', { dependencies: [ 'dependency' ] },
($filter, dependency) => $filter('number')(dependency, 2));
});
Type: Function
The set event handler.
This function will be invoked when the memo is set.
This function will be invoked via $injector.invoke()
.
The value of the memo will be available as the value
local to this function.
Type: Function
The reset event handler.
This function will be invoked when the memo is reset.
This function will be invoked via $injector.invoke()
.
Type: Function
or Array<String|Function>
The Angular factory1 for the resolved value of the memo.
The factory can return the either resolved value itself or a promise for the resolved value.
Type: Function
Returns the resolved value of the memo with the provided name.
Type: String
The name of the memo.
Type: Function
Return the value of the memo with the provided name.
Type: String
The name of the memo.
Type: Function
Update the value of the memo with the provided name.
Type: String
The name of the memo.
Type: ?
The value.
Type: Function
Reset the memo with the provided name.
Type: String
The name of the memo.
Type: Function
Reset the dependants of the memo with the provided name.
Type: String
The name of the memo.
Type: Function
Returns the resolved value of the memo.
A memo instance can be created via memosProvider().
Type: Function
Return the value of the memo.
Type: Function
Update the value of the memo.
Type: ?
The value.
Type: Function
Reset the memo.
Type: Function
Reset the dependants of the memo.
1: An Angular factory is any value that can be passed as the `fn` argument to [`$injector.invoke()`](https://docs.angularjs.org/api/auto/service/$injector#invoke).