harcon-flow
Advanced tools
Comparing version 2.5.0 to 2.5.5
@@ -62,2 +62,11 @@ var Assigner = require('assign.js') | ||
function extractError ( title, def ) { | ||
if ( !def.startsWith('!') ) return null | ||
var res = { error: true } | ||
def = def.substring( 1 ).trim() | ||
return extractEntity( def, res ) | ||
} | ||
function extractSource ( title, def ) { | ||
@@ -119,2 +128,5 @@ var res = { message: messagify(title) } | ||
if ( !Array.isArray(flowDefs) ) | ||
flowDefs = [ flowDefs ] | ||
var res = { } | ||
@@ -165,9 +177,10 @@ let flows = await Promise.all( flowDefs.map( function (flowDef) { | ||
var source = extractSource( title, clean( def[0] ) ) | ||
var error = extractError( title, clean( def[ def.length - 1 ] ) ) | ||
var messages = [] | ||
def.slice( 1 ).forEach( function (exchange) { | ||
def.slice( 1, error ? def.length - 1 : def.length ).forEach( function (exchange) { | ||
messages.push( extractEntity( clean( exchange ) ) ) | ||
} ) | ||
return { title: title, source: source, messages: messages, validation: validation, timeout: timeout } | ||
return { title: title, source: source, messages: messages, error: error, validation: validation, timeout: timeout } | ||
} | ||
} |
{ | ||
"name": "harcon-flow", | ||
"version": "2.5.0", | ||
"version": "2.5.5", | ||
"description": "Small utility library to descript business flows for harcon", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -6,3 +6,3 @@ let Parser = require('../lib/FlowParser') | ||
describe('Harcon-Flow', function () { | ||
let flows, linkFlows | ||
let flows, linkFlows, errorFlow | ||
before(function (done) { | ||
@@ -18,2 +18,3 @@ try { | ||
] | ||
errorFlow = { name: 'react on error', def: fs.readFileSync('./test/error.flow', 'utf8'), validation: require('./react') } | ||
done() | ||
@@ -26,9 +27,9 @@ } catch (err) { done(err) } | ||
Parser.generateDefs( flows, {} ) | ||
.then( (flow) => { | ||
console.log( '.....', JSON.stringify( flow ) ) | ||
done() | ||
} ) | ||
.catch( (reason) => { | ||
done(reason) | ||
} ) | ||
.then( (flow) => { | ||
console.log( '.....', JSON.stringify( flow ) ) | ||
done() | ||
} ) | ||
.catch( (reason) => { | ||
done(reason) | ||
} ) | ||
} ) | ||
@@ -38,10 +39,21 @@ | ||
Parser.generateDefs( linkFlows, {} ) | ||
.then( (flow) => { | ||
console.log( '.....', JSON.stringify( flow ) ) | ||
done() | ||
} ) | ||
.catch( (reason) => { | ||
done(reason) | ||
} ) | ||
.then( (flow) => { | ||
console.log( '.....', JSON.stringify( flow ) ) | ||
done() | ||
} ) | ||
.catch( (reason) => { | ||
done(reason) | ||
} ) | ||
} ) | ||
it('Error', function (done) { | ||
Parser.generateDefs( [errorFlow], {} ) | ||
.then( (flow) => { | ||
console.log( '.....', JSON.stringify( flow ) ) | ||
done() | ||
} ) | ||
.catch( (reason) => { | ||
done(reason) | ||
} ) | ||
} ) | ||
} ) | ||
@@ -52,9 +64,9 @@ | ||
Parser.generateDefs( linkFlows, { d3: true } ) | ||
.then( (flow) => { | ||
console.log( '.....', flow.graph ) | ||
done() | ||
} ) | ||
.catch( (reason) => { | ||
done(reason) | ||
} ) | ||
.then( (flow) => { | ||
console.log( '.....', flow.graph ) | ||
done() | ||
} ) | ||
.catch( (reason) => { | ||
done(reason) | ||
} ) | ||
} ) | ||
@@ -61,0 +73,0 @@ } ) |
19457
14
382