harcon-flow
Advanced tools
Comparing version 1.8.0 to 2.0.0
258
.eslintrc.js
module.exports = { | ||
"parserOptions": { | ||
"ecmaVersion": 6, | ||
"ecmaFeatures": { | ||
"experimentalObjectRestSpread": true, | ||
"jsx": true | ||
}, | ||
"sourceType": "module" | ||
"ecmaVersion": 8 | ||
}, | ||
@@ -13,2 +8,3 @@ "env": { | ||
"node": true, | ||
"commonjs": true, | ||
"mongo": true, | ||
@@ -19,141 +15,115 @@ "mocha": true, | ||
"rules": { | ||
"arrow-parens": [2, "always"], | ||
"arrow-body-style": [2, "always"], | ||
"arrow-spacing": [2, { | ||
"before": true, | ||
"after": true | ||
}], | ||
"block-spacing": [2, "always"], | ||
"comma-dangle": [2, "never"], | ||
"comma-spacing": [2, { | ||
"before": false, | ||
"after": true | ||
}], | ||
"comma-style": [2, "last"], | ||
"constructor-super": 2, | ||
"dot-location": [2, "property"], | ||
"eol-last": 2, | ||
"eqeqeq": [2, "allow-null"], | ||
"generator-star-spacing": [2, { | ||
"before": true, | ||
"after": true | ||
}], | ||
"handle-callback-err": [2, "^(err|error)$"], | ||
"indent": [2, "tab"], | ||
"jsx-quotes": [2, "prefer-single"], | ||
"key-spacing": [2, { | ||
"beforeColon": false, | ||
"afterColon": true | ||
}], | ||
"keyword-spacing": [2, { | ||
"before": true, | ||
"after": true | ||
}], | ||
"new-cap": [2, { | ||
"newIsCap": true, | ||
"capIsNew": false | ||
}], | ||
"new-parens": 2, | ||
"no-array-constructor": 2, | ||
"no-caller": 2, | ||
"no-class-assign": 2, | ||
"no-cond-assign": 2, | ||
"no-confusing-arrow": 2, | ||
"no-const-assign": 2, | ||
"no-control-regex": 2, | ||
"no-debugger": 2, | ||
"no-delete-var": 2, | ||
"no-dupe-args": 2, | ||
"no-dupe-class-members": 2, | ||
"no-dupe-keys": 2, | ||
"no-duplicate-case": 2, | ||
"no-empty-character-class": 2, | ||
"no-empty-pattern": 2, | ||
"no-eval": 2, | ||
"no-ex-assign": 2, | ||
"no-extra-bind": 2, | ||
"no-extra-boolean-cast": 2, | ||
"no-extra-parens": [2, "functions"], | ||
"no-fallthrough": 2, | ||
"no-floating-decimal": 2, | ||
"no-func-assign": 2, | ||
"no-implied-eval": 2, | ||
"no-inner-declarations": [2, "functions"], | ||
"no-invalid-regexp": 2, | ||
"no-irregular-whitespace": 2, | ||
"no-iterator": 2, | ||
"no-label-var": 2, | ||
"no-labels": [2, { | ||
"allowLoop": false, | ||
"allowSwitch": false | ||
}], | ||
"no-lone-blocks": 2, | ||
"no-mixed-spaces-and-tabs": 2, | ||
"no-multi-spaces": 2, | ||
"no-multi-str": 2, | ||
"no-native-reassign": 2, | ||
"no-negated-in-lhs": 2, | ||
"no-new": 2, | ||
"no-new-object": 2, | ||
"no-new-require": 2, | ||
"no-new-symbol": 2, | ||
"no-new-wrappers": 2, | ||
"no-obj-calls": 2, | ||
"no-octal": 2, | ||
"no-octal-escape": 2, | ||
"no-path-concat": 2, | ||
"no-proto": 2, | ||
"no-redeclare": 2, | ||
"no-regex-spaces": 2, | ||
"no-return-assign": [2, "except-parens"], | ||
"no-self-assign": 2, | ||
"no-self-compare": 2, | ||
"no-shadow-restricted-names": 2, | ||
"no-spaced-func": 2, | ||
"no-sparse-arrays": 2, | ||
"no-this-before-super": 2, | ||
"no-throw-literal": 2, | ||
"no-trailing-spaces": 2, | ||
"no-undef": 2, | ||
"no-undef-init": 2, | ||
"no-unneeded-ternary": [2, { | ||
"defaultAssignment": false | ||
}], | ||
"no-unreachable": 2, | ||
"no-unused-vars": [2, { | ||
"vars": "all", | ||
"args": "none" | ||
}], | ||
"no-useless-call": 2, | ||
"no-useless-constructor": 2, | ||
"no-with": 2, | ||
"operator-linebreak": [2, "after", { | ||
"overrides": { | ||
"?": "before", | ||
":": "before" | ||
} | ||
}], | ||
"quotes": [2, "single", "avoid-escape"], | ||
"semi": [2, "never"], | ||
"semi-spacing": [2, { | ||
"before": false, | ||
"after": true | ||
}], | ||
"space-before-blocks": [2, "always"], | ||
"space-before-function-paren": [2, "always"], | ||
"space-infix-ops": 2, | ||
"space-unary-ops": [2, { | ||
"words": true, | ||
"nonwords": false | ||
}], | ||
"spaced-comment": [2, "always", { | ||
"markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!", ","] | ||
}], | ||
"template-curly-spacing": [2, "never"], | ||
"use-isnan": 2, | ||
"valid-typeof": 2, | ||
"wrap-iife": [2, "any"], | ||
"yield-star-spacing": [2, "both"], | ||
"yoda": [2, "never"] | ||
"accessor-pairs": 2, | ||
"arrow-spacing": [2, { "before": true, "after": true }], | ||
"block-spacing": [2, "always"], | ||
"camelcase": [2, { "properties": "never" }], | ||
"comma-dangle": [2, "never"], | ||
"comma-spacing": [2, { "before": false, "after": true }], | ||
"comma-style": [2, "last"], | ||
"constructor-super": 2, | ||
"dot-location": [2, "property"], | ||
"eol-last": 2, | ||
"eqeqeq": [2, "allow-null"], | ||
"func-call-spacing": [2, "never"], | ||
"handle-callback-err": [2, "^(err|error)$" ], | ||
"key-spacing": [2, { "beforeColon": false, "afterColon": true }], | ||
"keyword-spacing": [2, { "before": true, "after": true }], | ||
"new-cap": [2, { "newIsCap": true, "capIsNew": false }], | ||
"new-parens": 2, | ||
"no-array-constructor": 2, | ||
"no-caller": 2, | ||
"no-class-assign": 2, | ||
"no-cond-assign": 2, | ||
"no-const-assign": 2, | ||
"no-constant-condition": [2, { "checkLoops": false }], | ||
"no-control-regex": 2, | ||
"no-debugger": 2, | ||
"no-delete-var": 2, | ||
"no-dupe-args": 2, | ||
"no-dupe-class-members": 2, | ||
"no-dupe-keys": 2, | ||
"no-duplicate-case": 2, | ||
"no-duplicate-imports": 2, | ||
"no-empty-character-class": 2, | ||
"no-empty-pattern": 2, | ||
"no-eval": 2, | ||
"no-ex-assign": 2, | ||
"no-extra-bind": 2, | ||
"no-extra-boolean-cast": 2, | ||
"no-extra-parens": [2, "functions"], | ||
"no-fallthrough": 2, | ||
"no-floating-decimal": 2, | ||
"no-func-assign": 2, | ||
"no-global-assign": 2, | ||
"no-implied-eval": 2, | ||
"no-inner-declarations": [2, "functions"], | ||
"no-invalid-regexp": 2, | ||
"no-irregular-whitespace": 2, | ||
"no-iterator": 2, | ||
"no-label-var": 2, | ||
"no-labels": [2, { "allowLoop": false, "allowSwitch": false }], | ||
"no-lone-blocks": 2, | ||
"no-mixed-spaces-and-tabs": 2, | ||
"no-multi-spaces": 2, | ||
"no-multi-str": 2, | ||
"no-native-reassign": 2, | ||
"no-negated-in-lhs": 2, | ||
"no-new": 2, | ||
"no-new-func": 2, | ||
"no-new-object": 2, | ||
"no-new-require": 2, | ||
"no-new-symbol": 2, | ||
"no-new-wrappers": 2, | ||
"no-obj-calls": 2, | ||
"no-octal": 2, | ||
"no-octal-escape": 2, | ||
"no-path-concat": 2, | ||
"no-proto": 2, | ||
"no-redeclare": 2, | ||
"no-regex-spaces": 2, | ||
"no-return-assign": [2, "except-parens"], | ||
"no-self-assign": 2, | ||
"no-self-compare": 2, | ||
"no-sequences": 2, | ||
"no-shadow-restricted-names": 2, | ||
"no-sparse-arrays": 2, | ||
"no-template-curly-in-string": 2, | ||
"no-this-before-super": 2, | ||
"no-throw-literal": 2, | ||
"no-trailing-spaces": 2, | ||
"no-undef": 2, | ||
"no-undef-init": 2, | ||
"no-unexpected-multiline": 2, | ||
"no-unmodified-loop-condition": 2, | ||
"no-unneeded-ternary": [2, { "defaultAssignment": false }], | ||
"no-unreachable": 2, | ||
"no-unsafe-finally": 2, | ||
"no-unsafe-negation": 2, | ||
"no-unused-vars": [2, { "vars": "all", "args": "none" }], | ||
"no-useless-call": 2, | ||
"no-useless-computed-key": 2, | ||
"no-useless-constructor": 2, | ||
"no-useless-escape": 2, | ||
"no-useless-rename": 2, | ||
"no-with": 2, | ||
"object-property-newline": [2, { "allowMultiplePropertiesPerLine": true }], | ||
"operator-linebreak": [2, "after", { "overrides": { "?": "before", ":": "before" } }], | ||
"quotes": [2, "single", { "avoidEscape": true, "allowTemplateLiterals": true }], | ||
"rest-spread-spacing": [2, "never"], | ||
"semi": [2, "never"], | ||
"semi-spacing": [2, { "before": false, "after": true }], | ||
"space-before-blocks": [2, "always"], | ||
"space-before-function-paren": [2, "always"], | ||
"space-infix-ops": 2, | ||
"space-unary-ops": [2, { "words": true, "nonwords": false }], | ||
"spaced-comment": [2, "always", { "line": { "markers": ["*package", "!", ","] }, "block": { "balanced": true, "markers": ["*package", "!", ","], "exceptions": ["*"] } }], | ||
"template-curly-spacing": [2, "never"], | ||
"unicode-bom": [2, "never"], | ||
"use-isnan": 2, | ||
"valid-typeof": 2, | ||
"yield-star-spacing": [2, "both"], | ||
"yoda": [2, "never"], | ||
"indent": ["error", "tab"], | ||
} | ||
} |
@@ -120,3 +120,3 @@ var Proback = require('proback.js') | ||
Promise.all( flowDefs.map( function (flowDef) { | ||
return self.parse( flowDef.name || flowDef.title, flowDef.def ) | ||
return self.parse( flowDef.name || flowDef.title, flowDef.def, flowDef.validation ) | ||
} ) ) | ||
@@ -147,3 +147,4 @@ .then( (flows) => { | ||
type: flow.source.type, | ||
primers: flow.messages.map( function (message) { return message.actor + '.' + message.message } ) | ||
primers: flow.messages.map( function (message) { return message.actor + '.' + message.message } ), | ||
validation: flow.validation | ||
} | ||
@@ -163,3 +164,3 @@ return def | ||
}, | ||
parse: function ( title, flowDef, callback ) { | ||
parse: function ( title, flowDef, validation = {}, callback ) { | ||
return new Promise( (resolve, reject) => { | ||
@@ -179,3 +180,3 @@ if (!flowDef) return Proback.rejecter(new Error('No content passed'), callback, reject) | ||
} ) | ||
return Proback.resolver( { title: title, source: source, messages: messages}, callback, resolve) | ||
return Proback.resolver( { title: title, source: source, messages: messages, validation: validation }, callback, resolve) | ||
} catch (err) { return Proback.rejecter(err, callback, reject) } | ||
@@ -182,0 +183,0 @@ } ) |
{ | ||
"name": "harcon-flow", | ||
"version": "1.8.0", | ||
"version": "2.0.0", | ||
"description": "Small utility library to descript business flows for harcon", | ||
@@ -34,4 +34,4 @@ "keywords": [ | ||
"engines": { | ||
"node": ">= 4.0.0" | ||
"node": ">= 6.0.0" | ||
} | ||
} |
@@ -10,8 +10,8 @@ let Parser = require('../lib/FlowParser') | ||
flows = [ | ||
{ name: 'react', def: fs.readFileSync('./test/react.flow', 'utf8') }, | ||
{ name: 'continue', def: fs.readFileSync('./test/continue.flow', 'utf8') } | ||
{ name: 'react', def: fs.readFileSync('./test/react.flow', 'utf8'), validation: require('./react') }, | ||
{ name: 'continue', def: fs.readFileSync('./test/continue.flow', 'utf8'), validation: require('./continue') } | ||
] | ||
linkFlows = [ | ||
{ name: 'make an offer', def: fs.readFileSync('./test/link.flow', 'utf8') }, | ||
{ name: 'calculate the prices', def: fs.readFileSync('./test/continue.flow', 'utf8') } | ||
{ name: 'make an offer', def: fs.readFileSync('./test/link.flow', 'utf8'), validation: require('./link') }, | ||
{ name: 'calculate the prices', def: fs.readFileSync('./test/continue.flow', 'utf8'), validation: require('./continue') } | ||
] | ||
@@ -18,0 +18,0 @@ done() |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
18705
14
378