added test
This commit is contained in:
		@@ -17,7 +17,7 @@ var myFunction = function () {
 | 
			
		||||
gulp.task('gulpTest',function() {
 | 
			
		||||
    gulp.src('./mydir/*.something')
 | 
			
		||||
        .pipe(gulpCallFunction(myFunction,'forEach'))
 | 
			
		||||
        .pipe(gulp.dest(./build/))
 | 
			
		||||
        .pipe(gulp.dest("./build/"))
 | 
			
		||||
});
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										31
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								index.js
									
									
									
									
									
								
							@@ -3,14 +3,17 @@ var through = require("through2");
 | 
			
		||||
var path = require("path");
 | 
			
		||||
var beautylog = require("beautylog");
 | 
			
		||||
//important vars
 | 
			
		||||
var executionMode; //can be forEach or atEnd
 | 
			
		||||
var functionsToExecute;
 | 
			
		||||
var gulpCallFunction = {
 | 
			
		||||
    executionMode: 'forEach',
 | 
			
		||||
    functionsToExecute: undefined,
 | 
			
		||||
    logBool: false
 | 
			
		||||
};
 | 
			
		||||
var runFunctionNames = function () {
 | 
			
		||||
    if (typeof functionsToExecute === "function") {
 | 
			
		||||
        functionsToExecute();
 | 
			
		||||
    if (typeof gulpCallFunction.functionsToExecute == "function") {
 | 
			
		||||
        gulpCallFunction.functionsToExecute();
 | 
			
		||||
    }
 | 
			
		||||
    else if (Array.isArray(functionsToExecute)) {
 | 
			
		||||
        for (var anyFunction in functionsToExecute) {
 | 
			
		||||
    else if (Array.isArray(gulpCallFunction.functionsToExecute)) {
 | 
			
		||||
        for (var anyFunction in gulpCallFunction.functionsToExecute) {
 | 
			
		||||
            anyFunction();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@@ -19,20 +22,26 @@ var runFunctionNames = function () {
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
var forEach = function (file, enc, cb) {
 | 
			
		||||
    if (executionMode === 'forEach') {
 | 
			
		||||
    if (gulpCallFunction.logBool)
 | 
			
		||||
        beautylog.log(gulpCallFunction.executionMode);
 | 
			
		||||
    if (gulpCallFunction.executionMode === 'forEach') {
 | 
			
		||||
        if (gulpCallFunction.logBool)
 | 
			
		||||
            beautylog.log('is forEach');
 | 
			
		||||
        runFunctionNames();
 | 
			
		||||
    }
 | 
			
		||||
    //tell gulp that we are complete
 | 
			
		||||
    return cb(null, file);
 | 
			
		||||
};
 | 
			
		||||
var atEnd = function () {
 | 
			
		||||
    if (executionMode === "atEnd") {
 | 
			
		||||
    if (gulpCallFunction.executionMode == "atEnd") {
 | 
			
		||||
        runFunctionNames();
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
module.exports = function (functionsToExecute, executionMode) {
 | 
			
		||||
module.exports = function (functionsToExecute, executionMode, logBool) {
 | 
			
		||||
    if (executionMode === void 0) { executionMode = 'forEach'; }
 | 
			
		||||
    this.functionsToExecute = functionsToExecute;
 | 
			
		||||
    this.executionMode = executionMode;
 | 
			
		||||
    if (logBool === void 0) { logBool = false; }
 | 
			
		||||
    gulpCallFunction.functionsToExecute = functionsToExecute;
 | 
			
		||||
    gulpCallFunction.executionMode = executionMode;
 | 
			
		||||
    gulpCallFunction.logBool = logBool;
 | 
			
		||||
    return through.obj(forEach, atEnd);
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
  "description": "accepts a function call as parameter to execute in gulp pipeline",
 | 
			
		||||
  "main": "index.js",
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "test": "(cd ts/compile && gulp)",
 | 
			
		||||
    "test": "(cd ts/compile && node compile.js) && (node test.js)",
 | 
			
		||||
    "reinstall": "(rm -r node_modules && npm install)",
 | 
			
		||||
    "release": "(git pull origin master && npm version patch && git push origin master && git checkout release && git merge master && git push origin release && git checkout master)",
 | 
			
		||||
    "startdev": "(git checkout master && git pull origin master)"
 | 
			
		||||
@@ -29,6 +29,7 @@
 | 
			
		||||
    "gulp-typescript": "^2.9.2"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "beautylog": "0.0.15"
 | 
			
		||||
    "beautylog": "0.0.15",
 | 
			
		||||
    "through2": "^2.0.0"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								test.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								test.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
/// <reference path="typings/tsd.d.ts" />
 | 
			
		||||
var gulp = require("gulp");
 | 
			
		||||
var gulpCallFunction = require("./index.js");
 | 
			
		||||
var myFunction = function () {
 | 
			
		||||
    console.log("Hello World!");
 | 
			
		||||
};
 | 
			
		||||
gulp.task('default', function () {
 | 
			
		||||
    gulp.src('./test/test.md')
 | 
			
		||||
        .pipe(gulpCallFunction(myFunction, 'forEach'))
 | 
			
		||||
        .pipe(gulp.dest("./test/result/"));
 | 
			
		||||
});
 | 
			
		||||
gulp.start.apply(gulp, ['default']);
 | 
			
		||||
							
								
								
									
										2
									
								
								test/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								test/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
#Test
 | 
			
		||||
This directory contains files for testing
 | 
			
		||||
							
								
								
									
										2
									
								
								test/result/test.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								test/result/test.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
# Test.md
 | 
			
		||||
This is a test file for the test.js gulp pipeline
 | 
			
		||||
							
								
								
									
										2
									
								
								test/test.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								test/test.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
# Test.md
 | 
			
		||||
This is a test file for the test.js gulp pipeline
 | 
			
		||||
@@ -11,6 +11,16 @@ gulp.task('compileTS', function() {
 | 
			
		||||
	return stream;
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
gulp.task('default',['compileTS'], function() {
 | 
			
		||||
gulp.task('compileTestTS', function() {
 | 
			
		||||
	var stream = gulp.src('../test.ts')
 | 
			
		||||
			.pipe(gulpTypescript({
 | 
			
		||||
				out: "test.js"
 | 
			
		||||
			}))
 | 
			
		||||
			.pipe(gulp.dest("../../"));
 | 
			
		||||
	return stream;
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
gulp.task('default',['compileTS','compileTestTS'], function() {
 | 
			
		||||
	console.log('Typescript compiled');
 | 
			
		||||
});
 | 
			
		||||
gulp.start.apply(gulp, ['default']);
 | 
			
		||||
							
								
								
									
										29
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								ts/index.ts
									
									
									
									
									
								
							@@ -4,13 +4,17 @@ var path = require("path");
 | 
			
		||||
var beautylog = require("beautylog");
 | 
			
		||||
 | 
			
		||||
//important vars
 | 
			
		||||
var executionMode:string; //can be forEach or atEnd
 | 
			
		||||
var functionsToExecute;
 | 
			
		||||
var gulpCallFunction = {
 | 
			
		||||
    executionMode: 'forEach', //can be forEach or atEnd
 | 
			
		||||
    functionsToExecute: undefined,
 | 
			
		||||
    logBool: false
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
var runFunctionNames = function () {
 | 
			
		||||
    if (typeof functionsToExecute === "function" ) {
 | 
			
		||||
        functionsToExecute();
 | 
			
		||||
    } else if (Array.isArray(functionsToExecute)) {
 | 
			
		||||
        for (var anyFunction in functionsToExecute) {
 | 
			
		||||
    if (typeof gulpCallFunction.functionsToExecute == "function" ) {
 | 
			
		||||
        gulpCallFunction.functionsToExecute();
 | 
			
		||||
    } else if (Array.isArray(gulpCallFunction.functionsToExecute)) {
 | 
			
		||||
        for (var anyFunction in gulpCallFunction.functionsToExecute) {
 | 
			
		||||
            anyFunction();
 | 
			
		||||
        }
 | 
			
		||||
    } else {
 | 
			
		||||
@@ -20,7 +24,9 @@ var runFunctionNames = function () {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
var forEach = function (file, enc, cb) {
 | 
			
		||||
        if (executionMode === 'forEach') {
 | 
			
		||||
    if (gulpCallFunction.logBool) beautylog.log(gulpCallFunction.executionMode);
 | 
			
		||||
    if (gulpCallFunction.executionMode === 'forEach') {
 | 
			
		||||
        if(gulpCallFunction.logBool) beautylog.log('is forEach');
 | 
			
		||||
        runFunctionNames();
 | 
			
		||||
    }
 | 
			
		||||
    //tell gulp that we are complete
 | 
			
		||||
@@ -28,12 +34,13 @@ var forEach = function (file, enc, cb) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
var atEnd = function() {
 | 
			
		||||
        if (executionMode === "atEnd") {
 | 
			
		||||
    if (gulpCallFunction.executionMode == "atEnd") {
 | 
			
		||||
        runFunctionNames();
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
module.exports = function (functionsToExecute:any|any[],executionMode:string = 'forEach') {
 | 
			
		||||
    this.functionsToExecute = functionsToExecute;
 | 
			
		||||
    this.executionMode = executionMode;
 | 
			
		||||
module.exports = function (functionsToExecute:any|any[],executionMode:string = 'forEach', logBool = false) {
 | 
			
		||||
    gulpCallFunction.functionsToExecute = functionsToExecute;
 | 
			
		||||
    gulpCallFunction.executionMode = executionMode;
 | 
			
		||||
    gulpCallFunction.logBool = logBool;
 | 
			
		||||
    return through.obj(forEach,atEnd);
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								ts/test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								ts/test.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
/// <reference path="typings/tsd.d.ts" />
 | 
			
		||||
var gulp = require("gulp");
 | 
			
		||||
var gulpCallFunction = require("./index.js");
 | 
			
		||||
 | 
			
		||||
var myFunction = function () {
 | 
			
		||||
    console.log("Hello World!");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gulp.task('default',function() {
 | 
			
		||||
    gulp.src('./test/test.md')
 | 
			
		||||
        .pipe(gulpCallFunction(myFunction,'forEach'))
 | 
			
		||||
        .pipe(gulp.dest("./test/result/"))
 | 
			
		||||
});
 | 
			
		||||
gulp.start.apply(gulp, ['default']);
 | 
			
		||||
		Reference in New Issue
	
	Block a user