From bf6369175bb9f644fb859fceddb8a26ffd6eeea2 Mon Sep 17 00:00:00 2001 From: jbavari Date: Fri, 30 Oct 2015 23:38:10 -0600 Subject: [PATCH] Feature(generate): Add generator for pipes --- tooling/generators/pipe/index.js | 27 +++++++++++++++++++++++++++ tooling/generators/pipe/pipe.tmpl.js | 11 +++++++++++ 2 files changed, 38 insertions(+) create mode 100644 tooling/generators/pipe/index.js create mode 100644 tooling/generators/pipe/pipe.tmpl.js diff --git a/tooling/generators/pipe/index.js b/tooling/generators/pipe/index.js new file mode 100644 index 0000000000..70cddd3626 --- /dev/null +++ b/tooling/generators/pipe/index.js @@ -0,0 +1,27 @@ +var fs = require('fs'), + Generator = module.exports, + Generate = require('../../generate'), + path = require('path'), + Q = require('q'); +/* + @options + name: Page name + appDirectory: App directory of where to save file +*/ +Generator.run = function run(options) { + + options.rootDirectory = options.rootDirectory || path.join('www', 'app'); + var savePath = path.join(options.appDirectory, options.rootDirectory, options.fileAndClassName); + + var templates = Generate.loadGeneratorTemplates(__dirname); + + templates.forEach(function(template) { + var templatePath = path.join(__dirname, template.file); + options.templatePath = templatePath; + var renderedTemplate = Generate.renderTemplateFromFile(options); + var saveFilePath = path.join(savePath, [options.fileAndClassName, template.type].join('')); + // console.log('renderedTemplate', renderedTemplate, 'saving to', saveFilePath); + console.log('√ Create'.blue, path.relative(options.appDirectory, saveFilePath)); + fs.writeFileSync(saveFilePath, renderedTemplate); + }); +}; diff --git a/tooling/generators/pipe/pipe.tmpl.js b/tooling/generators/pipe/pipe.tmpl.js new file mode 100644 index 0000000000..6fa382f3da --- /dev/null +++ b/tooling/generators/pipe/pipe.tmpl.js @@ -0,0 +1,11 @@ +import {Injectable, Pipe} from 'angular2/angular2'; + +@Pipe({ + name: '<%= fileAndClassName %>' +}) +@Injectable() +class <%= javascriptClassName %> { + transform(v, args) { + return v.toLowerCase(); + } +}