all files / src/ routeGenerator.js

88.89% Statements 16/18
100% Branches 0/0
50% Functions 2/4
88.89% Lines 16/18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41                                                 
'use strict';
 
let fse = require('fs-extra');
let path = require('path');
let moduleTplt = require('./templates/component/route_module').routeModuleTemplate;
let routeTplt = require('./templates/component/route').routeTemplate;
let componentTplt = require('./templates/component/component').componentTemplate;
let controllerTplt = require('./templates/component/controller').controllerTemplate;
let ConfigResolver = require('./configResolver');
 
class RouteGenerator {
 
  constructor(routeName, config) {
    this.routeName = routeName;
 
    this.filePath = path.join(path.normalize(config.getRoutesRoot()), this.routeName);
 
    fse.mkdirsSync(this.filePath);
  }
 
  buildRoute() {
    this._createNewFiles();
 
    this._updateOrCreateRouteConfig();
  }
 
  _createNewFiles() {
 
    fse.writeFileSync(path.join(this.filePath, `${this.routeName}.component.ts`), componentTplt(this.routeName));
    fse.writeFileSync(path.join(this.filePath, `${this.routeName}.controller.ts`), controllerTplt(this.routeName));
    fse.writeFileSync(path.join(this.filePath, `${this.routeName}.module.ts`), moduleTplt(this.routeName));
    fse.writeFileSync(path.join(this.filePath, `${this.routeName}.route.ts`), routeTplt(this.routeName));
    fse.writeFileSync(path.join(this.filePath, `${this.routeName}.template.html`), '');
  }
 
  _updateOrCreateRouteConfig() {
 
  }
}
 
module.exports = RouteGenerator;