A tiny angular module that enforces required parameters on function calls by utilizing ES6 default parameters.
Install using npm
or bower
:
$ npm install ng-required-params --save
$ bower install ng-required-params --save
ng-required-params
has no dependencies other than an ES6 codebase and Angular itself.
Simply require ng-required-params
as a dependency for your app or any angular module.
angular
.module('MyApp', ['ng-required-params'])
.controller('MyController', ['$scope', 'ngRequired', function ($scope, ngRequired) {
$scope.incrementCounter = (counter = ngRequired`counter`) => {
console.log('Current count: ' + counter++);
};
$scope.incrementCounter(5); // Logs ==> Current count: 6
$scope.incrementCounter(); // Error ==> Missing parameter: counter
}]);
Since required parameters are fundamental and may be often used, it makes sense to make the call to the service as short
and easy-to-type as possible. Therefore it is recommended to use template literal syntax foo´string´
for calling
ngRequired instead of the normal round brackets syntax foo('string')
. You may also want to name the imported module as
"ngReg" or "req" instead of "ngRequired" to save even more keystrokes.
If you are using a module loader, you can import the module name when requiring it in angular. This works with any AMD/UMD/CommonJS module loader.
import ngRequiredParamsModule from 'ng-required-params';
angular.module('myModule', [ngRequiredParamsModule.name]);