Narnia's Psychedelic Mushrooms

    axway-flow-graph

    3.3.3 • Public • Published

    axway-flow-graph

    Graph structure for parsing and manipulating flows

    API Reference

    axway-flow-graph~FlowValidator

    Helper for validating flows. The validation checks for:

    • no cyclical loops
    • no undefined nodes in the routing

    Kind: inner class of axway-flow-graph
    Access: public

    new FlowValidator(flowGraph, credentialManager)

    Create a flow validator.

    Param Type Description
    flowGraph object a FlowGraph instance
    credentialManager object a credentialManager

    flowValidator._strongconnect(vertex, stack, stronglyConnectedGroups)

    Using 'Tarjan's strongly connected components algorithm' to group strongly conencted nodes (loops).

    Kind: instance method of FlowValidator
    Access: protected

    Param Type Description
    vertex object The node/vertex to process.
    stack array The stack for vertex processing.
    stronglyConnectedGroups array The resulting list of strongly connected groups.

    flowValidator._parseParamValue(param) ⇒ object

    Parses a parameter to a given type.

    Kind: instance method of FlowValidator
    Returns: object - containing error code in 'error' or parsed value in 'data'.

    Param Type Description
    param object flow node param object
    param.type string type of data to parse. Defaults to jsonpaht
    param.value string stringified data to be parsed

    flowValidator._addValidationError(validationData, error)

    Adds a validation error to validationData

    Kind: instance method of FlowValidator

    Param Type Description
    validationData object Object containing the validation warnings and errors
    error object Object containg an error

    flowValidator._addValidationWarning(validationData, warning)

    Adds a validation warning to validationData

    Kind: instance method of FlowValidator

    Param Type Description
    validationData object Object containing the validation warnings and errors
    warning object Object containg an warning

    flowValidator.checkForLoops(validationData) ⇒ boolean

    Check for any closed loops in the graph. If there are loops loop chains are stored in validationData.errors.flowErrors.loops.

    Possible errors and error codes: type: loop code: INVALID_NODE

    Kind: instance method of FlowValidator
    Returns: boolean - true if there are loops detected.
    Access: public

    Param Type Description
    validationData object The object to add the validation errors to.

    flowValidator.checkForMissingRoutes(validationData) ⇒ boolean

    Check nodes that have connections to non-existent targets. If there are undefined connections the details are are stored in validationData.errors.nodeErrors[nodeId].missingRoutes.

    Possible errors and error codes: type: invalidNodeRoute code: INVALID_NODE

    Kind: instance method of FlowValidator
    Returns: boolean - true if there are missing routes detected.
    Access: public

    Param Type Description
    validationData object The object to add the validation errors to.

    flowValidator.checkForInvalidStart(validationData) ⇒ boolean

    Check start to see if it is an invalid type or pointing to a non-existant node. If start is invalid the details are are stored in validationData.errors.flowErrors.invalidStart.

    Possible errors and error codes: type: invalidStart code: INVALID_NODE

    Kind: instance method of FlowValidator
    Returns: boolean - true if start is invalid.
    Access: public

    Param Type Description
    validationData object The object to add the validation errors to.

    flowValidator.checkNodeOutputContext(validationData) ⇒ boolean

    Check that the flow node output contexts are valid JSONPath selectors. If output contexts are invalid, the details are are stored in validationData.errors.nodeErrors[nodeId].invalidOuputContext.

    Possible errors and error codes: type: invalidNodeOutput code: INVALID_JSONPATH

    Kind: instance method of FlowValidator
    Returns: boolean - true if there are invalid ouput contexts detected.
    Access: public

    Param Type Description
    validationData object The object to add the validation errors to.

    flowValidator.validate() ⇒ object

    Run checks on the flow and report validation errors as they are found.

    Possible errors and error codes: type: loop code: INVALID_NODE

    type: invalidNodeRoute code: INVALID_NODE

    type: invalidStart code: INVALID_NODE

    type: invalidNodeOutput code: INVALID_JSONPATH

    Kind: instance method of FlowValidator
    Returns: object - the validation report
    Access: public

    axway-flow-graph~FlowGraph

    Kind: inner class of axway-flow-graph

    new FlowGraph()

    FlowGraph object

    new FlowGraph(flowId, flowdef)

    Creates an instance of FlowGraph.

    Param Type Description
    flowId string The id of this flow.
    flowdef object The flow definition.

    flowGraph._ensureVertex(vertexId, info) ⇒ object

    Ensures that a vertex will exist

    Kind: instance method of FlowGraph
    Returns: object - the vertex which matched or was created.
    Access: protected

    Param Type Description
    vertexId string the ID of the vertex
    info object info to be set on the vertex. If vertex already exists, the info will be merged with the existing info.

    flowGraph._deleteVertex(vertexId)

    Deletes a vertex from the graph

    Kind: instance method of FlowGraph
    Access: protected

    Param Type Description
    vertexId string the id of the vertex to delete

    flowGraph._getVertexChildren(vertexId, output, [idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the children of a vertex in the flow

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the child vertices of a vertex in the flow

    Param Type Description
    vertexId string the Id of the vertex to get children for.
    output string the vetex output to get the children for.
    [idsOnly] bool if the vertex idsOnly should be returned rather than the vertices

    flowGraph._getVertexParents(vertexId, [idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the parents of a vertex in the flow

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the parent nodes of a vertex in the flow

    Param Type Description
    vertexId string the Id of the vertex to get parents for.
    [idsOnly] bool if the vertex ids should be returned rather than the vertices

    flowGraph._ensureEdge(output, fromId, toId) ⇒ object

    Ensures that an edge will exist between any two vertices. If any of the vertices do not exist, they will be created.

    Kind: instance method of FlowGraph
    Returns: object - the edge which matched or was created.
    Access: protected

    Param Type Description
    output string the vertex output group the edge belongs to.
    fromId string the ID of the vertex where the edge starts
    toId string this ID of the vertex where the edge ends

    flowGraph._deleteEdge(fromId, output, toId)

    Deletes an edge from one node to another. Removes the parent/child where necesarry from each vertex.

    Kind: instance method of FlowGraph
    Access: protected

    Param Type Description
    fromId string the vertex where the edge starts
    output string the vertex output group the edge belongs to.
    toId string the vertex where the edge ends

    flowGraph._deleteEdges(fromId, toId)

    Deletes the edges from one node to another (across all outputs). Removes the parent/child where necesarry from each vertex.

    Kind: instance method of FlowGraph
    Access: protected

    Param Type Description
    fromId string the vertex where the edge starts
    toId string the vertex where the edge ends

    flowGraph._setValidation(validation)

    Sets the validation state on the flow definition

    Kind: instance method of FlowGraph
    Access: protected

    Param Type Description
    validation object the validation state

    flowGraph._getOutputRoutes(nodeId) ⇒ object

    Gets a list of all nodes which a node may route to grouped by output.

    Kind: instance method of FlowGraph
    Returns: object - A map of IDs for routes from the node specified grouped by output.
    Access: protected

    Param Type Description
    nodeId string the ID of a node to get routes for

    flowGraph._onChange()

    Generates a unique symbol of the flow. Should be called whenever the flow changes.

    Kind: instance method of FlowGraph

    flowGraph._buildGraph()

    Build a graph from the flow definition.

    Kind: instance method of FlowGraph
    Access: protected

    flowGraph._buildVertex(nodeId)

    Builds a vertex for a nodeId

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string The nodeId from which to build a vertex.

    flowGraph.changeNodeName(nodeId, name)

    Sets the name of a node

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string Node ID
    name string New node name

    flowGraph.changeMethod(nodeId, method, nodehandler)

    Modifies the method of a node to match a new spec

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string The id of the node to update.
    method string the method to use
    nodehandler object the node handler in use

    flowGraph.insertNode(node, nodeId) ⇒ string

    Inserts a node into the flow graph.

    Kind: instance method of FlowGraph
    Returns: string - - the inserted nodeId

    Param Type Description
    node object The node to insert.
    nodeId string The id of the node to insert. If supplied, it must be unique. If not supplied, the node id will be generated.

    flowGraph.deleteNode(nodeId)

    Delete a specific node from the flow.

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string the id of the node to delete

    flowGraph.deleteRoute(output, fromId, toId)

    Delete the output route from one node to another.

    Kind: instance method of FlowGraph

    Param Type Description
    output string the output to delete the route for.
    fromId string the node id the routes are being deleted from.
    toId string the node id being removed from the routes.

    flowGraph.deleteRoutes(fromId, toId)

    Delete all the output routes from one node to another.

    Kind: instance method of FlowGraph

    Param Type Description
    fromId string the node id the routes are being deleted from.
    toId string the node id being removed from the routes.

    flowGraph.setStart(nodeId)

    Sets a node as the start node for the flow.

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string The start node for the flow.

    flowGraph.unsetStart()

    Clears the start node for the flow. This action will make the flow invalid.

    Kind: instance method of FlowGraph

    flowGraph.addParameter(nodeId, name, value, [type])

    Adds a parameter to a node in the flow

    Kind: instance method of FlowGraph

    Param Type Default Description
    nodeId string the node id
    name string the name of the parameter
    value string the value of the parameter
    [type] string "jsonpath" the type of the parameter.

    flowGraph.updateParameter(nodeId, name, prop, newValue)

    Updates a parameter from a node in the flow

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string the node id
    name string the current name of the parameter
    prop string | object the field to update (name
    newValue string the new value of the prop specified if it is a string

    flowGraph.removeParameter(nodeId, name) ⇒ object

    Removes a parameter by name from a node in the flow

    Kind: instance method of FlowGraph
    Returns: object - the parameter that was removed

    Param Type Description
    nodeId string the node id
    name string the name of the parameter

    flowGraph.addAuthorization(nodeId, name, value, [type])

    Adds a authorization parameter to a node in the flow

    Kind: instance method of FlowGraph

    Param Type Default Description
    nodeId string the node id
    name string the name of the parameter
    value string the value of the parameter
    [type] string "jsonpath" the type of the parameter.

    flowGraph.updateAuthorization(nodeId, name, prop, newValue)

    Updates a authorization parameter from a node in the flow

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string the node id
    name string the current name of the parameter
    prop string | object the field to update (name
    newValue string the new value of the prop specified if it is a string

    flowGraph.removeAuthorization(nodeId, name) ⇒ object

    Removes a authorization parameter by name from a node in the flow

    Kind: instance method of FlowGraph
    Returns: object - the parameter that was removed

    Param Type Description
    nodeId string the node id
    name string the name of the parameter

    flowGraph._addParameter(location, nodeId, name, value, [type])

    Adds a parameter to a node in the flow

    Kind: instance method of FlowGraph

    Param Type Default Description
    location string the parameter location, one of: parameters
    nodeId string the node id
    name string the name of the parameter
    value string the value of the parameter
    [type] string "jsonpath" the type of the parameter.

    flowGraph._getParameter(location, nodeId, name) ⇒ object

    Gets a parameter from the node by name

    Kind: instance method of FlowGraph
    Returns: object - the parameter

    Param Type Description
    location string the parameter location, one of: parameters
    nodeId string the node id
    name string the name of the parameter

    flowGraph._getParameterIndex(location, nodeId, name) ⇒ object

    Gets a parameter index from the node by name

    Kind: instance method of FlowGraph
    Returns: object - the parameter index

    Param Type Description
    location string the parameter location, one of: parameters
    nodeId string the node id
    name string the name of the parameter

    flowGraph._updateParameter(location, nodeId, name, prop, newValue)

    Updates a parameter from a node in the flow

    Kind: instance method of FlowGraph

    Param Type Description
    location string the parameter location, one of: parameters
    nodeId string the node id
    name string the current name of the parameter
    prop string | object the field to update (name
    newValue string the new value of the prop specified if it is a string

    flowGraph._removeParameterByName(location, nodeId, name) ⇒ object

    Removes a parameter by name from a node in the flow

    Kind: instance method of FlowGraph
    Returns: object - the parameter that was removed

    Param Type Description
    location string the parameter location, one of: parameters
    nodeId string the node id
    name number the name of the parameter

    flowGraph._removeParameter(location, nodeId, index) ⇒ object

    Removes a parameter by index from a node in the flow. Does not trigger change.

    Kind: instance method of FlowGraph
    Returns: object - the parameter that was removed

    Param Type Description
    location string the parameter location, one of: parameters
    nodeId string the node id
    index number the index of the parameter

    flowGraph.updateOutputContext(nodeId, name, value)

    Modifies the JSONPath context of an output

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string the node id
    name string the name of the output
    value string the new JSONPath context

    flowGraph.connectNode(sourceId, sourceOutput, targetId)

    Connects a node output to the specified target.

    Kind: instance method of FlowGraph

    Param Type Description
    sourceId string The source node for the connection.
    sourceOutput string The output in the source node for the connection.
    targetId string The id of the target node to connect to.

    flowGraph.disconnectNode(sourceId, sourceOutput, targetId)

    Disconnects a target node from a parent node's source and output.

    Kind: instance method of FlowGraph

    Param Type Description
    sourceId string The source node for the connection.
    sourceOutput string The output in the source node for the connection.
    targetId string The id of the target node to connect to.

    flowGraph.isEmpty() ⇒ boolean

    Indicates if the flow is empty, with no nodes.

    Kind: instance method of FlowGraph
    Returns: boolean - true if the flow is empty.

    flowGraph.getName() ⇒ string

    Gets the name of the flow from flow info meta-data.

    Kind: instance method of FlowGraph
    Returns: string - The flow name.

    flowGraph.setName(name)

    Sets the name of the flow.

    Kind: instance method of FlowGraph

    Param Type Description
    name string The flow name.

    flowGraph.getDescription() ⇒ string

    Gets the description of the flow from flow info meta-data.

    Kind: instance method of FlowGraph
    Returns: string - The flow description.

    flowGraph.setDescription(description)

    Sets the description of the flow.

    Kind: instance method of FlowGraph

    Param Type Description
    description string The flow description.

    flowGraph.getSymbol() ⇒ symbol

    Get the unique symbol of the flow

    Kind: instance method of FlowGraph
    Returns: symbol - the flow symbol

    flowGraph.getDefinition() ⇒ object

    Gets the definition of the flow

    Kind: instance method of FlowGraph
    Returns: object - the flow definition

    flowGraph.getGraph() ⇒ object

    Gets the graph representation of the flow

    Kind: instance method of FlowGraph
    Returns: object - the flow graph representation

    flowGraph.getId() ⇒ string

    Gets the Id of the flow

    Kind: instance method of FlowGraph
    Returns: string - the flow id

    flowGraph.getEdges() ⇒ Array.<object>

    Gets the edges of the flow graph

    Kind: instance method of FlowGraph
    Returns: Array.<object> - the edges of the graph

    flowGraph.getEdge(output, fromId, toId) ⇒ object | null

    Get the edge between two nodes.

    Kind: instance method of FlowGraph
    Returns: object | null - the edge between two nodes. Null if no edge exists.

    Param Type Description
    output string the node output the edges belong to.
    fromId string the ID of the vertex where the edge starts
    toId string this ID of the vertex where the edge ends

    flowGraph.getVertices([idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the vertices of the graph

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the vertices of the graph

    Param Type Description
    [idsOnly] bool if the vertex ids should be returned rather than the vertices

    flowGraph.getNodes([idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the nodes of the flow

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the nodes of the flow

    Param Type Description
    [idsOnly] bool if the node ids should be returned rather than the nodes

    flowGraph.getChildren(nodeId, output, [idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the children of a node in the flow

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the child nodes of a node in the flow

    Param Type Description
    nodeId string the Id of the node to get children for.
    output string the node output to get the children for. If omitted then all children are returned.
    [idsOnly] bool if the node idsOnly should be returned rather than the nodes

    flowGraph.getParents(nodeId, [idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the parents of a node in the flow

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the parent nodes of a node in the flow

    Param Type Description
    nodeId string the Id of the node to get parents for.
    [idsOnly] bool if the node ids should be returned rather than the nodes

    flowGraph.getTerminalNodes([idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the terminal nodes of the flow

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the terminal nodes of the flow

    Param Type Description
    [idsOnly] bool if the node ids should be returned rather than the nodes

    flowGraph.getVertex(vertexId) ⇒ object

    Get the vertex which matches the ID specified

    Kind: instance method of FlowGraph
    Returns: object - a vertex in the graph

    Param Type Description
    vertexId string the ID of the vertex to return

    flowGraph.getNode(nodeId) ⇒ object | null

    Get the node which matches the ID specified

    Kind: instance method of FlowGraph
    Returns: object | null - a node in the flow, or null

    Param Type Description
    nodeId string the ID of the node to return

    flowGraph.getNodeUnsafe(nodeId) ⇒ object

    Get the node which matches the ID specified and will throw an error if node was not found. Call this if you expect the node to exist

    Kind: instance method of FlowGraph
    Returns: object - a node in the flow

    Param Type Description
    nodeId string the ID of the node to return

    flowGraph.getValidation() ⇒ object

    Get the validation state of the flow

    Kind: instance method of FlowGraph
    Returns: object - the validation state of the flow

    flowGraph.registerValidator(validator)

    Registers a FlowValidator type class to the flow. When validation is run, this class will be used to validate the flow.

    Kind: instance method of FlowGraph

    Param Type Description
    validator FlowValidator A class which is a FlowValidator

    flowGraph.validate() ⇒ object

    Validate the flow - check all the nodes, no cycles, syntax, etc. Update the definition to make validation report available to clients

    Kind: instance method of FlowGraph
    Returns: object - the validation state

    axway-flow-graph~FlowGraph

    Kind: inner class of axway-flow-graph

    new FlowGraph()

    FlowGraph object

    new FlowGraph(flowId, flowdef)

    Creates an instance of FlowGraph.

    Param Type Description
    flowId string The id of this flow.
    flowdef object The flow definition.

    flowGraph._ensureVertex(vertexId, info) ⇒ object

    Ensures that a vertex will exist

    Kind: instance method of FlowGraph
    Returns: object - the vertex which matched or was created.
    Access: protected

    Param Type Description
    vertexId string the ID of the vertex
    info object info to be set on the vertex. If vertex already exists, the info will be merged with the existing info.

    flowGraph._deleteVertex(vertexId)

    Deletes a vertex from the graph

    Kind: instance method of FlowGraph
    Access: protected

    Param Type Description
    vertexId string the id of the vertex to delete

    flowGraph._getVertexChildren(vertexId, output, [idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the children of a vertex in the flow

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the child vertices of a vertex in the flow

    Param Type Description
    vertexId string the Id of the vertex to get children for.
    output string the vetex output to get the children for.
    [idsOnly] bool if the vertex idsOnly should be returned rather than the vertices

    flowGraph._getVertexParents(vertexId, [idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the parents of a vertex in the flow

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the parent nodes of a vertex in the flow

    Param Type Description
    vertexId string the Id of the vertex to get parents for.
    [idsOnly] bool if the vertex ids should be returned rather than the vertices

    flowGraph._ensureEdge(output, fromId, toId) ⇒ object

    Ensures that an edge will exist between any two vertices. If any of the vertices do not exist, they will be created.

    Kind: instance method of FlowGraph
    Returns: object - the edge which matched or was created.
    Access: protected

    Param Type Description
    output string the vertex output group the edge belongs to.
    fromId string the ID of the vertex where the edge starts
    toId string this ID of the vertex where the edge ends

    flowGraph._deleteEdge(fromId, output, toId)

    Deletes an edge from one node to another. Removes the parent/child where necesarry from each vertex.

    Kind: instance method of FlowGraph
    Access: protected

    Param Type Description
    fromId string the vertex where the edge starts
    output string the vertex output group the edge belongs to.
    toId string the vertex where the edge ends

    flowGraph._deleteEdges(fromId, toId)

    Deletes the edges from one node to another (across all outputs). Removes the parent/child where necesarry from each vertex.

    Kind: instance method of FlowGraph
    Access: protected

    Param Type Description
    fromId string the vertex where the edge starts
    toId string the vertex where the edge ends

    flowGraph._setValidation(validation)

    Sets the validation state on the flow definition

    Kind: instance method of FlowGraph
    Access: protected

    Param Type Description
    validation object the validation state

    flowGraph._getOutputRoutes(nodeId) ⇒ object

    Gets a list of all nodes which a node may route to grouped by output.

    Kind: instance method of FlowGraph
    Returns: object - A map of IDs for routes from the node specified grouped by output.
    Access: protected

    Param Type Description
    nodeId string the ID of a node to get routes for

    flowGraph._onChange()

    Generates a unique symbol of the flow. Should be called whenever the flow changes.

    Kind: instance method of FlowGraph

    flowGraph._buildGraph()

    Build a graph from the flow definition.

    Kind: instance method of FlowGraph
    Access: protected

    flowGraph._buildVertex(nodeId)

    Builds a vertex for a nodeId

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string The nodeId from which to build a vertex.

    flowGraph.changeNodeName(nodeId, name)

    Sets the name of a node

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string Node ID
    name string New node name

    flowGraph.changeMethod(nodeId, method, nodehandler)

    Modifies the method of a node to match a new spec

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string The id of the node to update.
    method string the method to use
    nodehandler object the node handler in use

    flowGraph.insertNode(node, nodeId) ⇒ string

    Inserts a node into the flow graph.

    Kind: instance method of FlowGraph
    Returns: string - - the inserted nodeId

    Param Type Description
    node object The node to insert.
    nodeId string The id of the node to insert. If supplied, it must be unique. If not supplied, the node id will be generated.

    flowGraph.deleteNode(nodeId)

    Delete a specific node from the flow.

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string the id of the node to delete

    flowGraph.deleteRoute(output, fromId, toId)

    Delete the output route from one node to another.

    Kind: instance method of FlowGraph

    Param Type Description
    output string the output to delete the route for.
    fromId string the node id the routes are being deleted from.
    toId string the node id being removed from the routes.

    flowGraph.deleteRoutes(fromId, toId)

    Delete all the output routes from one node to another.

    Kind: instance method of FlowGraph

    Param Type Description
    fromId string the node id the routes are being deleted from.
    toId string the node id being removed from the routes.

    flowGraph.setStart(nodeId)

    Sets a node as the start node for the flow.

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string The start node for the flow.

    flowGraph.unsetStart()

    Clears the start node for the flow. This action will make the flow invalid.

    Kind: instance method of FlowGraph

    flowGraph.addParameter(nodeId, name, value, [type])

    Adds a parameter to a node in the flow

    Kind: instance method of FlowGraph

    Param Type Default Description
    nodeId string the node id
    name string the name of the parameter
    value string the value of the parameter
    [type] string "jsonpath" the type of the parameter.

    flowGraph.updateParameter(nodeId, name, prop, newValue)

    Updates a parameter from a node in the flow

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string the node id
    name string the current name of the parameter
    prop string | object the field to update (name
    newValue string the new value of the prop specified if it is a string

    flowGraph.removeParameter(nodeId, name) ⇒ object

    Removes a parameter by name from a node in the flow

    Kind: instance method of FlowGraph
    Returns: object - the parameter that was removed

    Param Type Description
    nodeId string the node id
    name string the name of the parameter

    flowGraph.addAuthorization(nodeId, name, value, [type])

    Adds a authorization parameter to a node in the flow

    Kind: instance method of FlowGraph

    Param Type Default Description
    nodeId string the node id
    name string the name of the parameter
    value string the value of the parameter
    [type] string "jsonpath" the type of the parameter.

    flowGraph.updateAuthorization(nodeId, name, prop, newValue)

    Updates a authorization parameter from a node in the flow

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string the node id
    name string the current name of the parameter
    prop string | object the field to update (name
    newValue string the new value of the prop specified if it is a string

    flowGraph.removeAuthorization(nodeId, name) ⇒ object

    Removes a authorization parameter by name from a node in the flow

    Kind: instance method of FlowGraph
    Returns: object - the parameter that was removed

    Param Type Description
    nodeId string the node id
    name string the name of the parameter

    flowGraph._addParameter(location, nodeId, name, value, [type])

    Adds a parameter to a node in the flow

    Kind: instance method of FlowGraph

    Param Type Default Description
    location string the parameter location, one of: parameters
    nodeId string the node id
    name string the name of the parameter
    value string the value of the parameter
    [type] string "jsonpath" the type of the parameter.

    flowGraph._getParameter(location, nodeId, name) ⇒ object

    Gets a parameter from the node by name

    Kind: instance method of FlowGraph
    Returns: object - the parameter

    Param Type Description
    location string the parameter location, one of: parameters
    nodeId string the node id
    name string the name of the parameter

    flowGraph._getParameterIndex(location, nodeId, name) ⇒ object

    Gets a parameter index from the node by name

    Kind: instance method of FlowGraph
    Returns: object - the parameter index

    Param Type Description
    location string the parameter location, one of: parameters
    nodeId string the node id
    name string the name of the parameter

    flowGraph._updateParameter(location, nodeId, name, prop, newValue)

    Updates a parameter from a node in the flow

    Kind: instance method of FlowGraph

    Param Type Description
    location string the parameter location, one of: parameters
    nodeId string the node id
    name string the current name of the parameter
    prop string | object the field to update (name
    newValue string the new value of the prop specified if it is a string

    flowGraph._removeParameterByName(location, nodeId, name) ⇒ object

    Removes a parameter by name from a node in the flow

    Kind: instance method of FlowGraph
    Returns: object - the parameter that was removed

    Param Type Description
    location string the parameter location, one of: parameters
    nodeId string the node id
    name number the name of the parameter

    flowGraph._removeParameter(location, nodeId, index) ⇒ object

    Removes a parameter by index from a node in the flow. Does not trigger change.

    Kind: instance method of FlowGraph
    Returns: object - the parameter that was removed

    Param Type Description
    location string the parameter location, one of: parameters
    nodeId string the node id
    index number the index of the parameter

    flowGraph.updateOutputContext(nodeId, name, value)

    Modifies the JSONPath context of an output

    Kind: instance method of FlowGraph

    Param Type Description
    nodeId string the node id
    name string the name of the output
    value string the new JSONPath context

    flowGraph.connectNode(sourceId, sourceOutput, targetId)

    Connects a node output to the specified target.

    Kind: instance method of FlowGraph

    Param Type Description
    sourceId string The source node for the connection.
    sourceOutput string The output in the source node for the connection.
    targetId string The id of the target node to connect to.

    flowGraph.disconnectNode(sourceId, sourceOutput, targetId)

    Disconnects a target node from a parent node's source and output.

    Kind: instance method of FlowGraph

    Param Type Description
    sourceId string The source node for the connection.
    sourceOutput string The output in the source node for the connection.
    targetId string The id of the target node to connect to.

    flowGraph.isEmpty() ⇒ boolean

    Indicates if the flow is empty, with no nodes.

    Kind: instance method of FlowGraph
    Returns: boolean - true if the flow is empty.

    flowGraph.getName() ⇒ string

    Gets the name of the flow from flow info meta-data.

    Kind: instance method of FlowGraph
    Returns: string - The flow name.

    flowGraph.setName(name)

    Sets the name of the flow.

    Kind: instance method of FlowGraph

    Param Type Description
    name string The flow name.

    flowGraph.getDescription() ⇒ string

    Gets the description of the flow from flow info meta-data.

    Kind: instance method of FlowGraph
    Returns: string - The flow description.

    flowGraph.setDescription(description)

    Sets the description of the flow.

    Kind: instance method of FlowGraph

    Param Type Description
    description string The flow description.

    flowGraph.getSymbol() ⇒ symbol

    Get the unique symbol of the flow

    Kind: instance method of FlowGraph
    Returns: symbol - the flow symbol

    flowGraph.getDefinition() ⇒ object

    Gets the definition of the flow

    Kind: instance method of FlowGraph
    Returns: object - the flow definition

    flowGraph.getGraph() ⇒ object

    Gets the graph representation of the flow

    Kind: instance method of FlowGraph
    Returns: object - the flow graph representation

    flowGraph.getId() ⇒ string

    Gets the Id of the flow

    Kind: instance method of FlowGraph
    Returns: string - the flow id

    flowGraph.getEdges() ⇒ Array.<object>

    Gets the edges of the flow graph

    Kind: instance method of FlowGraph
    Returns: Array.<object> - the edges of the graph

    flowGraph.getEdge(output, fromId, toId) ⇒ object | null

    Get the edge between two nodes.

    Kind: instance method of FlowGraph
    Returns: object | null - the edge between two nodes. Null if no edge exists.

    Param Type Description
    output string the node output the edges belong to.
    fromId string the ID of the vertex where the edge starts
    toId string this ID of the vertex where the edge ends

    flowGraph.getVertices([idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the vertices of the graph

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the vertices of the graph

    Param Type Description
    [idsOnly] bool if the vertex ids should be returned rather than the vertices

    flowGraph.getNodes([idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the nodes of the flow

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the nodes of the flow

    Param Type Description
    [idsOnly] bool if the node ids should be returned rather than the nodes

    flowGraph.getChildren(nodeId, output, [idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the children of a node in the flow

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the child nodes of a node in the flow

    Param Type Description
    nodeId string the Id of the node to get children for.
    output string the node output to get the children for. If omitted then all children are returned.
    [idsOnly] bool if the node idsOnly should be returned rather than the nodes

    flowGraph.getParents(nodeId, [idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the parents of a node in the flow

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the parent nodes of a node in the flow

    Param Type Description
    nodeId string the Id of the node to get parents for.
    [idsOnly] bool if the node ids should be returned rather than the nodes

    flowGraph.getTerminalNodes([idsOnly]) ⇒ Array.<string> | Array.<object>

    Gets the terminal nodes of the flow

    Kind: instance method of FlowGraph
    Returns: Array.<string> | Array.<object> - the terminal nodes of the flow

    Param Type Description
    [idsOnly] bool if the node ids should be returned rather than the nodes

    flowGraph.getVertex(vertexId) ⇒ object

    Get the vertex which matches the ID specified

    Kind: instance method of FlowGraph
    Returns: object - a vertex in the graph

    Param Type Description
    vertexId string the ID of the vertex to return

    flowGraph.getNode(nodeId) ⇒ object | null

    Get the node which matches the ID specified

    Kind: instance method of FlowGraph
    Returns: object | null - a node in the flow, or null

    Param Type Description
    nodeId string the ID of the node to return

    flowGraph.getNodeUnsafe(nodeId) ⇒ object

    Get the node which matches the ID specified and will throw an error if node was not found. Call this if you expect the node to exist

    Kind: instance method of FlowGraph
    Returns: object - a node in the flow

    Param Type Description
    nodeId string the ID of the node to return

    flowGraph.getValidation() ⇒ object

    Get the validation state of the flow

    Kind: instance method of FlowGraph
    Returns: object - the validation state of the flow

    flowGraph.registerValidator(validator)

    Registers a FlowValidator type class to the flow. When validation is run, this class will be used to validate the flow.

    Kind: instance method of FlowGraph

    Param Type Description
    validator FlowValidator A class which is a FlowValidator

    flowGraph.validate() ⇒ object

    Validate the flow - check all the nodes, no cycles, syntax, etc. Update the definition to make validation report available to clients

    Kind: instance method of FlowGraph
    Returns: object - the validation state

    axway-flow-graph~objectToArray(object, map) ⇒ Array.<string> | array

    Converts an object into an array of keys or values

    Kind: inner method of axway-flow-graph
    Returns: Array.<string> | array - an array of values based on the map.

    Param Type Description
    object object the object to convert into an array
    map function | bool if true, return all the keys of the object if false, return all the values of the object if function, map object keys to array values.

    axway-flow-graph~validateJsonPathSelector(path) ⇒ object

    Validates a JSONPath selector

    Kind: inner method of axway-flow-graph
    Returns: object - - Validation error only if the selector is not valid

    Param Type Description
    path string JSONPath selector to validate

    Building

    npm run build

    Author

    Axway support@axway.com https://axway.com

    License

    This code is proprietary, closed source software licensed to you by Axway. All Rights Reserved. You may not modify Axway’s code without express written permission of Axway. You are licensed to use and distribute your services developed with the use of this software and dependencies, including distributing reasonable and appropriate portions of the Axway code and dependencies. Except as set forth above, this code MUST not be copied or otherwise redistributed without express written permission of Axway. This module is licensed as part of the Axway Platform and governed under the terms of the Axway license agreement (General Conditions) located here: https://support.axway.com/en/auth/general-conditions; EXCEPT THAT IF YOU RECEIVED A FREE SUBSCRIPTION, LICENSE, OR SUPPORT SUBSCRIPTION FOR THIS CODE, NOTWITHSTANDING THE LANGUAGE OF THE GENERAL CONDITIONS, AXWAY HEREBY DISCLAIMS ALL SUPPORT AND MAINTENANCE OBLIGATIONS, AS WELL AS ALL EXPRESS AND IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO IMPLIED INFRINGEMENT WARRANTIES, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, AND YOU ACCEPT THE PRODUCT AS-IS AND WITH ALL FAULTS, SOLELY AT YOUR OWN RISK. Your right to use this software is strictly limited to the term (if any) of the license or subscription originally granted to you.

    Install

    npm i axway-flow-graph

    DownloadsWeekly Downloads

    173

    Version

    3.3.3

    License

    SEE LICENCE IN LICENSE

    Unpacked Size

    165 kB

    Total Files

    7

    Last publish

    Collaborators

    • nkeranova
    • axway-npm
    • cb1kenobi
    • jamie.peabody
    • awam
    • bladedancer
    • axway_darnaudov
    • ddimonov-axway
    • neon-axway
    • vchauhan
    • mdimitrova
    • pdzhorev
    • axway_alasdair
    • pltod2
    • npetrovski-axway
    • pbozhkovaxway
    • mbonchev-axway
    • axway-vertex
    • cdobrica