clean up
This commit is contained in:
		
							
								
								
									
										7
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
require("typings-global");
 | 
			
		||||
const q = require("q");
 | 
			
		||||
const through2 = require("through2");
 | 
			
		||||
let defaultExport = (functionsToExecuteArg, executionModeArg = 'forEach') => {
 | 
			
		||||
    let promiseArray = [];
 | 
			
		||||
@@ -22,7 +22,7 @@ let defaultExport = (functionsToExecuteArg, executionModeArg = 'forEach') => {
 | 
			
		||||
        else {
 | 
			
		||||
            throw new Error('gulp-callfunction: something is strange with the given arguments');
 | 
			
		||||
        }
 | 
			
		||||
        return q.all(promiseArray);
 | 
			
		||||
        return Promise.all(promiseArray);
 | 
			
		||||
    };
 | 
			
		||||
    let hasExecutedOnce = false;
 | 
			
		||||
    let forEach = function (file, enc, cb) {
 | 
			
		||||
@@ -72,6 +72,5 @@ exports.forFirst = (funcArg) => {
 | 
			
		||||
exports.atEnd = (funcArg) => {
 | 
			
		||||
    return defaultExport(funcArg, 'atEnd');
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.default = defaultExport;
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMEJBQXVCO0FBQ3ZCLHVCQUFzQjtBQUN0QixxQ0FBb0M7QUFTcEMsSUFBSSxhQUFhLEdBQUcsQ0FDaEIscUJBQTRELEVBQzVELG1CQUFtQyxTQUFTO0lBRzVDLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQTtJQUNyQixJQUFJLFdBQVcsR0FBRyxVQUFVLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRztRQUM5QyxJQUFJLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ3hDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sV0FBVyxLQUFLLFdBQVcsSUFBSSxPQUFPLFdBQVcsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNoRixZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7SUFDTCxDQUFDLENBQUE7SUFFRCxJQUFJLG1CQUFtQixHQUFHLFVBQVUsSUFBSSxFQUFFLEdBQUc7UUFDekMsRUFBRSxDQUFDLENBQUMsT0FBTyxxQkFBcUIsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQzlDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDakQsQ0FBQztRQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlDLEdBQUcsQ0FBQyxDQUFDLElBQUksV0FBVyxJQUFJLHFCQUFxQixDQUFDLENBQUMsQ0FBQztnQkFDNUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUM5RCxDQUFDO1FBQ0wsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osTUFBTSxJQUFJLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFBO1FBQ3ZGLENBQUM7UUFDRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUM5QixDQUFDLENBQUE7SUFFRCxJQUFJLGVBQWUsR0FBRyxLQUFLLENBQUE7SUFDM0IsSUFBSSxPQUFPLEdBQUcsVUFBVSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDakMsTUFBTSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLEtBQUssU0FBUztnQkFDVixtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNoQyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO2dCQUNsQixDQUFDLENBQUMsQ0FBQTtnQkFDRixLQUFLLENBQUE7WUFDVCxLQUFLLFVBQVU7Z0JBQ1gsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztvQkFDbEIsbUJBQW1CLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQzt5QkFDekIsSUFBSSxDQUFDO3dCQUNGLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQ2xCLENBQUMsQ0FBQyxDQUFBO2dCQUNWLENBQUM7Z0JBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ0osRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFDbEIsQ0FBQztnQkFDRCxlQUFlLEdBQUcsSUFBSSxDQUFBO2dCQUN0QixLQUFLLENBQUE7WUFDVCxLQUFLLE9BQU87Z0JBQ1IsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFDZCxLQUFLLENBQUE7WUFDVDtnQkFDSSxLQUFLLENBQUE7UUFDYixDQUFDO0lBQ0wsQ0FBQyxDQUFBO0lBRUQsSUFBSSxLQUFLLEdBQUcsVUFBVSxFQUFFO1FBQ3BCLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDL0IsbUJBQW1CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDakMsRUFBRSxFQUFFLENBQUE7WUFDUixDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLEVBQUUsRUFBRSxDQUFBO1FBQ1IsQ0FBQztJQUNMLENBQUMsQ0FBQTtJQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUN2QyxDQUFDLENBQUE7QUFFVSxRQUFBLE9BQU8sR0FBRyxDQUFDLE9BQXlCO0lBQzNDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBQzVDLENBQUMsQ0FBQTtBQUVVLFFBQUEsUUFBUSxHQUFHLENBQUMsT0FBeUI7SUFDNUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUE7QUFDN0MsQ0FBQyxDQUFBO0FBRVUsUUFBQSxLQUFLLEdBQUcsQ0FBQyxPQUF5QjtJQUN6QyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUMxQyxDQUFDLENBQUE7O0FBRUQsa0JBQWUsYUFBYSxDQUFBIn0=
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBCQUF1QjtBQUV2QixxQ0FBb0M7QUFTcEMsSUFBSSxhQUFhLEdBQUcsQ0FDbEIscUJBQTRELEVBQzVELG1CQUFtQyxTQUFTO0lBRzVDLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQTtJQUNyQixJQUFJLFdBQVcsR0FBRyxVQUFVLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRztRQUNoRCxJQUFJLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ3hDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sV0FBVyxLQUFLLFdBQVcsSUFBSSxPQUFPLFdBQVcsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNsRixZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ2hDLENBQUM7SUFDSCxDQUFDLENBQUE7SUFFRCxJQUFJLG1CQUFtQixHQUFHLFVBQVUsSUFBSSxFQUFFLEdBQUc7UUFDM0MsRUFBRSxDQUFDLENBQUMsT0FBTyxxQkFBcUIsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ2hELFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDL0MsQ0FBQztRQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELEdBQUcsQ0FBQyxDQUFDLElBQUksV0FBVyxJQUFJLHFCQUFxQixDQUFDLENBQUMsQ0FBQztnQkFDOUMsV0FBVyxDQUFDLHFCQUFxQixDQUFFLFdBQVcsQ0FBRSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUM5RCxDQUFDO1FBQ0gsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFBO1FBQ3JGLENBQUM7UUFDRCxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUNsQyxDQUFDLENBQUE7SUFFRCxJQUFJLGVBQWUsR0FBRyxLQUFLLENBQUE7SUFDM0IsSUFBSSxPQUFPLEdBQUcsVUFBVSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDbkMsTUFBTSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLEtBQUssU0FBUztnQkFDWixtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNsQyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO2dCQUNoQixDQUFDLENBQUMsQ0FBQTtnQkFDRixLQUFLLENBQUE7WUFDUCxLQUFLLFVBQVU7Z0JBQ2IsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztvQkFDcEIsbUJBQW1CLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQzt5QkFDM0IsSUFBSSxDQUFDO3dCQUNKLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQ2hCLENBQUMsQ0FBQyxDQUFBO2dCQUNOLENBQUM7Z0JBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ04sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFDaEIsQ0FBQztnQkFDRCxlQUFlLEdBQUcsSUFBSSxDQUFBO2dCQUN0QixLQUFLLENBQUE7WUFDUCxLQUFLLE9BQU87Z0JBQ1YsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFDZCxLQUFLLENBQUE7WUFDUDtnQkFDRSxLQUFLLENBQUE7UUFDVCxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsSUFBSSxLQUFLLEdBQUcsVUFBVSxFQUFFO1FBQ3RCLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDakMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDbkMsRUFBRSxFQUFFLENBQUE7WUFDTixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLEVBQUUsRUFBRSxDQUFBO1FBQ04sQ0FBQztJQUNILENBQUMsQ0FBQTtJQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUNyQyxDQUFDLENBQUE7QUFFVSxRQUFBLE9BQU8sR0FBRyxDQUFDLE9BQXlCO0lBQzdDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBQzFDLENBQUMsQ0FBQTtBQUVVLFFBQUEsUUFBUSxHQUFHLENBQUMsT0FBeUI7SUFDOUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUE7QUFDM0MsQ0FBQyxDQUFBO0FBRVUsUUFBQSxLQUFLLEdBQUcsQ0FBQyxPQUF5QjtJQUMzQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUN4QyxDQUFDLENBQUE7QUFFRCxrQkFBZSxhQUFhLENBQUEifQ==
 | 
			
		||||
							
								
								
									
										14
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								package.json
									
									
									
									
									
								
							@@ -26,16 +26,14 @@
 | 
			
		||||
  },
 | 
			
		||||
  "homepage": "https://gitlab.com/pushrocks/gulp-function",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@types/q": "0.0.32",
 | 
			
		||||
    "@types/through2": "^2.0.31",
 | 
			
		||||
    "q": "^1.4.1",
 | 
			
		||||
    "through2": "^2.0.1",
 | 
			
		||||
    "typings-global": "^1.0.14"
 | 
			
		||||
    "@types/through2": "^2.0.32",
 | 
			
		||||
    "smartq": "^1.1.1",
 | 
			
		||||
    "through2": "^2.0.3",
 | 
			
		||||
    "typings-global": "^1.0.16"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "beautylog": "^6.0.0",
 | 
			
		||||
    "beautylog": "^6.1.10",
 | 
			
		||||
    "gulp": "^3.9.1",
 | 
			
		||||
    "npmts-g": "^5.2.8",
 | 
			
		||||
    "typings-test": "^1.0.3"
 | 
			
		||||
    "tapbundle": "^1.0.10"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								test/test.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								test/test.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -1 +0,0 @@
 | 
			
		||||
import 'typings-test';
 | 
			
		||||
							
								
								
									
										116
									
								
								test/test.js
									
									
									
									
									
								
							
							
						
						
									
										116
									
								
								test/test.js
									
									
									
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -1 +0,0 @@
 | 
			
		||||
{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"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"}
 | 
			
		||||
							
								
								
									
										152
									
								
								test/test.ts
									
									
									
									
									
								
							
							
						
						
									
										152
									
								
								test/test.ts
									
									
									
									
									
								
							@@ -1,134 +1,34 @@
 | 
			
		||||
import 'typings-test'
 | 
			
		||||
import { expect, tap } from 'tapbundle'
 | 
			
		||||
 | 
			
		||||
let gulp = require('gulp')
 | 
			
		||||
import gulpFunction from '../dist/index'
 | 
			
		||||
import * as gulpFunction from '../dist/index'
 | 
			
		||||
 | 
			
		||||
import * as beautylog from 'beautylog'
 | 
			
		||||
let Q = require('q')
 | 
			
		||||
let smartq = require('smartq')
 | 
			
		||||
 | 
			
		||||
let myFunction = function () {
 | 
			
		||||
    let done = Q.defer()
 | 
			
		||||
    beautylog.log('Function executed')
 | 
			
		||||
    done.resolve()
 | 
			
		||||
    return done.promise
 | 
			
		||||
}
 | 
			
		||||
let myFunction2 = function (file?) {
 | 
			
		||||
    let done = Q.defer()
 | 
			
		||||
    beautylog.ok('Function2 executed')
 | 
			
		||||
    done.resolve()
 | 
			
		||||
    return done.promise
 | 
			
		||||
}
 | 
			
		||||
let myFunction3 = function () {
 | 
			
		||||
    let done = Q.defer()
 | 
			
		||||
    beautylog.success('Function3 executed')
 | 
			
		||||
    done.resolve()
 | 
			
		||||
    return done.promise
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
let beforeFunction = function () {
 | 
			
		||||
    let done = Q.defer()
 | 
			
		||||
    beautylog.success('beforeFunction executed')
 | 
			
		||||
    done.resolve()
 | 
			
		||||
    return done.promise
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
let logFileFunction = function (file) {
 | 
			
		||||
    let done = Q.defer()
 | 
			
		||||
    console.log(file.contents)
 | 
			
		||||
    if (typeof file.contents !== 'undefined') {
 | 
			
		||||
 | 
			
		||||
    } else {
 | 
			
		||||
        throw new Error('file.contents not present')
 | 
			
		||||
    }
 | 
			
		||||
    done.resolve()
 | 
			
		||||
    return done.promise
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
let middleFunctionRun = false
 | 
			
		||||
 | 
			
		||||
let middleFunction = function () {
 | 
			
		||||
    let done = Q.defer()
 | 
			
		||||
    beautylog.success('middleFunction executed')
 | 
			
		||||
    setTimeout(function(){
 | 
			
		||||
        beautylog.log('timeout fired')
 | 
			
		||||
        middleFunctionRun = true
 | 
			
		||||
tap.test('should run through smoothly with ' + "'forEach'", async (tools) => {
 | 
			
		||||
  let done = smartq.defer()
 | 
			
		||||
  let counter = 0
 | 
			
		||||
  gulp.src('./test/*.md')
 | 
			
		||||
    .pipe(gulpFunction.forEach(async () => {
 | 
			
		||||
      counter++
 | 
			
		||||
      if (counter === 2) {
 | 
			
		||||
        done.resolve()
 | 
			
		||||
    }, 500)
 | 
			
		||||
    return done.promise
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
let afterFunction = function () {
 | 
			
		||||
    let done = Q.defer()
 | 
			
		||||
    beautylog.success('afterFunction executed')
 | 
			
		||||
    done.resolve()
 | 
			
		||||
    return done.promise
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
let timeoutFunction = function(){
 | 
			
		||||
    let done = Q.defer()
 | 
			
		||||
    setTimeout(function(){
 | 
			
		||||
        beautylog.log('largeTimeout fired')
 | 
			
		||||
        done.resolve()
 | 
			
		||||
    },2000)
 | 
			
		||||
    return done.promise
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
describe('gulpFunction',function(){
 | 
			
		||||
    it('should run through smoothly with ' + "'forEach'",function(done){
 | 
			
		||||
        gulp.src('./test/*.md')
 | 
			
		||||
            .pipe(gulpFunction(logFileFunction,'forEach'))
 | 
			
		||||
            .pipe(gulp.dest('./test/result/'))
 | 
			
		||||
 | 
			
		||||
        gulp.src('./test/*.md')
 | 
			
		||||
            .pipe(gulpFunction([myFunction2,myFunction3],'forEach'))
 | 
			
		||||
            .pipe(gulp.dest('./test/result/'))
 | 
			
		||||
            .pipe(gulpFunction(done,'atEnd'))
 | 
			
		||||
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    it('should run through smoothly with ' + "'atEnd'",function(done){
 | 
			
		||||
        gulp.src('./test/*.md')
 | 
			
		||||
            .pipe(gulpFunction(myFunction,'atEnd'))
 | 
			
		||||
            .pipe(gulp.dest('./test/result/'))
 | 
			
		||||
 | 
			
		||||
        gulp.src('./test/*.md')
 | 
			
		||||
            .pipe(gulpFunction([myFunction2,myFunction3],'atEnd'))
 | 
			
		||||
            .pipe(gulp.dest('./test/result/'))
 | 
			
		||||
            .pipe(gulpFunction(done,'atEnd'))
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    it('should run through smoothly once with ' + "'atFirst'",function(done){
 | 
			
		||||
 | 
			
		||||
        gulp.src('./test/*.md')
 | 
			
		||||
            .pipe(gulpFunction([myFunction2,myFunction3],'forFirst'))
 | 
			
		||||
            .pipe(gulp.dest('./test/result/'))
 | 
			
		||||
            .pipe(gulpFunction(done,'atEnd'))
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    it('should run in order',function(done){
 | 
			
		||||
        this.timeout(5000)
 | 
			
		||||
        let stream = gulp.src('./test/*.md')
 | 
			
		||||
            .pipe(gulpFunction([beforeFunction,middleFunction,middleFunction],'atEnd'))
 | 
			
		||||
            .pipe(gulpFunction(function(){
 | 
			
		||||
                beautylog.log('stream progressed')
 | 
			
		||||
                let done2 = Q.defer()
 | 
			
		||||
                done2.resolve()
 | 
			
		||||
                return done2.promise
 | 
			
		||||
            },'forEach'))
 | 
			
		||||
            .pipe(gulpFunction(function(){
 | 
			
		||||
                let done = Q.defer()
 | 
			
		||||
                beautylog.log('nextStep')
 | 
			
		||||
                done.resolve()
 | 
			
		||||
                return done.promise
 | 
			
		||||
            }))
 | 
			
		||||
            .pipe(gulpFunction(afterFunction,'atEnd'))
 | 
			
		||||
            .pipe(gulpFunction(timeoutFunction,'atEnd'))
 | 
			
		||||
 | 
			
		||||
        stream.on('finish',function(){
 | 
			
		||||
            beautylog.info('stream finished')
 | 
			
		||||
            done()
 | 
			
		||||
        })
 | 
			
		||||
    })
 | 
			
		||||
      }
 | 
			
		||||
    }))
 | 
			
		||||
  await done.promise
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
tap.test('should run through smoothly with ' + "'forEach'", async (tools) => {
 | 
			
		||||
  let done = smartq.defer()
 | 
			
		||||
  let counter = 0
 | 
			
		||||
  gulp.src('./test/*.md')
 | 
			
		||||
    .pipe(gulpFunction.atEnd(async () => {
 | 
			
		||||
      console.log('atEnd')
 | 
			
		||||
      done.resolve()
 | 
			
		||||
    }))
 | 
			
		||||
  await done.promise
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
tap.start()
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										114
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										114
									
								
								ts/index.ts
									
									
									
									
									
								
							@@ -1,89 +1,89 @@
 | 
			
		||||
import 'typings-global'
 | 
			
		||||
import * as q from 'q'
 | 
			
		||||
import * as q from 'smartq'
 | 
			
		||||
import * as through2 from 'through2'
 | 
			
		||||
import { Transform } from 'stream'
 | 
			
		||||
 | 
			
		||||
export type TExecutionMode = 'forEach' | 'forFirst' | 'atEnd'
 | 
			
		||||
 | 
			
		||||
export interface IPromiseFunction {
 | 
			
		||||
    (file?, enc?): PromiseLike<any>
 | 
			
		||||
  (file?, enc?): PromiseLike<any>
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
let defaultExport = (
 | 
			
		||||
    functionsToExecuteArg: IPromiseFunction | IPromiseFunction[],
 | 
			
		||||
    executionModeArg: TExecutionMode = 'forEach'
 | 
			
		||||
  functionsToExecuteArg: IPromiseFunction | IPromiseFunction[],
 | 
			
		||||
  executionModeArg: TExecutionMode = 'forEach'
 | 
			
		||||
): Transform => {
 | 
			
		||||
 | 
			
		||||
    let promiseArray = []
 | 
			
		||||
    let runFunction = function (functionArg, file, enc) {
 | 
			
		||||
        let returnValue = functionArg(file, enc)
 | 
			
		||||
        if (typeof returnValue !== 'undefined' && typeof returnValue.then !== 'undefined') {
 | 
			
		||||
            promiseArray.push(returnValue)
 | 
			
		||||
        }
 | 
			
		||||
  let promiseArray = []
 | 
			
		||||
  let runFunction = function (functionArg, file, enc) {
 | 
			
		||||
    let returnValue = functionArg(file, enc)
 | 
			
		||||
    if (typeof returnValue !== 'undefined' && typeof returnValue.then !== 'undefined') {
 | 
			
		||||
      promiseArray.push(returnValue)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
    let checkAndRunFunction = function (file, enc) {
 | 
			
		||||
        if (typeof functionsToExecuteArg === 'function') {
 | 
			
		||||
            runFunction(functionsToExecuteArg, file, enc)
 | 
			
		||||
        } else if (Array.isArray(functionsToExecuteArg)) {
 | 
			
		||||
            for (let anyFunction in functionsToExecuteArg) {
 | 
			
		||||
                runFunction(functionsToExecuteArg[anyFunction], file, enc)
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            throw new Error('gulp-callfunction: something is strange with the given arguments')
 | 
			
		||||
        }
 | 
			
		||||
        return q.all(promiseArray)
 | 
			
		||||
  let checkAndRunFunction = function (file, enc) {
 | 
			
		||||
    if (typeof functionsToExecuteArg === 'function') {
 | 
			
		||||
      runFunction(functionsToExecuteArg, file, enc)
 | 
			
		||||
    } else if (Array.isArray(functionsToExecuteArg)) {
 | 
			
		||||
      for (let anyFunction in functionsToExecuteArg) {
 | 
			
		||||
        runFunction(functionsToExecuteArg[ anyFunction ], file, enc)
 | 
			
		||||
      }
 | 
			
		||||
    } else {
 | 
			
		||||
      throw new Error('gulp-callfunction: something is strange with the given arguments')
 | 
			
		||||
    }
 | 
			
		||||
    return Promise.all(promiseArray)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
    let hasExecutedOnce = false
 | 
			
		||||
    let forEach = function (file, enc, cb) { // the forEach function is called for every chunk
 | 
			
		||||
        switch (executionModeArg) {
 | 
			
		||||
            case 'forEach':
 | 
			
		||||
                checkAndRunFunction(file, enc).then(function () {
 | 
			
		||||
                    cb(null, file)
 | 
			
		||||
                })
 | 
			
		||||
                break
 | 
			
		||||
            case 'forFirst':
 | 
			
		||||
                if (hasExecutedOnce) {
 | 
			
		||||
                    checkAndRunFunction(file, enc)
 | 
			
		||||
                        .then(function () {
 | 
			
		||||
                            cb(null, file)
 | 
			
		||||
                        })
 | 
			
		||||
                } else {
 | 
			
		||||
                    cb(null, file)
 | 
			
		||||
                }
 | 
			
		||||
                hasExecutedOnce = true
 | 
			
		||||
                break
 | 
			
		||||
            case 'atEnd':
 | 
			
		||||
                cb(null, file)
 | 
			
		||||
                break
 | 
			
		||||
            default:
 | 
			
		||||
                break
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let atEnd = function (cb) {
 | 
			
		||||
        if (executionModeArg === 'atEnd') {
 | 
			
		||||
            checkAndRunFunction(null, null).then(function () {
 | 
			
		||||
                cb()
 | 
			
		||||
  let hasExecutedOnce = false
 | 
			
		||||
  let forEach = function (file, enc, cb) { // the forEach function is called for every chunk
 | 
			
		||||
    switch (executionModeArg) {
 | 
			
		||||
      case 'forEach':
 | 
			
		||||
        checkAndRunFunction(file, enc).then(function () {
 | 
			
		||||
          cb(null, file)
 | 
			
		||||
        })
 | 
			
		||||
        break
 | 
			
		||||
      case 'forFirst':
 | 
			
		||||
        if (hasExecutedOnce) {
 | 
			
		||||
          checkAndRunFunction(file, enc)
 | 
			
		||||
            .then(function () {
 | 
			
		||||
              cb(null, file)
 | 
			
		||||
            })
 | 
			
		||||
        } else {
 | 
			
		||||
            cb()
 | 
			
		||||
          cb(null, file)
 | 
			
		||||
        }
 | 
			
		||||
        hasExecutedOnce = true
 | 
			
		||||
        break
 | 
			
		||||
      case 'atEnd':
 | 
			
		||||
        cb(null, file)
 | 
			
		||||
        break
 | 
			
		||||
      default:
 | 
			
		||||
        break
 | 
			
		||||
    }
 | 
			
		||||
    return through2.obj(forEach, atEnd)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  let atEnd = function (cb) {
 | 
			
		||||
    if (executionModeArg === 'atEnd') {
 | 
			
		||||
      checkAndRunFunction(null, null).then(function () {
 | 
			
		||||
        cb()
 | 
			
		||||
      })
 | 
			
		||||
    } else {
 | 
			
		||||
      cb()
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return through2.obj(forEach, atEnd)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export let forEach = (funcArg: IPromiseFunction) => {
 | 
			
		||||
    return defaultExport(funcArg, 'forEach')
 | 
			
		||||
  return defaultExport(funcArg, 'forEach')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export let forFirst = (funcArg: IPromiseFunction) => {
 | 
			
		||||
    return defaultExport(funcArg, 'forFirst')
 | 
			
		||||
  return defaultExport(funcArg, 'forFirst')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export let atEnd = (funcArg: IPromiseFunction) => {
 | 
			
		||||
    return defaultExport(funcArg, 'atEnd')
 | 
			
		||||
  return defaultExport(funcArg, 'atEnd')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default defaultExport
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user