added forFirst
This commit is contained in:
parent
5a9cd96bed
commit
71bdcce41d
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,6 +2,7 @@ node_modules/
|
|||||||
.settings/
|
.settings/
|
||||||
.idea/
|
.idea/
|
||||||
coverage/
|
coverage/
|
||||||
|
docs/
|
||||||
|
|
||||||
ts/*.js
|
ts/*.js
|
||||||
ts/*.js.map
|
ts/*.js.map
|
||||||
|
@ -40,4 +40,4 @@ gulp.task('gulpTest',function() {
|
|||||||
|
|
||||||
> Note: The first argument of gulpFunction can also be an array of multiple functionnames.
|
> Note: The first argument of gulpFunction can also be an array of multiple functionnames.
|
||||||
Each function can return a promise. the pipe stop will finish when every promise is fullfilled.
|
Each function can return a promise. the pipe stop will finish when every promise is fullfilled.
|
||||||
> Note: the second argument can be empty (defaults to 'forEach') or 'atEnd'
|
> Note: the second argument can be empty, "forEach" (default), "forFirst" or "atEnd";
|
67
dist/index.js
vendored
Normal file
67
dist/index.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
index.d.ts
vendored
6
index.d.ts
vendored
@ -1,6 +0,0 @@
|
|||||||
/// <reference path="ts/typings/main.d.ts" />
|
|
||||||
declare var plugins: {
|
|
||||||
beautylog: any;
|
|
||||||
Q: any;
|
|
||||||
through: any;
|
|
||||||
};
|
|
57
index.js
57
index.js
@ -1,57 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
|
|
||||||
/// <reference path="typings/main.d.ts" />
|
|
||||||
var plugins = {
|
|
||||||
beautylog: require("beautylog"),
|
|
||||||
Q: require("q"),
|
|
||||||
through: require("through2")
|
|
||||||
};
|
|
||||||
module.exports = function (functionsToExecuteArg, executionModeArg) {
|
|
||||||
if (executionModeArg === void 0) { executionModeArg = 'forEach'; }
|
|
||||||
//important vars
|
|
||||||
var executionMode = executionModeArg; //can be forEach or atEnd
|
|
||||||
var functionsToExecute = functionsToExecuteArg;
|
|
||||||
var promiseArray = [];
|
|
||||||
var runFunction = function (functionArg) {
|
|
||||||
var returnValue = functionArg();
|
|
||||||
if (typeof returnValue !== "undefined" && typeof returnValue.then !== "undefined") {
|
|
||||||
promiseArray.push(returnValue);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
var checkAndRunFunction = function () {
|
|
||||||
if (typeof functionsToExecute === "function") {
|
|
||||||
runFunction(functionsToExecute);
|
|
||||||
}
|
|
||||||
else if (Array.isArray(functionsToExecute)) {
|
|
||||||
for (var anyFunction in functionsToExecute) {
|
|
||||||
runFunction(functionsToExecute[anyFunction]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
plugins.beautylog.error('gulp-callfunction: something is strange with the given arguments');
|
|
||||||
}
|
|
||||||
return plugins.Q.all(promiseArray);
|
|
||||||
};
|
|
||||||
var forEach = function (file, enc, cb) {
|
|
||||||
if (executionMode === 'forEach') {
|
|
||||||
checkAndRunFunction().then(function () {
|
|
||||||
cb(null, file);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
cb(null, file);
|
|
||||||
}
|
|
||||||
//tell gulp that we are complete
|
|
||||||
};
|
|
||||||
var atEnd = function (cb) {
|
|
||||||
if (executionMode === "atEnd") {
|
|
||||||
checkAndRunFunction().then(function () {
|
|
||||||
cb();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
cb();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return plugins.through.obj(forEach, atEnd);
|
|
||||||
};
|
|
@ -2,7 +2,7 @@
|
|||||||
"name": "gulp-function",
|
"name": "gulp-function",
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"description": "accepts a function call as parameter to execute in gulp pipeline",
|
"description": "accepts a function call as parameter to execute in gulp pipeline",
|
||||||
"main": "index.js",
|
"main": "dist/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "(npmts)",
|
"test": "(npmts)",
|
||||||
"reinstall": "(rm -r node_modules && npm install)",
|
"reinstall": "(rm -r node_modules && npm install)",
|
||||||
@ -18,19 +18,19 @@
|
|||||||
"gulp",
|
"gulp",
|
||||||
"function"
|
"function"
|
||||||
],
|
],
|
||||||
"author": "Smart Coordination GmbH <office@push.rocks> (https://push.rocks)",
|
"author": "Lossless GmbH <office@lossless.com> (https://lossless.com)",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/pushrocks/gulp-function/issues"
|
"url": "https://github.com/pushrocks/gulp-function/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/pushrocks/gulp-function",
|
"homepage": "https://github.com/pushrocks/gulp-function",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"beautylog": "^2.1.1",
|
"beautylog": "^3.1.2",
|
||||||
"q": "^1.4.1",
|
"q": "^1.4.1",
|
||||||
"through2": "^2.0.1"
|
"through2": "^2.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"gulp": "^3.9.1",
|
"gulp": "^3.9.1",
|
||||||
"npmts": "^2.2.3"
|
"npmts": "^3.6.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
8
test/test.d.ts
vendored
8
test/test.d.ts
vendored
@ -1,8 +0,0 @@
|
|||||||
/// <reference path="ts/typings/main.d.ts" />
|
|
||||||
declare var gulp: any;
|
|
||||||
declare var gulpFunction: any;
|
|
||||||
declare var beautylog: any;
|
|
||||||
declare var Q: any;
|
|
||||||
declare var myFunction: () => any;
|
|
||||||
declare var myFunction2: () => any;
|
|
||||||
declare var myFunction3: () => any;
|
|
65
test/test.js
65
test/test.js
File diff suppressed because one or more lines are too long
1
test/test.js.map
Normal file
1
test/test.js.map
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"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"}
|
118
test/test.ts
Normal file
118
test/test.ts
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
/// <reference path="../ts/typings/main.d.ts" />
|
||||||
|
var gulp = require("gulp");
|
||||||
|
var gulpFunction = require("../dist/index.js");
|
||||||
|
var beautylog = require("beautylog");
|
||||||
|
var Q = require("q");
|
||||||
|
|
||||||
|
var myFunction = function () {
|
||||||
|
var done = Q.defer()
|
||||||
|
beautylog.log("Function executed");
|
||||||
|
done.resolve();
|
||||||
|
return done.promise;
|
||||||
|
};
|
||||||
|
var myFunction2 = function () {
|
||||||
|
var done = Q.defer();
|
||||||
|
beautylog.ok("Function2 executed");
|
||||||
|
done.resolve();
|
||||||
|
return done.promise;
|
||||||
|
};
|
||||||
|
var myFunction3 = function () {
|
||||||
|
var done = Q.defer();
|
||||||
|
beautylog.success("Function3 executed");
|
||||||
|
done.resolve();
|
||||||
|
return done.promise;
|
||||||
|
};
|
||||||
|
|
||||||
|
var beforeFunction = function () {
|
||||||
|
var done = Q.defer();
|
||||||
|
beautylog.success("beforeFunction executed");
|
||||||
|
done.resolve();
|
||||||
|
return done.promise;
|
||||||
|
};
|
||||||
|
|
||||||
|
var middleFunctionRun = false;
|
||||||
|
|
||||||
|
var middleFunction = function () {
|
||||||
|
var done = Q.defer();
|
||||||
|
beautylog.success("middleFunction executed");
|
||||||
|
setTimeout(function(){
|
||||||
|
beautylog.log("timeout fired");
|
||||||
|
middleFunctionRun = true;
|
||||||
|
done.resolve();
|
||||||
|
}, 500);
|
||||||
|
return done.promise;
|
||||||
|
};
|
||||||
|
|
||||||
|
var afterFunction = function () {
|
||||||
|
var done = Q.defer();
|
||||||
|
beautylog.success("afterFunction executed");
|
||||||
|
done.resolve();
|
||||||
|
return done.promise;
|
||||||
|
};
|
||||||
|
|
||||||
|
let timeoutFunction = function(){
|
||||||
|
var 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'".blue,function(done){
|
||||||
|
gulp.src('./test/*.md')
|
||||||
|
.pipe(gulpFunction(myFunction,'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'".blue,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'".blue,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");
|
||||||
|
var done2 = Q.defer();
|
||||||
|
done2.resolve();
|
||||||
|
return done2.promise;
|
||||||
|
},"forEach"))
|
||||||
|
.pipe(gulpFunction(function(){
|
||||||
|
beautylog.log("nextStep");
|
||||||
|
}))
|
||||||
|
.pipe(gulpFunction(afterFunction,"atEnd"))
|
||||||
|
.pipe(gulpFunction(timeoutFunction,"atEnd"));
|
||||||
|
|
||||||
|
stream.on("finish",function(){
|
||||||
|
beautylog.info("stream finished");
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
43
ts/index.ts
43
ts/index.ts
@ -11,21 +11,21 @@ var plugins = {
|
|||||||
|
|
||||||
module.exports = function (functionsToExecuteArg:any|any[],executionModeArg:string = 'forEach') {
|
module.exports = function (functionsToExecuteArg:any|any[],executionModeArg:string = 'forEach') {
|
||||||
//important vars
|
//important vars
|
||||||
var executionMode = executionModeArg; //can be forEach or atEnd
|
let executionMode = executionModeArg; //can be forEach or atEnd
|
||||||
var functionsToExecute = functionsToExecuteArg;
|
let functionsToExecute = functionsToExecuteArg;
|
||||||
var promiseArray = [];
|
let promiseArray = [];
|
||||||
var runFunction = function(functionArg){
|
let runFunction = function(functionArg){
|
||||||
var returnValue = functionArg();
|
let returnValue = functionArg();
|
||||||
if (typeof returnValue !== "undefined" && typeof returnValue.then !== "undefined") {
|
if (typeof returnValue !== "undefined" && typeof returnValue.then !== "undefined") {
|
||||||
promiseArray.push(returnValue);
|
promiseArray.push(returnValue);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var checkAndRunFunction = function () {
|
let checkAndRunFunction = function () {
|
||||||
if (typeof functionsToExecute === "function" ) {
|
if (typeof functionsToExecute === "function" ) {
|
||||||
runFunction(functionsToExecute);
|
runFunction(functionsToExecute);
|
||||||
} else if (Array.isArray(functionsToExecute)) {
|
} else if (Array.isArray(functionsToExecute)) {
|
||||||
for (var anyFunction in functionsToExecute) {
|
for (let anyFunction in functionsToExecute) {
|
||||||
runFunction(functionsToExecute[anyFunction]);
|
runFunction(functionsToExecute[anyFunction]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -34,20 +34,29 @@ module.exports = function (functionsToExecuteArg:any|any[],executionModeArg:stri
|
|||||||
return plugins.Q.all(promiseArray);
|
return plugins.Q.all(promiseArray);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let hasExecutedOnce = false;
|
||||||
var forEach = function (file, enc, cb) {
|
let forEach = function (file, enc, cb) { //the forEach function is called for every chunk
|
||||||
if (executionMode === 'forEach') {
|
switch (executionMode){
|
||||||
checkAndRunFunction().then(function(){
|
case "forEach":
|
||||||
|
checkAndRunFunction().then(function(){
|
||||||
|
cb(null, file);
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "forFirst":
|
||||||
|
!hasExecutedOnce ? checkAndRunFunction().then(function(){
|
||||||
|
cb(null, file);
|
||||||
|
}) : cb(null, file);
|
||||||
|
hasExecutedOnce = true;
|
||||||
|
break;
|
||||||
|
case "atEnd":
|
||||||
cb(null, file);
|
cb(null, file);
|
||||||
});
|
break;
|
||||||
} else {
|
default:
|
||||||
cb(null, file);
|
break;
|
||||||
}
|
}
|
||||||
//tell gulp that we are complete
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var atEnd = function(cb) {
|
let atEnd = function(cb) {
|
||||||
if (executionMode === "atEnd") {
|
if (executionMode === "atEnd") {
|
||||||
checkAndRunFunction().then(function(){
|
checkAndRunFunction().then(function(){
|
||||||
cb();
|
cb();
|
||||||
|
50
ts/test.ts
50
ts/test.ts
@ -1,50 +0,0 @@
|
|||||||
/// <reference path="typings/main.d.ts" />
|
|
||||||
var gulp = require("gulp");
|
|
||||||
var gulpFunction = require("../index.js");
|
|
||||||
var beautylog = require("beautylog");
|
|
||||||
var Q = require("q");
|
|
||||||
|
|
||||||
var myFunction = function () {
|
|
||||||
var done = Q.defer()
|
|
||||||
beautylog.log("Function executed");
|
|
||||||
done.resolve();
|
|
||||||
return done.promise;
|
|
||||||
};
|
|
||||||
var myFunction2 = function () {
|
|
||||||
var done = Q.defer();
|
|
||||||
beautylog.ok("Function2 executed");
|
|
||||||
done.resolve();
|
|
||||||
return done.promise;
|
|
||||||
};
|
|
||||||
var myFunction3 = function () {
|
|
||||||
var done = Q.defer();
|
|
||||||
beautylog.success("Function3 executed");
|
|
||||||
done.resolve();
|
|
||||||
return done.promise;
|
|
||||||
};
|
|
||||||
|
|
||||||
describe("gulpFunction",function(){
|
|
||||||
it("should run through smoothly with " + "'forEach'".blue,function(done){
|
|
||||||
gulp.src('./test/*.md')
|
|
||||||
.pipe(gulpFunction(myFunction,'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'".blue,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"));
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user