@@ -39,8 +39,8 @@ worksmith = wfLoader
39
39
function getStepName ( step ) {
40
40
if ( step . name ) { return step . name }
41
41
var name = step . name || step . task ;
42
- if ( "function" === typeof name ) {
43
- name = "<Anonymous>" + name . name
42
+ if ( "function" === typeof name ) {
43
+ name = "<Anonymous>" + name . name
44
44
}
45
45
return step . name = name ;
46
46
}
@@ -50,7 +50,7 @@ var workflow = {
50
50
use : function ( ns , taskLibrary ) {
51
51
resolvers [ ns ] = taskLibrary ;
52
52
} ,
53
-
53
+
54
54
createAdapter : function ( object ) {
55
55
return function getType ( name ) {
56
56
var method = object [ name ] ;
@@ -68,7 +68,11 @@ var workflow = {
68
68
configure : function ( options ) {
69
69
_ . extend ( settings , options ) ;
70
70
} ,
71
-
71
+
72
+ hasLogLevel : function ( level ) {
73
+ return settings . logger [ level ] !== undefined
74
+ } ,
75
+
72
76
log : function ( ) {
73
77
var level = arguments [ 0 ]
74
78
settings . logger [ level ] . apply ( settings . logger , Array . prototype . slice . call ( arguments , 1 ) )
@@ -94,8 +98,8 @@ var workflow = {
94
98
if ( "string" === typeof task ) return workflow . getTaskType ( task ) ;
95
99
return task ;
96
100
} ,
97
-
98
-
101
+
102
+
99
103
100
104
define : function ( workflowDefinition ) {
101
105
@@ -162,7 +166,7 @@ var workflow = {
162
166
initializeContext ( context )
163
167
var decorated = wfInstance ( context )
164
168
debug ( "preparing: %s" , getStepName ( workflowDefinition ) )
165
-
169
+
166
170
167
171
var markWorkflowTerminate = function ( done ) {
168
172
context . completionStack = context . completionStack || [ ]
@@ -172,15 +176,15 @@ var workflow = {
172
176
}
173
177
}
174
178
175
-
179
+
176
180
return function execute ( done ) {
177
181
178
-
182
+
179
183
if ( ! checkCondition ( context ) )
180
184
return done ( )
181
-
185
+
182
186
markWorkflowTerminate ( done )
183
-
187
+
184
188
function invokeDecorated ( err , res , next ) {
185
189
function createExecutionThisContext ( ) {
186
190
return {
@@ -198,7 +202,7 @@ var workflow = {
198
202
}
199
203
}
200
204
}
201
-
205
+
202
206
var args = getArgumentsFromAnnotations ( context , decorated , wfInstance )
203
207
args . push ( next )
204
208
try {
@@ -213,7 +217,7 @@ var workflow = {
213
217
var errorWfDef = context . get ( workflowDefinition . onError ) ;
214
218
var errorWf = workflow . define ( errorWfDef ) ;
215
219
context . error = err ;
216
- errorWf ( context , function ( errHandlerErr , errRes ) {
220
+ errorWf ( context , function ( errHandlerErr , errRes ) {
217
221
if ( errorWfDef . handleError ) err = errHandlerErr ;
218
222
next ( err , res ) ;
219
223
} )
@@ -236,14 +240,14 @@ var workflow = {
236
240
}
237
241
next ( err , result )
238
242
}
239
-
243
+
240
244
function setWorkflowResultTo ( err , result , next ) {
241
245
if ( err ) { return next ( err , result ) }
242
246
process . env . WSDEBUGPARAMS && debug ( "...result is" , result )
243
247
context . set ( workflowDefinition . resultTo , result )
244
248
next ( err , result )
245
249
}
246
-
250
+
247
251
function buildUpMicroworkflow ( ) {
248
252
var tasks = [ invokeDecorated ] ;
249
253
workflowDefinition . onError && tasks . push ( onError )
@@ -254,23 +258,23 @@ var workflow = {
254
258
}
255
259
256
260
var tasks = buildUpMicroworkflow ( ) ;
257
-
261
+
258
262
function executeNextThunkOrComplete ( err , res ) {
259
263
var thunk = tasks . shift ( ) ;
260
264
if ( thunk ) {
261
265
return thunk ( err , res , executeNextThunkOrComplete )
262
266
}
263
-
267
+
264
268
debug ( "Finished executing WF %s" , getStepName ( workflowDefinition ) )
265
269
var originalDone = context . originalTerminate || done ;
266
270
var donePosition = context . completionStack . indexOf ( originalDone ) ;
267
271
context . completionStack . splice ( donePosition , 1 )
268
272
done ( err , res , context )
269
273
}
270
-
274
+
271
275
debug ( "Executing WF %s" , getStepName ( workflowDefinition ) )
272
276
return executeNextThunkOrComplete ( )
273
-
277
+
274
278
}
275
279
}
276
280
} ,
0 commit comments