germinocli

GerminoCli creates templates for Controllers, Factories and Views.

Usage no npm install needed!

<script type="module">
  import germinocli from 'https://cdn.skypack.dev/germinocli';
</script>

README

GerminoCli

GerminoCli creates templates for Controllers, Factories and Views.

Install:

npm install germinocli

Run:

germinocli

How to use:

Now you can create:

1. Factories:

  • Factory Name (Required)
  • Attributes: separated by # (name:type:value). Value is optional. Data types allowed: String, Number, Boolean and Array. Example: firstName:string:Abdulkalam#age:number:70#hobbies:array:[satellite,literature]
  • Dependencies: separated by commas. Example: $http,$q

1.1 Example:

prompt: Enter a name for your factory:  Employee

prompt: Write properties for your factory separated by # (name:type:value) :  name:string#price:number

prompt: Write dependencies for your factory separated by , :  dependentService

This generate a .js named Employee.js:

  (function() {
    app.factory('Employee', Employee);
    Employee.$inject = ['dependentService'];
    function EmployeeFactory(Employee) {
      var Employee = {
        name: null,
        salary: null,
      };

      return Employee;
    }
  })();

2. Controller

  • Controller name (Required)
  • Attributes: separated by # (name:type:value). Value is optional. Data types allowed: String, Number, Boolean and Array. Example: Example: firstName:string:Abdulkalam#age:number:70#hobbies:array:[satellite,literature].
  • Dependencies: separated by commas. Example: $http,$q, ($scope already added).

2.1 Example

prompt: Enter a name for your controller:  EmployeeController

prompt: Write properties for your controller separated by # (name:type:value) : name:string#price:number

prompt: Write dependencies for your controller separated by , ($scope already added): dependentService

This generate a .js:

//EmployeeController.js
(function() {
  app.controller('EmployeeController', EmployeeController);
  EmployeeController.$inject = ['AnotherService', '$scope'];
  function EmployeeController(dependentService, $scope) {
    $scope.name = null;
    $scope.salary = null;
  }
})();

3. Controller + View

  • Controller name (Required)
  • Attributes: separated by # (name:type:value). Value is optional. Data types allowed: String, Number, Boolean and Array. Example: Example: firstName:string:Abdulkalam#age:number:70#hobbies:array:[satellite,literature].
  • Dependencies: separated by commas. Example: $http,$q, ($scope already added).
  • Name of view (Required)

3.1 Example

prompt: Enter a name for your controller:  EmployeeController

prompt: Write properties for your controller separated by # (name:type:value) : name:string#price:number

prompt: Write dependencies for your controller separated by , ($scope already added): dependentService

prompt: Name for view: :  EmployeeView

This generate a .js and .html:

//EmployeeController.js
(function() {
  app.controller('EmployeeController', EmployeeController);
  EmployeeController.$inject = ['AnotherService', '$scope'];
  function EmployeeController(dependentService, $scope) {
    $scope.name = null;
    $scope.salary = null;
  }
})();

//EmployeeView.html
<input type="text" ng-model="name">
<input type="number" ng-model="salary">

4. API Services

  • Service name
  • Services url

4.1 Example

prompt: Entity name: employee

prompt: Url:  http://www.server.com/api/employee

This generate a .js file:

//EmployeeService.js
(function() {
  app.factory('EmployeeService', EmployeeService);
  EmployeeService.$inject = ['$http', '$q'];
  function EmployeeService($http, $q) {
    var vm = {};

    vm.getEmployee = function(id) {
      var deferred = $q.defer();
      var url = 'http://www.server.com/api/employee' + id;

      $http.get(url)
        .success(deferred.resolve)
        .error(deferred.reject);

      return deferred.promise;
    };

    vm.createEmployee = function(Employee) {
      var deferred = $q.defer();
      var url = 'http://www.server.com/api/employee

      $http.post(url, Employee)
        .success(deferred.resolve)
        .error(deferred.reject);

      return deferred.promise;
    };

    vm.updateEmployee = function(Employee) {
      var deferred = $q.defer();
      var url = 'http://www.server.com/api/employee';

      $http.put(url, Employee)
        .success(deferred.resolve)
        .error(deferred.reject);

      return deferred.promise;
    };

    vm.deleteEmployee = function(id) {
      var deferred = $q.defer();
      var url = 'http://www.server.com/api/employee + id;

      $http.delete(url)
        .success(deferred.resolve)
        .error(deferred.reject);

      return deferred.promise;
    };

    return vm;
 }
})();