Socket
Socket
Sign inDemoInstall

axway-flow-sdk

Package Overview
Dependencies
Maintainers
8
Versions
82
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

axway-flow-sdk - npm Package Compare versions

Comparing version 1.1.1 to 1.2.4

templates/.eslintrc

2

bin/axway-flow.js
#! /usr/bin/env node
const newNode = require('../dist/new-node');
const newNode = require('../src/new-node');
const nomnom = require('nomnom');

@@ -5,0 +5,0 @@

@@ -7,3 +7,5 @@ 'use strict';

/* eslint max-len: 0 */
var _require = require('axway-flow-schema'),
flowschema = _require.v2;
var fs = require('fs');

@@ -24,2 +26,3 @@ var Ajv = require('ajv');

/**
* @param {object} srcModule - a node module
* @private

@@ -62,2 +65,3 @@ */

* @private
* @return {NodeBuilder} The current object (this).
*/

@@ -77,4 +81,4 @@

* operations:
* - {@link module:axway-node-sdk~NodeBuilder#method .method(key, [options])}
* - {@link module:axway-node-sdk~NodeBuilder#output .output(key, [options])}
* - {@link module:axway-flow-sdk~NodeBuilder#method .method(key, [options])}
* - {@link module:axway-flow-sdk~NodeBuilder#output .output(key, [options])}
*

@@ -87,7 +91,7 @@ * The `key` parameter is used to uniquely identify the spec and represents a distinct

* The `icon` option can be bmp, jpeg, png, gif, tiff, or svg file. After,
* {@link module:axway-node-sdk~NodeBuilder#method .method}
* {@link module:axway-flow-sdk~NodeBuilder#method .method}
* can be used to add method(s), and
* {@link module:axway-node-sdk~NodeBuilder#output .output} can be used to
* {@link module:axway-flow-sdk~NodeBuilder#output .output} can be used to
* define an output. When done,
* {@link module:axway-node-sdk~NodeBuilder#action .action} can be used to
* {@link module:axway-flow-sdk~NodeBuilder#action .action} can be used to
* define an action function and finish the spec.

@@ -103,4 +107,3 @@ *

* in the UI (defaults to "general").
* @return {@link module:axway-node-sdk~NodeBuilder `NodeBuilder`} The current
* object (this).
* @return {NodeBuilder} The current object (this).
* @example

@@ -134,2 +137,3 @@ * sdk.init(module).add('encodeURI', { icon: 'encode.svg' });

name: options.name || key,
type: 'nodehandler://', // This is updated by API Builder on load
description: options.description || this.description || null,

@@ -178,6 +182,6 @@ icon: 'icon-GG-question-sign',

* to accept the following method operations:
* - {@link module:axway-node-sdk~NodeBuilder#parameter .parameter(name, schema, [required])}
* - {@link module:axway-node-sdk~NodeBuilder#action .action(handler)}
* - {@link module:axway-flow-sdk~NodeBuilder#parameter .parameter(name, schema, [required])}
* - {@link module:axway-flow-sdk~NodeBuilder#action .action(handler)}
*
* {@link module:axway-node-sdk~NodeBuilder#add .add(key, [options])} must be
* {@link module:axway-flow-sdk~NodeBuilder#add .add(key, [options])} must be
* called prior to adding a method.

@@ -191,6 +195,5 @@ *

* @param {object=} options - Options for the method.
* @param {string=} options.name - A friendly name for the method as it will appear in the UI.
* @param {string=} - A friendly name for the method as it will appear in the UI.
* @param {string=} options.description - A description for the method.
* @return {@link module:axway-node-sdk~NodeBuilder `NodeBuilder`} The current
* object (this).
* @return {NodeBuilder} The current object (this).
* @example

@@ -238,3 +241,3 @@ * sdk.init(module).add('encodeURI', { icon: 'encode.svg' })

*
* {@link module:axway-node-sdk~NodeBuilder#method .method(key, [options])} must be
* {@link module:axway-flow-sdk~NodeBuilder#method .method(key, [options])} must be
* called prior to adding a parameter.

@@ -251,4 +254,3 @@ *

* @param {boolean} [required=true] - A flag to indicate the parameter is required or optional.
* @return {@link module:axway-node-sdk~NodeBuilder `NodeBuilder`} The current
* object (this).
* @return {NodeBuilder} The current object (this).
* @example

@@ -277,3 +279,6 @@ * sdk.init(module).add('encodeURI', { icon: 'encode.svg' })

}
var ajv = new Ajv({ unknownFormats: ['multiline'] });
var ajv = new Ajv({ unknownFormats: 'ignore' });
ajv.addFormat('multiline', function () {
return true;
});
ajv.compile(schema);

@@ -294,3 +299,3 @@

*
* {@link module:axway-node-sdk~NodeBuilder#method .method(key, [options])}
* {@link module:axway-flow-sdk~NodeBuilder#method .method(key, [options])}
* must be called prior to adding an output.

@@ -310,2 +315,3 @@ *

* @param {string} key - A unique key for the output.
* @param {object} options - output options
* @param {string=} options.name - A friendly name for the output as it will appear in

@@ -316,4 +322,3 @@ * the UI.

* @param {object=} options.schema - The expected JSON schema for the output value.
* @return {@link module:axway-node-sdk~NodeBuilder `NodeBuilder`} The current
* object (this).
* @return {NodeBuilder} The current object (this).
* @example

@@ -342,11 +347,9 @@ * sdk.init(module).add('encodeURI', { icon: 'encode.svg' })

/**
* Assigns an action {@link module:axway-node-sdk~handler `handler`} to
* Assigns an action {@link module:axway-flow-sdk~handler `handler`} to
* the current method. The method can only have one action handler. Assigning an action will
* terminate the current method definition.
*
* @public
* @param {handler} - The action {@link module:axway-node-sdk~handler `handler`}
* @param {handler} handler - The action {@link module:axway-flow-sdk~handler `handler`}
* function.
* @return {@link module:axway-node-sdk~NodeBuilder `NodeBuilder`} The current
* object (this).
* @return {NodeBuilder} The current object (this).
* @example

@@ -397,6 +400,6 @@ * sdk.init(module).add('encodeURI', { icon: 'encode.svg' })

* @callback handler
* @param {Request} req - The {@link module:axway-node-sdk~Request `Request`}
* @param {Request} req - The {@link module:axway-flow-sdk~Request `Request`}
* object.
* @param {flowCallback} cb - The output
* {@link module:axway-node-sdk~flowCallback `callback`}.
* {@link module:axway-flow-sdk~flowCallback `callback`}.
*/

@@ -407,3 +410,3 @@

* A callback function that your method
* {@link module:axway-node-sdk~handler `handler`} must invoke.
* {@link module:axway-flow-sdk~handler `handler`} must invoke.
*

@@ -422,3 +425,3 @@ * @public

* @property {object} params - The method params, as supplied during runtime
* (see {@link module:axway-node-sdk~NodeBuilder#parameter .parameter}).
* (see {@link module:axway-flow-sdk~NodeBuilder#parameter .parameter}).
*/

@@ -431,4 +434,2 @@

// * @alias module:axway-node-sdk
/**

@@ -439,6 +440,6 @@ * Axway API Builder SDK for creating custom nodes to work with flows.

* @return {NodeBuilder} A newly constructed
* {@link module:axway-node-sdk~NodeBuilder `NodeBuilder`} object
* {@link module:axway-flow-sdk~NodeBuilder `NodeBuilder`} object
* @function
* @example
* const sdk = require('axway-node-sdk');
* const sdk = require('axway-flow-sdk');
* exports = module.exports = sdk.init(module);

@@ -452,5 +453,51 @@ */

function validateSpec(spec) {
var ajv = new Ajv({ unknownFormats: 'ignore' });
ajv.addSchema(flowschema);
// Validate the spec
var specValidate = ajv.getSchema('http://axway.com/schemas/flowschema.json#/node-handler-schema');
if (!specValidate(spec)) {
var errMsg = specValidate.errors.map(function (err) {
var dataPath = err.dataPath ? '$' + err.dataPath : 'node-handler-schema root';
return 'at schema ' + err.schemaPath + ', ' + dataPath + ' ' + err.message + ' (' + JSON.stringify(err.params) + ')';
}).join('. ');
throw new Error(errMsg);
}
// Validate the methods action
Object.keys(spec.methods).forEach(function (methodKey) {
var method = spec.methods[methodKey];
if (!method || !method.action || typeof method.action !== 'function') {
throw new Error('method ' + methodKey + ' expected action to be a function');
}
if (method.action.length !== 2) {
throw new Error('method ' + methodKey + ' expected action function to have signature: (req, callback)');
}
});
}
/**
* Validates the flow-node specs against the Axway Flow schema.
* @public
* @param {NodeBuilder} nodes - nodes to validate
* @example
* const nodes = sdk.init(module).add('encodeURI', { icon: 'encode.svg' })
* .method('encode', { name: 'Encode URI' })
* .parameter('uri', { type: 'string' })
* .output('encoded', { context: '$.encodedURI', schema: { type: 'string' } })
* .action((req, cb) => cb.encoded(null, encodeURI(req.params.uri));
* sdk.validate(nodes);
* @throws {Error} If nodes contains invalid specs.
*/
function validate(nodes) {
Object.values(nodes.specs).forEach(function (spec) {
validateSpec(spec);
});
}
exports = module.exports = {
init: init,
validate: validate,
mocknode: mocknode
};

@@ -6,4 +6,4 @@ "use strict";

function mockmethod(spec, name, ctx) {
var methd = spec.methods[name];
if (!methd) {
var method = spec.methods[name];
if (!method) {
throw new Error("failed to find method: " + name);

@@ -13,3 +13,3 @@ }

var req = { params: {} };
Object.keys(methd.parameter.properties).forEach(function (param) {
Object.keys(method.parameter.properties).forEach(function (param) {
req.params[param] = ctx[param];

@@ -27,3 +27,3 @@ });

Object.keys(methd.outputs).forEach(function (output) {
Object.keys(method.outputs).forEach(function (output) {
cb[output] = function () {

@@ -37,3 +37,3 @@ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {

});
methd.action(req, cb);
method.action(req, cb);
});

@@ -40,0 +40,0 @@ }

@@ -28,5 +28,6 @@ 'use strict';

if (!dirStat.isDirectory()) {
fs.closeSync(dfd);
throw new Error('invalid directory: ' + dirStat);
}
/* eslint no-console: 0 */
fs.closeSync(dfd);
console.log('writing: ' + dest);

@@ -33,0 +34,0 @@ fs.writeFileSync(dest, data, 'utf8');

{
"name": "axway-flow-sdk",
"version": "1.1.1",
"author": {
"email": "support@axway.com",
"name": "Axway",
"url": "https://axway.com"
},
"description": "SDK for implementing custom flow nodes for API Builder flows",
"main": "dist/index.js",
"bin": {
"axway-flow": "bin/axway-flow.js"
},
"repository": {
"type": "git",
"url": "https://git.ecd.axway.int/amplify/axway-flow-sdk"
},
"files": [
"bin",
"dist",
"templates",
"README.md",
"LICENSE"
],
"dependencies": {
"ajv": "^5.2.3",
"dot": "^1.1.2",
"nomnom": "^1.8.1",
"validate-npm-package-name": "^3.0.0"
},
"devDependencies": {
"axway-flow": "^2.0.0",
"babel-cli": "^6.24.1",
"babel-core": "^6.25.0",
"babel-eslint": "^7.2.3",
"babel-istanbul": "^0.12.2",
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-2": "^6.24.1",
"chai": "^3.5.0",
"chai-as-promised": "^7.1.1",
"cross-env": "^5.0.1",
"dependency-check": "^2.9.1",
"eslint": "4.3.0",
"eslint-config-axway": "^2.0.3",
"eslint-config-axway-base": "^2.0.0-0",
"eslint-loader": "^1.9.0",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-jsx-a11y": "^5.1.1",
"eslint-plugin-mocha": "^4.11.0",
"eslint-plugin-react": "7.1.0",
"istanbul": "^1.1.0-alpha.1",
"jsdoc-to-markdown": "^3.0.0",
"mocha": "^3.4.2",
"node-readme": "^0.1.9",
"nsp": "^2.7.0",
"nyc": "^10.1.2",
"retire": "^1.3.3",
"rimraf": "^2.6.1",
"simple-mock": "^0.8.0"
},
"scripts": {
"build": "npm run build:dev && npm run build:checkdeps && npm run security",
"build:dist": "npm run build:readme && babel -d ./dist ./src",
"build:dev": "npm run build:lint && npm run build:dist && npm run test",
"build:checkdeps": "dependency-check --no-dev --unused package.json && dependency-check package.json",
"build:lint": "eslint .",
"build:readme": "node-readme && mv README.md README.hbs && jsdoc2md --template README.hbs src/index.js > README.md && rimraf README.hbs",
"clean": "rimraf dist/* coverage/*",
"release:major": "npm version major && npm run release:publish && git push --follow-tags",
"release:minor": "npm version minor && npm run release:publish && git push --follow-tags",
"release:patch": "npm version patch && npm run release:publish && git push --follow-tags",
"release:prerelease": "npm version prerelease && npm run release:publish && git push --follow-tags",
"release:publish": "git add -A && git push && git push --tags && npm publish",
"release:npm": "curl -X GET http://registry.ecd.axway.int:8081/artifactory/local-npm/$npm_package_name/-/$npm_package_name-$npm_package_version.tgz 2>/dev/null > $npm_package_name-$npm_package_version.tgz && npm publish --registry https://registry.npmjs.org ./$npm_package_name-$npm_package_version.tgz && rm ./$npm_package_name-$npm_package_version.tgz",
"test": "rimraf coverage && rimraf .nyc-output && cross-env NODE_ENV=test nyc --reporter=lcov --reporter=text-summary node_modules/mocha/bin/mocha --require babel-register ./test --recursive -R spec",
"test:watch": "rimraf coverage && rimraf .nyc-output && cross-env NODE_ENV=test nyc --reporter=lcov --reporter=text-summary node_modules/mocha/bin/mocha --require babel-register ./test --recursive -R spec --watch",
"posttest": "nyc check-coverage --lines 80 --branches 80 --functions 80",
"security": "npm run security:retire && npm run security:nsp",
"security:retire": "retire --exitwith 0 --package --outputformat json --outputpath scan-retire.json",
"security:nsp": "nsp check --output json > scan-nsp.json"
},
"license": "SEE LICENCE IN LICENCE"
"name": "axway-flow-sdk",
"version": "1.2.4",
"description": "SDK for implementing custom flow nodes for API Builder flows",
"homepage": "https://platform.axway.com",
"author": {
"name": "Axway",
"email": "support@axway.com",
"url": "https://axway.com"
},
"license": "SEE LICENCE IN LICENSE",
"keywords": [
"amplify",
"api-builder",
"flow",
"sdk"
],
"engines": {
"node": ">= 8.9"
},
"main": "dist/index.js",
"bin": {
"axway-flow": "bin/axway-flow.js"
},
"files": [
"bin",
"dist",
"templates",
"README.md",
"LICENSE"
],
"dependencies": {
"ajv": "^5.3.0",
"axway-flow-schema": "1.1.2",
"dot": "^1.1.2",
"nomnom": "^1.8.1",
"validate-npm-package-name": "^3.0.0"
},
"devDependencies": {
"axway-flow": "2.2.4"
},
"repository": {
"type": "git",
"url": "https://git.ecd.axway.int/amplify/api-builder"
},
"nyc": {
"reporter": [
"lcov",
"text-summary"
],
"exclude": [
"dist/*.*"
],
"check-coverage": false,
"lines": 80,
"branches": 80,
"functions": 80,
"statements": 80
},
"scripts": {
"build": "npm run clean && npm run build:dev && npm run check:dependencies",
"build:dev": "npm run build:lint && npm run build:dist && npm run test",
"build:dist": "npm run build:readme && babel -d ./dist ./src",
"build:lint": "eslint .",
"build:readme": "node-readme && shx mv README.md README.hbs && jsdoc2md --template README.hbs src/index.js > README.md && shx rm -rf README.hbs",
"clean": "shx rm -rf coverage",
"test": "shx rm -rf coverage .nyc_output && cross-env NODE_ENV=test nyc mocha ./test --recursive -R spec",
"test:watch": "npm test -- --watch",
"posttest": "nyc check-coverage",
"check:dependencies": "npm run check:used && npm run check:unused",
"check:used": "dependency-check ./package.json",
"check:unused": "dependency-check ./package.json --unused --no-dev -i deep-equal"
}
}

@@ -43,3 +43,3 @@ # axway-flow-sdk

})
.outputs('encoded', {
.output('encoded', {
name: 'Encoded',

@@ -68,3 +68,3 @@ description: 'The encoded URI.',

})
.outputs('next', {
.output('next', {
schema: {

@@ -138,15 +138,24 @@ "$ref": "schema://model/appc.arrowdb/user"

* [~NodeBuilder](#module_axway-flow-sdk..NodeBuilder)
* [.add(key, [options])](#module_axway-flow-sdk..NodeBuilder+add) ⇒
* [.method(key, [options])](#module_axway-flow-sdk..NodeBuilder+method) ⇒
* [.parameter(name, schema, [required])](#module_axway-flow-sdk..NodeBuilder+parameter) ⇒
* [.output(key)](#module_axway-flow-sdk..NodeBuilder+output) ⇒
* [.action(handler)](#module_axway-flow-sdk..NodeBuilder+action) ⇒
* [new NodeBuilder(srcModule)](#new_module_axway-flow-sdk..NodeBuilder_new)
* [.add(key, [options])](#module_axway-flow-sdk..NodeBuilder+add) ⇒ <code>NodeBuilder</code>
* [.method(key, [options])](#module_axway-flow-sdk..NodeBuilder+method) ⇒ <code>NodeBuilder</code>
* [.parameter(name, schema, [required])](#module_axway-flow-sdk..NodeBuilder+parameter) ⇒ <code>NodeBuilder</code>
* [.output(key, options)](#module_axway-flow-sdk..NodeBuilder+output) ⇒ <code>NodeBuilder</code>
* [.action(handler)](#module_axway-flow-sdk..NodeBuilder+action) ⇒ <code>NodeBuilder</code>
<a name="new_module_axway-flow-sdk..NodeBuilder_new"></a>
#### new NodeBuilder(srcModule)
| Param | Type | Description |
| --- | --- | --- |
| srcModule | <code>object</code> | a node module |
<a name="module_axway-flow-sdk..NodeBuilder+add"></a>
#### nodeBuilder.add(key, [options]) ⇒
#### nodeBuilder.add(key, [options]) ⇒ <code>NodeBuilder</code>
Adds a new node spec and prepares the `NodeBuilder` to accept the following spec
operations:
- [.method(key, [options])](module:axway-node-sdk~NodeBuilder#method)
- [.output(key, [options])](module:axway-node-sdk~NodeBuilder#output)
- [.method(key, [options])](#module_axway-flow-sdk..NodeBuilder+method)
- [.output(key, [options])](#module_axway-flow-sdk..NodeBuilder+output)

@@ -159,12 +168,11 @@ The `key` parameter is used to uniquely identify the spec and represents a distinct

The `icon` option can be bmp, jpeg, png, gif, tiff, or svg file. After,
[.method](module:axway-node-sdk~NodeBuilder#method)
[.method](#module_axway-flow-sdk..NodeBuilder+method)
can be used to add method(s), and
[.output](module:axway-node-sdk~NodeBuilder#output) can be used to
[.output](#module_axway-flow-sdk..NodeBuilder+output) can be used to
define an output. When done,
[.action](module:axway-node-sdk~NodeBuilder#action) can be used to
[.action](#module_axway-flow-sdk..NodeBuilder+action) can be used to
define an action function and finish the spec.
**Kind**: instance method of [<code>NodeBuilder</code>](#module_axway-flow-sdk..NodeBuilder)
**Returns**: [`NodeBuilder`](module:axway-node-sdk~NodeBuilder) The current
object (this).
**Returns**: <code>NodeBuilder</code> - The current object (this).
**Access**: public

@@ -187,9 +195,9 @@

#### nodeBuilder.method(key, [options]) ⇒
#### nodeBuilder.method(key, [options]) ⇒ <code>NodeBuilder</code>
Adds a new method to the current node spec and prepares the `NodeBuilder`
to accept the following method operations:
- [.parameter(name, schema, [required])](module:axway-node-sdk~NodeBuilder#parameter)
- [.action(handler)](module:axway-node-sdk~NodeBuilder#action)
- [.parameter(name, schema, [required])](#module_axway-flow-sdk..NodeBuilder+parameter)
- [.action(handler)](#module_axway-flow-sdk..NodeBuilder+action)
[.add(key, [options])](module:axway-node-sdk~NodeBuilder#add) must be
[.add(key, [options])](#module_axway-flow-sdk..NodeBuilder+add) must be
called prior to adding a method.

@@ -201,4 +209,3 @@

**Kind**: instance method of [<code>NodeBuilder</code>](#module_axway-flow-sdk..NodeBuilder)
**Returns**: [`NodeBuilder`](module:axway-node-sdk~NodeBuilder) The current
object (this).
**Returns**: <code>NodeBuilder</code> - The current object (this).
**Access**: public

@@ -210,3 +217,3 @@

| [options] | <code>object</code> | Options for the method. |
| [options.name] | <code>string</code> | A friendly name for the method as it will appear in the UI. |
| [] | <code>string</code> | A friendly name for the method as it will appear in the UI. |
| [options.description] | <code>string</code> | A description for the method. |

@@ -221,6 +228,6 @@

#### nodeBuilder.parameter(name, schema, [required]) ⇒
#### nodeBuilder.parameter(name, schema, [required]) ⇒ <code>NodeBuilder</code>
Adds a new parameter to the current method. Any number of parameters can be added to a method.
[.method(key, [options])](module:axway-node-sdk~NodeBuilder#method) must be
[.method(key, [options])](#module_axway-flow-sdk..NodeBuilder+method) must be
called prior to adding a parameter.

@@ -234,4 +241,3 @@

**Kind**: instance method of [<code>NodeBuilder</code>](#module_axway-flow-sdk..NodeBuilder)
**Returns**: [`NodeBuilder`](module:axway-node-sdk~NodeBuilder) The current
object (this).
**Returns**: <code>NodeBuilder</code> - The current object (this).
**Access**: public

@@ -253,3 +259,3 @@

#### nodeBuilder.output(key) ⇒
#### nodeBuilder.output(key, options) ⇒ <code>NodeBuilder</code>
Adds a new output to the current method. Any number of outputs can be added to a method,

@@ -260,3 +266,3 @@ but for usability-sake, you should limit this. The `output` represents one of the possible

[.method(key, [options])](module:axway-node-sdk~NodeBuilder#method)
[.method(key, [options])](#module_axway-flow-sdk..NodeBuilder+method)
must be called prior to adding an output.

@@ -275,4 +281,3 @@

**Kind**: instance method of [<code>NodeBuilder</code>](#module_axway-flow-sdk..NodeBuilder)
**Returns**: [`NodeBuilder`](module:axway-node-sdk~NodeBuilder) The current
object (this).
**Returns**: <code>NodeBuilder</code> - The current object (this).
**Access**: public

@@ -283,2 +288,3 @@

| key | <code>string</code> | A unique key for the output. |
| options | <code>object</code> | output options |
| [options.name] | <code>string</code> | A friendly name for the output as it will appear in the UI. |

@@ -298,4 +304,4 @@ | [options.description] | <code>string</code> | The output description. |

#### nodeBuilder.action(handler) ⇒
Assigns an action [`handler`](module:axway-node-sdk~handler) to
#### nodeBuilder.action(handler) ⇒ <code>NodeBuilder</code>
Assigns an action [`handler`](#module_axway-flow-sdk..handler) to
the current method. The method can only have one action handler. Assigning an action will

@@ -305,4 +311,3 @@ terminate the current method definition.

**Kind**: instance method of [<code>NodeBuilder</code>](#module_axway-flow-sdk..NodeBuilder)
**Returns**: [`NodeBuilder`](module:axway-node-sdk~NodeBuilder) The current
object (this).
**Returns**: <code>NodeBuilder</code> - The current object (this).
**Access**: public

@@ -312,3 +317,3 @@

| --- | --- | --- |
| handler | <code>handler</code> | The action [`handler`](module:axway-node-sdk~handler) function. |
| handler | <code>handler</code> | The action [`handler`](#module_axway-flow-sdk..handler) function. |

@@ -330,3 +335,3 @@ **Example**

**Returns**: <code>NodeBuilder</code> - A newly constructed
[`NodeBuilder`](module:axway-node-sdk~NodeBuilder) object
[`NodeBuilder`](#module_axway-flow-sdk..NodeBuilder) object

@@ -339,5 +344,30 @@ | Param | Type | Description |

```js
const sdk = require('axway-node-sdk');
const sdk = require('axway-flow-sdk');
exports = module.exports = sdk.init(module);
```
<a name="module_axway-flow-sdk..validate"></a>
### axway-flow-sdk~validate(nodes)
Validates the flow-node specs against the Axway Flow schema.
**Kind**: inner method of [<code>axway-flow-sdk</code>](#module_axway-flow-sdk)
**Throws**:
- <code>Error</code> If nodes contains invalid specs.
**Access**: public
| Param | Type | Description |
| --- | --- | --- |
| nodes | <code>NodeBuilder</code> | nodes to validate |
**Example**
```js
const nodes = sdk.init(module).add('encodeURI', { icon: 'encode.svg' })
.method('encode', { name: 'Encode URI' })
.parameter('uri', { type: 'string' })
.output('encoded', { context: '$.encodedURI', schema: { type: 'string' } })
.action((req, cb) => cb.encoded(null, encodeURI(req.params.uri));
sdk.validate(nodes);
```
<a name="module_axway-flow-sdk..handler"></a>

@@ -357,4 +387,4 @@

| --- | --- | --- |
| req | <code>Request</code> | The [`Request`](module:axway-node-sdk~Request) object. |
| cb | <code>flowCallback</code> | The output [`callback`](module:axway-node-sdk~flowCallback). |
| req | <code>Request</code> | The [`Request`](#module_axway-flow-sdk..Request) object. |
| cb | <code>flowCallback</code> | The output [`callback`](#module_axway-flow-sdk..flowCallback). |

@@ -373,3 +403,3 @@ **Example**

A callback function that your method
[`handler`](module:axway-node-sdk~handler) must invoke.
[`handler`](#module_axway-flow-sdk..handler) must invoke.

@@ -395,3 +425,3 @@ **Kind**: inner typedef of [<code>axway-flow-sdk</code>](#module_axway-flow-sdk)

| env | <code>object</code> | The application configuration. |
| params | <code>object</code> | The method params, as supplied during runtime (see [.parameter](module:axway-node-sdk~NodeBuilder#parameter)). |
| params | <code>object</code> | The method params, as supplied during runtime (see [.parameter](#module_axway-flow-sdk..NodeBuilder+parameter)). |

@@ -398,0 +428,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc